FlashコンテンツをHTML5に置き換えて改めて思ったこと

先日Flashのアップデートがあって、その影響なのか艦これウィジェットがエラー吐きまくる現象が頻発してイラっとしてました。

艦これウィジェットの件とは完全に関係ないけど、うちの会社で運用してる企業サイトの一つで、トップページのFlashをHTML5化したんですよ。
結構苦労させられたんだけど、まぁなんとか動いている模様。

今回の移行で、「やっぱHTML5はまだ早いよ」と改めて思いました。
環境が整っていなさすぎます。


まず大きいのが、オーサリングツールの問題。
今回はAdobe Edge Animate使ってコンテンツ作成したけど、コレの完成度がイマイチというか、まだまだだな、という感じ。
UIとか使いやすさは良好なんだけど、機能的にね。
Flash Professionalと比べると、やりたいことがやりづらい。というかやれない事が多い。

Flashだとメインのswfから別のswfを動的に読み込んで再生とかできるから、基本となるローダーFlashと、内部で動作する個々のコンテンツFlashを別々に作って管理できたりして便利だったんだけど、Edgeだと未だそこまでは出来ないから、一つに纏めたデカイプロジェクト作るしか無いんだよね。
プロジェクト管理が面倒だし、更新も面倒。
現状だとFlashで同じもの作るよりコストが掛かる。
将来的に分割できるようになる気がしないし。

うちはCreative Cloud入ってるから、Adobeのアプリ使いたい放題だからいいけど
CC入ってない所(Web屋で入ってない会社は無いと思うけど、個人とか)だと、イマイチ普及してないし書籍も参考サイトも少ないEdgeに手を出しづらいってのもあるだろうなぁ。

Google Web Designerがもうちょい進化して無料のままリリースされれば、もう少し状況が変わってるかもしれんけど。
全然バージョンアップしないよね・・・。

オーサリングツールなんか使わずにメモ帳でゴリゴリ書けよ!なんでもできるぞ!
なんて意見は当然却下。コストかかりすぎ。

次に、やっぱりHTML5の動かない環境(ブラウザ)がまだ1割以上残ってること。
IE8以下で閲覧してるユーザーを切り捨てるだけのメリットはあるのか?という問題なのですが、

今回移行した企業の場合、IE8以下の閲覧者は15%近く存在しているのですが、
スマホでの閲覧者も同じくらい存在していて、その企業の社長がiPhone大好きな人なので
「人数同じならIE切り捨ててiPhoneで見れるようにしてよ」
と言われちゃった。

まぁ閲覧者同数で、且つ今年7月でXPが終了→買い替えでIE8以下のユーザーが減る、と考えれば
正しい判断なのかなぁ、とは思う。

HTML5とFlash両対応って提案はめでたく却下。コストが倍ってのは通らないみたい。
うちとしてもやりたくないしね。
結局あのサイト、IE8以下で見ると画像が一枚表示されるだけになった。

ブラウザ間の互換性の問題も未だにある。
昔に比べてだいぶマシになったとはいえ、あります。
canvas使ったアニメーションでChromeだけ表示が数ドットずれるってなんだよ。
今回はこの数ドットズレ程度の問題は無視したけど。致命的じゃないし。
今後大きな問題でてきたらどうしようかなぁ。

Firefoxでは動くけどChromeでは動かないHTML5のデモとか、今でも偶に出てくるよね。IEは論外だったり。
凝った事やろうとするとブラウザ互換性が壁になって悪戦苦闘する状況ってのは、インターネットが本格的に普及し始めた20年前から変わってない。

Flashはコレが一番の強みだと思う。FlashPlayerが入ってればどんなOSでもブラウザでも同じに動くんだもん。
JavaよりよっぽどWrite once, run anywhereだよ。

最後に、うちの仕事では今のところ無いけど、艦これみたいなゲームは作れないよね。
いや、動作を再現することは簡単にできるだろうけど、内部処理が丸見えなのが問題。普通にテキストベースのJavaScriptで配信されるんだから。
まぁ艦これみたく、ほとんどの処理をサーバ側でやってクライアント側では表示処理しかしない作りにして、そこは見られても構わないと割りきってしまえば可能・・・なのか?
オンラインゲームって本来そうあるべきだと思うけど、なるべくサーバ負荷掛けたくないからある程度クライアントに処理させようとするよね。


IE8以下の問題はもうすぐ解決するとして、
オーサリングツールが進化しないと中々移行できないね。
Adobe Edgeもたしか、正式バージョンがリリースされてから一度もバージョンアップしてないし。
互換性の問題も、あと何年掛かることやら。

あ、VISTAのことすっかり忘れてた。VISTAが生きている限りIE8も生きてるやん・・・だめやん・・・

あー、あと実行速度の問題もあるのか。
いくら最近のブラウザがJITコンパイラを搭載してJavaScriptが高速実行できるようになった!と言われても、JITコンパイラでネイティブ化できるのは変数の型が変わらない部分だけ。
最近のJavaScriptライブラリの多くはオブジェクトに後からfunctionやプロパティをくっつけたりしまくるケースが多いから、実はそれほどJITが効いていないんじゃないかと思う。
JavaScriptは多様性が高すぎる言語だから、そもそもJITコンパイルが難しいんだよね。
いっそJavaScriptから置き換わる新言語を作ったほうがいいんじゃないか、と思うけど、多分ソレがGoogleのDartなんだよね。
去年末にECMAが標準化を開始したってニュースがあったけど、JavaScriptに置き換わるにはHTML5が普及するよりさらに時間掛かりそうだなぁ。


追記
Windows XP向け主要ウイルス対策ソフト、少なくとも1年はサポート継続 – ITMedia
寿命延びるやんけ・・・

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

認証のために問題を解いて下さい * Time limit is exhausted. Please reload CAPTCHA.