最近のFlash騒動やHTML5/JS開発についてまとめ


AndroidブラウザのFlashPlayerの開発が終了したり、HTML5製の3Dコンテンツが出てきたりで、「Flash終わったの?」とか、「これからはFlashじゃなくて全部HTML5で作った方がいいの?」とか聞かれる事が増えてきたので、ちょっとまめとめてみました。

同じような境遇の方も少くないと思うので、参考程度にどうぞ。

AndroidブラウザFlashPlayerの開発終了について

残念なことにAndroidブラウザのFlashPlayerはバージョン11.1を最後に開発は終了することが発表されました。これについて「AdobeがFlashよりHTML5の方が優秀だと認めた」や「HTML5を推奨していたジョブズの完全勝利!」と考えている方もいるかと思いますが、実際のところどうなのでしょうか。

記事を参考に、開発終了の理由についてまとめてみました。

【参考記事】
Clarifications on Flash Player for Mobile Browsers, the Flash Platform, and the Future of Flash at Mike Chambers
モバイル版Flash Player、Flash Platform、そしてこれからのFlashについてはっきり言っておこうか。|F-site
モバイルFlash断念はAppleの拒絶が主因―Adobe幹部が説明|ITmedia ニュース
デバイス向け Flash Player 中止についてマイクの説明とその考察|akihiro kamijo

理由その1: iOS端末のFlashPlayerの非対応

周知の事実だと思いますが、iOS端末にFlashPlaeyrは搭載されていません。モバイル版Flash PlayerをPC版と同様に普及させる事を目的としていたAdobeにとって、スマホの中で 過半数 大きな割合を占めているiOS端末に搭載されないというのはもっとも大きな壁となっていました。そして今後も搭載されないだろうと見切りとつけ、モバイルブラウザについてはHTML5に絞って開発していくことになったようです。

理由その2: ブラウザよりアプリがユーザーに好まれている

モバイル端末でリッチコンテンツを閲覧する場合、ユーザーはアプリケーションだけを使う傾向があるようです。実際スマホ向けにリッチコンテンツを作るのであれば、アプリとして開発することが多いと思います。

ブラウザFlashPlayerの開発は行われませんが、モバイル向けAIRの開発は今後も引き続き進められていくようです。AIRとは、Flashを制作するのと同様にデスクトップや iOS、Androidなどで動作するアプリケーションを開発できる技術です。最近では動作パフォーマンスも実用的なレベルに進化しており、数多くのスマホ向けアプリがAIRで制作されています。

このAIRまで一緒に開発が終了してしまったと勘違いし、モバイルのFlashは終わったと思った方もいると思いますが、今後もAIRの開発は続いていくので、1ソースで Web PC向けWebコンテンツ、デスクトップアプリ、Androidアプリ、iOSアプリの開発するといったことも以前と変わらず今後も可能になります

理由その3: FlashPlayerの開発コスト

PC向けのFlashPlayerを開発する場合、FirefoxやChromeなどそれぞれのブラウザに対応する必要がありますが、Androidの場合ブラウザだけでなく実際に端末を制作しているメーカー等とも協力して開発する必要があります。

PCで主要なブラウザといえば指で数えれる程しかありませんが、Android端末を開発している各メーカーとなると世界中各国に存在します。当然これら全てに対応しなければならないため、PC版に比べると多大なリソースとコストがかかっていたようです。

※ これに関して、モバイルAIRの開発があるなら動作検証のコストはあまり変わらないのでは、という見解もあるようです。(参考

理由その4: モバイルブラウザのHTML5サポート率

モバイルデバイスにおいて、HTML5は高いサポートを受けており、デスクトップ環境におけるFlashPlayerに近いレベルで普及しています。パフォーマンスや互換性の問題もまだ多くありますが、驚くべきスピードで改良が進んでいます。

まとめ

PC版に比べて開発コストが高い割に、アプリに比べるとあまり使われておらず、更にiOSに搭載されないのでPC版のような普及率も見込めないので開発止めるわー、といったところでしょうか。単にHTML5の方がマルチプラットフォームで優秀なのでFlashPlayerを諦めたという理由ではないようです。

では、実際HTML5は今後Flashにとって変わる技術なのでしょうか?

HTML5、JavaScriptでのサイト制作の実情

モバイルに限らず、PC向けのサイトでもFlashではなくHTML5やJSを用いたインタラクティブなコンテンツが増えてきていますが、実際そういったコンテンツを作るに当たってのメリット/デメリットはなんなのでしょうか。

Flashとの比較ということで、いわゆるフルFlashサイトのようなものを作る前提で考えてみたいと思います。

HTML5で開発する場合

GizmodeさんでHTML5製の3Dコンテンツ(少しお粗末でしたが)が取り上げられたりと、Flashに近い表現ができると期待されていますが、実務レベルで考えるとまだまだ難しいと思います。

その理由として一番大きいのは、ブラウザによってはHTML5に対応しておらず、特にIE6~8では見れないということです。これはPCブラウザの過半数を占めるブラウザを切り捨てるということになるので、HTML5を選択した時点で大多数のユーザーは閲覧することができないということになります。

※ 2011年11月16日現在、日本におけるIE6~8のブラウザシェアは53.5%。(参考

HTML5に対応しているブラウザだったとしても、ブラウザによって仕様が異なり使えない機能なども存在します。もし、「PCでもiPhoneでもAndroidでも誰でも同じように見れるようにしたいからHTML5で開発したい」と考えている方はもう一度考え直した方がよいかもしれません



また、Flashに比べると数倍~の開発コストかかってしまうことも問題です。

HTML5は元々Flashの代わりなるように作られたものではないので、Flashと同じようなことが出来ると言っても、Flashと同じように作れる訳ではありません。例えるなら、Windowsに標準で搭載されているペイントを使ってサイトのデザインを作るようなものだと思います。まぁこの例えは極端ではありますが、ペイントを使った事がある人であれば「頑張れば出来ないことはないけど、しんどすぎるわ!」といったニュアンスが伝わるかと思います。

またHTML5では扱えない機能もあるので、Flashと同じものを作るということ自体不可能という場合もあります。Flashで出来ることは、全てHTML5でも出来るというのは幻想です

ただし、今HTML5は間違いなくトレンドですし現状それだけで注目を浴びることができるので、IEユーザーを切り捨てても問題がなく、予算にも余裕があるといった場合、HTML5でコンテンツを作るということも有効な手段の一つかと思います。

JavaScriptで開発する場合

まず最初に、「Flashが使われていないのに画像等が動いてるサイトは全てHTML5で出来ている」と思っている方が稀にいるようなので訂正しておきます。Flashじゃないからといって全てのコンテンツがHTML5で作られているとは限りません、むしろHTML5とか関係なくJSで作られている場合がほとんどです

JSの場合、IEでも閲覧できるのでHTML5のような問題はありませんが、やはりブラウザごとに仕様の違いがあり、Flashと同じように作れる訳ではないので、HTML5同様に開発コストは数倍~程度高くなります

また、iPhoneなどのiOS端末からでも見れるようにしたいのでFlashではなくJSで開発したいという話をよく聞きますが、ここにも一つ幻想が隠れています。実はiOSやAndroidでのJSの動作パフォーマンスは非常に低く、まともに表示することすらままならない場合も少なくありません。JSで作ったからiPhoneを含めどんな環境でも問題なく閲覧できるというのは幻想です

これは個人的な意見ですが、JSに関してはFlashの代用として使うのではなく、普通のHTMLサイトに動きをつけてちょっとリッチにしたり、より見やすく、より使いやすくするための+アルファの技術として使うのが一番しっくりくるような気がします。

あとがき

今後HTML5やJSに最適な環境やコンテンツがどんどん増えていくことになれば、Flashの出番は減り、HTML5やJSやのシェアが当然増えていくと思いますし、そうなっていくべきだと思います。

ただ、過度な誇張や嘘をついてまでどちらかを落とし入れたり、無理矢理に勝負をさせて負けた方は消え去らないといけないといったような雰囲気は、開発者やエンドユーザーを含めて不幸になる人がたくさん出てくると思うので、勘弁して欲しいなと思います。

Comments

  1. 匿名 より:

    実際の案件考えたらまだまだFlashは現役だと思うな。

  2. とおりすがり より:

    Adobeがブラウザを iPhone 用に作るとか、
    iPhone用のブラウザを開発してるところに、
    最初から組み込みでいれてもらうとか
    いろいろ手を考えてもらいたかったなと。

  3. TNK より:

    > スマホの中で過半数を占めているiOS端末

    Apple信者の希望的観測…というか、妄想では?
    中立的記事には見えないですね

    • Atsushi Kaga より:

      TNKさん、ご指摘ありがとうございます。
      おっしゃられる通り「過半数」という表現は不適切でした、訂正させていただきます。

  4. 間違いを発見 より:

    重箱の隅ですが、記事の間違いを発見したので指摘しておきます。

    今後もAIRの開発は続いていくので、1ソースでWeb、Androidアプリ、iOSアプリの開発するといったことは以前と変わらず今後も可能になります

    と書かれていますが、AIRはHTML5では動きません。
    ここで言われているWeb、というのはFlashプレイヤーの搭載されたWebブラウザ、という意味であれば意味は通りますが、記事の前後の関係からすれば

    今後もAIRの開発は続いていくので、1ソースでデスクトップ、Androidアプリ、iOSアプリの開発するといったことは以前と変わらず今後も可能になります

    が正しいのではないでしょうか?
    私の認識が間違っていたらすみません。

    • Atsushi Kaga より:

      ご指摘ありがとうございます。
      ここでの「Web」は、おっしゃられた通り「Flashプレイヤーの搭載されたWebブラウザ」の意味合いで使っています。
      「Web」という表記が曖昧だったため誤解を招いてしましました、申し訳ございません。
      デスクトップアプリも抜けておりましたので、追加して訂正させていただきます。

  5. @homeKABE より:

    某巨大掲示板を見ると「Flashを標準化(またはオープン化)しないAdobeが悪い」という意見が多々見られたが、今更Flashを標準化したり完全なオープンしても意味あるんかな。
    そもそもAdobeのFlash技術なんて欲しがる企業なんてあるのか? 

    SVG技術に弱くブラウザ実装が遅れている癖に、やたら「オープンにしろ!」,「オープンにしろ!」とうるさいAppleとか??

    参考:http://caniuse.com/#search=svg
    (これを見る限りMSは単に消極的なだけのようだがw)

  6. hogge より:

    すいませんコメント返信先間違えました。

    • 匿名 より:

      現時点ではブラウザベースのスマートフォン向けソーシャルゲームはiPhoneに対応しているものが少ない印象ですね。
      iPhoneに対応しているもの大半のアニメーションはswfファイルをHTML5にコンバートするツールを利用していないように見えますけど

  7. ll_koba_ll より:

    スマートフォン用のソーシャルゲームは、ほとんどのアプリでHTML5(というよりJavaScript)でのアニメーションが採用されていますが、そのなかの大半が、Flashで作ったものを、静的、または動的にコンバートしています。
    やはり良いツールあっての、仕組みや仕様だと思うので、開発者としては良いツールが普及してくれればよいなーと思います。

  8. Yasu より:

    >JSで作ったからiPhoneを含めどんな環境でも問題なく閲覧できるというのは幻想です。
    同意です。実案件でもHTML5で大規模案件を幾度か経験してきましたが、HTML5は後方互換性を謳っているものの結局それはデベロッパー側の対応を前提としたもので、IE6-8とiOSの両方を同時に満たすように実装するには途方も無い工数がかかりました。

    後方互換だけでなく前方互換も正直不安があります。iOS5やIE10で表示崩れが発生したりと、将来的なブラウザに対するコンテンツのメンテナンスも継続しなければならないと実感しています。

    HTML5のこの状況は将来的に改善されていくにしても、過度な誇張や嘘を報じるテック系メディアのやり方には憤りを感じます。

  9. KnockKnock より:

    非常に同感しました。
    これまでは選択肢がなさすぎたのでしょう。
    目的にあった選択ができれば、みんな幸せになれるのかなと思います。

  10. hrk より:

    Adobe Edgeの存在に触れてみてはいかがでしょう

  11. いくみ より:

    なるほどー!!

    • aaa より:

      >いわゆるフルFlashサイトのようなものを作る前提
      って言ってますよ。

      • hogge より:

        >bok
        >>HTML5を選択した時点で大多数のユーザーは閲覧することができない

        >それこそ誇張すぎです。。
        >IE6~8でも見られるよう書けば問題ないですし。

        IE6~8でHTML5は動きませんと書いてありますが。
        問題ありでしょう。

        また、IE6~8も見られるように書くということは、
        HTML5未満にする必要があり、HTML5という話題からそれますね。

  12. bok より:

    >HTML5を選択した時点で大多数のユーザーは閲覧することができない

    それこそ誇張すぎです。。
    IE6~8でも見られるよう書けば問題ないですし。

    • ななし より:

      IE6~8で見れたらHTML5ではないと思いますが?

      • e より:

        >IE6~8で見れたらHTML5ではないと思いますが?
        そんなことはありません、そもそもHTML5は古いブラウザでもある程度見れるように設計されていますので

        • SiN より:

          >>IE6~8で見れたらHTML5ではないと思いますが?
          > そんなことはありません、そもそもHTML5は古いブラウザでもある程度見れるように設計されていますので

          話がループしているような…

          前提が「いわゆるフルFlashサイトのようなものを作る前提
          」とあるので、
          その前提で解釈するならばIEのHTML5対応は表示できるものがある程度で、
          未対応と定義しても過言ではありませんね。

          ※あくまでも上記の前提でのみ成立する話ですが

  13. たむらはん より:

    良記事です!
    中立的で冷静な観点から書かれたこの評価は関係する人にとって非常にいい指針になると思います。

Comment