わかっていること
・アニメーション
・Flashクッキー
・動画、音声の再生
・複数ファイルのアップロード
・ブラウザの差異が小さい
JSの方が優れていることも教えてください。
ライブラリの揃いやブラウザの対応などトレンドは日々変わってくるので一概には言えませんが思いついたことを上げてみます。時間をかければもっと出てきそうです。
Flashが優れていること
JSが優れているところ
先に挙げられていないものを
Flashは
・ブラウザやプラットフォーム依存の壁を下げてくれる(普及率98%)
・グラフィックや3Dの描画が容易
・Flash Liteですがケータイで動く
JSは
・プラグインではないのでブラウザのデフォルト設定状態で動く
・FlashでもHTMLやJSとの連携や知識が必要な個所も多い
・FlashやFlexのような開発用アプリが無くても開発可能、修正や差し替えもエディタとFTPでできる
・動作確認やデバグがFlashに比べて楽
・上記に加えソースが閲覧できる等で、学習がしやすい
・AS3の記述は厳密だがJSは割と乱暴な書き方でも動いてくれる
・SEO面でFlashよりは有利
あとFlashの欠点としてユーザビリティーが低く、異常に重いFlashを作る自己満足クリエータが増えた、という弊害も挙げられるかと
ありがとうございます。
ブラウザごとの差異を考えると、JSの方がデバッグが楽かどうかは怪しい気もします。
ソースが閲覧できるのも、例えばGmailのJSも見れるでしょうが、解析が難しいことには変わらないですよね。
SEOもJSで動的に処理していれば効かないでしょうから、Flashと変わらないのでは?
マルチメディア関連を無視するとあんまり決定打がないですね
Flashのメリット
JSでもアニメーションは行えますが、Flashはベクトルデータによる描画なので、JSよりも滑らかで複雑なアニメーションが実現できます。また、Flashはオブジェクトを自由な形で自由に配置出来るため、デザインにも幅を持たせやすいと思います。
表現の面で幅があり融通も聞きやすく、バックグラウンドで他のプログラムを動かせばひとつのFlashで非常に多彩なことが出来るでしょう。
JSのメリット
Flashはスペックが低すぎると動作が苦しすぎます。また、プラグインがないと動かないのもある面では難点…。
また、フォントの色を変えるとか、そう言う簡単な機能を追加する場合、サイト全体をFlash化するのは馬鹿馬鹿しいですよね。
軽くてシンプルな分制約も多いのが難点じゃないかな。
そう言えば、FlashはJSを動かすってことが出来るそうです。なので両者を上手く活用できると、いいとこ取りのFlashサイトが作れるかも知れません。
確かに今のところ、両方使うのがいいのかなと思っていますが、決定打がないかなと。
見た目よりも機能、性能で比較すると何だろう。
右クリックをカスタマイズできるFlashも魅力ではありますが、別ウインドウで開けないのは嫌だなと。
Flash
ツールを使えばほぼマウス操作で作成することができる(オーサリングツールが存在する)
コンテンツ全体の拡大、縮小が容易
バイナリなので比較的高速に動作する
マウスのドラッグ&ドロップが必要な箇所に強い
JavaScript
比較的習得が簡単
音声ブラウザへの対応がしやすい
xsltを用いてhtmlを生成する過程で埋め込むことができる
特に設定無しで正規表現が利用可
64bit版のieで動作する
動作しない環境でもhtmlがそこそこ制御されていれば最低限の情報提供ができる
(flashが動作しない場合に情報提供が必要な場合は新しくコンテンツを作って提供する必要がある)
ありがとうございます。
>64bit版のieで動作する
これはFlashは動作しないという意味なのでしょうか?
音声ブラウザもGmailを読み上げたりできるのでしょうか?
SEOもそうですが、動的にデータを読む場合、変わらないのでは?
逆に静的ならFlashでも対応されています。
ドラッグ&ドロップもJSでもできますし、決め手にならないですね。
ありがとうございます。なるほどですね。
例えば、GoogleスプレッドシートなんかはFlashでもいいような気がしますが、htmlをとっている理由があるんだろうと思います。Gmailもそうです。JSの強みってなんだろなと。
JSがiPhoneで動きますが、FlashもFlashLite3くらいになら、対応させやすいということもあります。
いまどき、あんまりどっちでないとできないということも減ってきているんですかね?