最近、HTML5 について多くの議論があり、多くの人が HTML5 の登場によって Flash はすぐに消滅してしまうと考えており、主要な Web フロントエンド開発フォーラムでは多くの議論が行われています。フォーラムでのいくつかの言葉では私は満足できなかったので、私は自分の土地の 3 分の 1 エーカーでこの問題について話さなければなりませんでした。あなたも魔法の杖となって、Web フロントエンド開発の未来に期待してください。まず、ここで言う HTML5 とは、HTML5 そのものを指すのではなく、HTML5、CSS3、JavaScript、新しいブラウザ API に含まれる Web フロントエンド技術全体を指します。
HTML5 が必要なのは誰ですか?
Google がそれを最も必要としています。 Apple Jobs にもそれが必要です。しかし、この2人には間違いなく独自の目的があります。 Microsoft にとっては関係ありません。とにかく、Microsoft はまだ Silverlight を持っています。
非営利団体である Mozilla/Firefox は、より崇高な目標を掲げ、w3c 標準をサポートしている可能性があります。 Opera のブラウザ市場シェアは非常に小さいため、おそらくまだあまり考えられていないでしょう。
Google のクラウド コンピューティング帝国には、RIA (Rich Internet Applications) リッチ インターネット アプリケーションをサポートするクライアントが不足しています。HTML5 が普及し、より多くのアプリケーションが BS モードに移行すると、Microsoft 帝国のデスクトップ ソフトウェアの生態環境が大きく脅かされることになるでしょう。長年切望されてきたGoogleが最大の恩恵を受けるに違いない。無料のオペレーティング システムを搭載したコンピュータで、MS Word と同様の機能を備えた無料の Google ドキュメントを使用できる場合でも、Microsoft Word に料金を支払いますか?オフィス アプリケーションに必要なのはブラウザ ウィンドウを開くだけなのに、それでもオペレーティング システムにお金をかけますか? Google の Chrome OS オペレーティング システム インターフェイスは、すでにこの意図を示しています。
ジョブズ氏は、HTML5 も必要としています。彼は、iPhone と iPad に Flash を組み込む必要がないように、ブラウザがビデオとオーディオをネイティブにサポートすることを望んでいます。もちろん、ジョブズ氏は iPhone OS に Flash を組み込むことを許可できません。そうでなければ、誰が App Store でゲームを購入するのでしょうか?同時に、ブラウザに基づいて多数のアプリケーションを実装できれば、ユーザーは Windows デスクトップ アプリケーションに固執することはなくなります。美しい Mac コンピューターが嫌いな人はいないでしょう。
彼らは、HTML5 が自社の制御下にない Flash を避けながら、ソフトウェア エコシステム全体に変化をもたらすことを期待して、より大きな野心を抱いて HTML5 を選択しました。
マクロメディアとその後のリーダーであるアドビは、インターネット アプリケーションの開発ニーズを把握し、Flash を継続的に改良し、ブラウザ自体の機能を超えたものにしました。大手ブラウザメーカーもこの種のアプリケーションの需要を見て、ブラウザに実装すべき機能に飽き足らず、数MB規模のプラグインで実装し、普及してきました。そこで私たちは HTML5 の推進にあらゆる努力を惜しまず、Flash をターゲットにしました。
ユーザーは HTML5 を望んでいますか?ユーザーが求めているのはテクノロジーではなく、アプリケーションとエクスペリエンスです。 Ajax を使ってハッピー ファームを実装できれば、それが Flash で作られているかどうかは誰も気にしないと思います。
開発者はHTML5を望んでいますか?それには成熟した HTML5+CSS3+JS 開発環境が必要であり、各ブラウザは統一されたユーザー エクスペリエンス、つまり標準との完全な互換性を提供する必要があります。新たな学習コストも追加する必要があります。
フラッシュのメリットは?
Flash は HTML5 よりもどのように優れているのでしょうか?性能、機能性は? HTML5 が、Flash のすべての組み込みオブジェクトと同様の DOM と、GPU 2D および 3D アクセラレーションを備えたらどうなるでしょうか。結局のところ、HTML5 はまだドラフトにすぎません。もちろん、Flash は継続的に更新することもできます。
開発グループ
Flash の利点は開発者にあると思います。10 年以上の蓄積を経て、多くの優秀なアーティスト、プログラマー、インタラクティブ デザイナーが Flash プラットフォームでのインタラクティブ メディアの開発に集中してきました。また、FLARToolKit、Touchlib、OpenCV、およびインタラクションや画像分析用のその他の C++ ライブラリなど、Flash プラットフォームに移植された無数のクラス ライブラリが AS バージョンを持つことも可能になりました。 RIA アプリケーションには、比較的成熟したオープンソースの Flex フレームワークがあり、より優れた RIA アプリケーション エクスペリエンスを顧客に提供するために、Ext などの Ajax フレームワークの代わりに Flex を使用しようとする企業が増えています。
持続可能な開発
FlashPlayer は、Adobe によって独占的に制御されるクローズド システムです。オープンな HTML5 標準と比較すると、これは弱点でもありますが、非常に柔軟であり、いつでも新しいテクノロジーや新しい機能を追加できます。 HTML5 はオープンスタンダードなので、頻繁に変更されることはありません。 Flash の改良とアップグレードでは、ユーザーは FlashPlayer プラグインをアップグレードするだけで済み、プラグインのアップグレードはユーザーに比べて軽量です。 HTML 標準の改善はブラウザのアップグレードを意味しますが、特に多くの人がまだブラウザとは何なのかを理解していないため、これは比較的負荷のかかるユーザー操作です。
HTML5 オープン標準が完成すると、そのライフサイクルは長くなりますが、現在では十分に先進的な機能ですが、10 年後になります。私たちが HTML4+CSS2+JS を使用し、Web アプリケーションを表現するのに十分だと満足していた頃と同じように、今日の Flash の継続的な改善によって開かれた世界を誰が想像できたでしょうか。おそらく 10 年後、HTML6 が Flash を駆逐するという話題について再び議論する必要があるでしょう。
Web アプリケーションを超えて
もし当時 SUN が Java アプレットに注目できていたら、おそらく今では Flash は存在せず、SUN は買収される立場にはならなかったでしょう。そして今、Adobe AIR によって Flash は Java アプレットを超え、Flash は Web を超え、ブラウザから脱却しました。 Flash は今日に至るまで機能が向上し続けており、マルチメディアの分野では兄貴分である Director のアプリケーション領域を常に圧縮しています。 Flash プラットフォーム上でのマルチタッチ、顔認識、ソケット通信同期、AR 拡張現実、リアルタイム ビデオなどの機能の実現により、Flash ソリューションを使用したインタラクティブなマルチメディア プロジェクトがますます増えています。
アドビが今後も Adobe AIR プラットフォームの機能を拡張し、パフォーマンスを向上させることを期待しています。 AIR 上で実装できるクロスプラットフォームのデスクトップ アプリケーションはますます増えています。
フラッシュのデメリットは?
FlashPlayer の著作権は非公開です。
swf ファイルの内容は比較的閉じられており、検索エンジンには適していません。
プラグインのセキュリティリスク。
Ajax テクノロジーの学習曲線と学習コストとの比較。
FlashPlayer のインストール率 94%!=100%。
iPhoneOSは明らかにFlashをサポートしておらず、iPadの初日注文12万台は大きな市場を開拓すると予想されている。
3D ハードウェア アクセラレーションはサポートされていません。 FlashPlayer が 3D ハードウェア アクセラレーションをサポートすると、既存の 2D ベクトル エンジンが書き換えられることは間違いありません。ShockWave 3D のパフォーマンスを考慮すると、FlashPlayer ハードウェア 3D で優れたユーザー エクスペリエンスを実現することは困難です。
HTML5 は Flash を何に置き換えますか?
機能: HTML5 はまだドラフトにすぎません。送信されたコンテンツから判断すると、さらに多くのセマンティック タグが追加されています。ブラウザを大規模な Flash プレーヤーに例えると、HTML5 は単なる追加にすぎません。新しいクラスと新しい API。これらの API は JavaScript によって呼び出されます。 HTML5 が Flash を完全に置き換えるには、少なくとも Flashplayer10 と同様の機能を提供する必要があります。これは問題にはなりません。WebSocket、WebSQL、WebGL、さらには WebQt、WebMFC を追加することは無限に可能です。あるいは、単にブラウザを大きな仮想マシンに変えて、Java のデスクトップの要望を満たします。十分な需要の勢いがあれば、これは問題になりません。
パフォーマンス: HTML5 の急進派によって書かれた多くの記事では、Flash の現在の非効率性がブラウジングのクラッシュを引き起こすと指摘しています。 Flash は本当に非効率なのでしょうか?それは間違いなく、Flash の乱用と不均一な Web フロントエンド開発者によって引き起こされているだけです。同様に、IE の JS エンジンを使用して Ajax 版の XX ファームを作成し、ページの広告アニメーションをすべて JS で作成する場合、それは非効率と呼ばれると思います。 Flash が本当に非効率的であるなら、なぜこれほど多くの Web ゲームが Ajax で作られていないのでしょうか?適切に最適化された Flash3D ゲーム シーンの多くは非常にスムーズですが、2D XX ファームでは Core 2 の速度が低下する可能性があるのはなぜですか?知識がなく中途半端な開発者は、ブラウザの応答性の低下やクラッシュの原因を常に Flash の非効率性のせいだと考えています。したがって、HTML5 が将来 Flash を置き換えたい場合は、効率的な 2D/3D グラフィックスおよびテキスト レンダリング エンジンと効率的な JavaScript エンジンが必要になります。これにより、ユーザー エクスペリエンスが向上します。すべてのブラウザ メーカーはこれらに対応する準備ができていますか? Chrome と Opera はこの道を進んでいるように見えます。
互換性: HTML4 標準は 10 年以上存在していますが、今日は fxckIE6 の CSS スタイル名も書き留めておきます。ブラウザの互換性、特に多くの機能を追加した後の HTML5 と CSS3 が最大の問題になります。 IE、Firefox、Chrome、Safari を支える大手企業はどのように連携しているのでしょうか?ここには、差別化された製品を開発するには、均一な機能を提供しなければならないという矛盾があります。 JS のパフォーマンス、タブ ブラウジング、同期されたコレクション、プラグイン、およびユーザー エクスペリエンスを向上させるその他の機能は、すべての方向で差別化を図っています。また IE 専用の ActiveX のようなものがあれば、HTML4 のメソッドはそのままにしておいたほうが良いでしょう。
開発モデル: Flash IDE は、最終的に Flash を実現するために、無数の優れたアーティスト、UI デザイナー、インタラクティブ プログラム デザイナーを結集します。これは、グラフィック デザインおよびインタラクティブ デザイン グループにおける Macromedia と Adobe の魅力にも関係しています。 HTML5 インタラクションは JavaScript を新たなレベルに引き上げるでしょう。そのためには間違いなく成熟した開発環境が必要になります。 DW+Firebug を続けますか?それとも、DW は新しい HTML5 インタラクティブ開発 IDE にアップグレードされるのでしょうか、それとも Microsoft VS がこれを行うのでしょうか、それとも Eclipse でしょうか?成熟した開発環境だけが才能を集め、無限の創造性を刺激し、より多くのコンテンツをもたらすことができます。コンテンツが豊富であれば、当然ながらより多くのユーザーが集まります。
導入: これが最も重要な問題です。このステップがなければ、すべてがゼロになります。新しいバージョンの Flash を導入するにはどうすればよいですか? 90% 以上のデスクトップシェアに基づいてプラグインを更新しても問題ありません。 HTML5 の導入とブラウザの更新方法、これは少し難しいので、粘り強い IE6 を見てください。 Microsoft がシステム ServerPack に IE アップデートを含めるよう提案しているのを聞いたことがありますが、このアイデアは良いとしか言いようがありませんが、独占禁止法の大ハンマーは間違いなく Microsoft を滅ぼします。では、ユーザーにブラウザをアップグレードするように誘導するにはどうすればよいでしょうか?これは、インターネットの「コア ユーザー」にとっては問題ではありません。現在、多くの人が HTML5 と CSS3 の一部の機能をサポートする Chrome 開発バージョンを使用しています。しかし、それらの「ライト ユーザー」は、毎日 Web ページを読むために使用するウィンドウとブラウザーの関係さえ理解していない可能性があります。これには、それをガイドする HTML5 キラー アプリケーションが必要です。「ライト ユーザー」は、テクノロジーに基づいてブラウザをアップグレードすることはほとんどなく、アプリケーションのニーズに基づいてのみアップグレードします。たとえば、YouTube は IE6 ユーザーをサポートしなくなったため、YouTube ビデオが好きなユーザーは、再度アクセスする前に IE6 にアップグレードすることになります。 HTML 標準との互換性が低いため、ユーザーは IE6 を更新することを選択しません。これは避けられません。では、HTML5 のキラー アプリケーションはどこにあるのでしょうか?それとも、それらはすべて YouTube の影響力と魅力を持っているのでしょうか?そして、そのような魅力のない Web サイトの場合、誰が率先して軽率に HTML5 をサポートし、ユーザーにブラウザのアップグレードを要求するでしょうか?これらの Web サイトは必然的に囚人のジレンマに陥り、囚人のジレンマが繰り返される中でゲームが繰り返し行われます。いよいよHTML5時代に本格的に突入します。このプロセスは短い場合も長い場合もあります。結局のところ、既存の Web フロントエンドが崩壊に至っていないのは、Flash などのプラグインや jQuery などの JS フレームワークの素晴らしいパフォーマンスのおかげです。
要約する
HTML5 はユーザー アプリケーションにとって緊急のニーズではなく、ソフトウェアの環境を変えようとするメーカーにとって戦略的なニーズです。
主要なブラウザのこれまでの実績を考慮すると、HTML5 の互換性はまだ不明であり、アプリケーションをすぐに移行するのは適切ではありません。
HTML5 には成熟した完全な開発環境が必要ですが、メモ帳とブラウザーでは対応できません。
HTML5 機能の爆発的な増加により、ブラウザには効率的なグラフィック エンジンとスクリプト エンジンが必要になります。
HTML5 には、ユーザーを惹きつけてブラウザをアップグレードし、最終的には HTML5 端末の導入を完了するキラー アプリケーションが必要です。
Flash は、強力な柔軟性を備えた常に進化するテクノロジーであり、HTML5 が Flash を完全に置き換えることはできず、多くの開発者は Flash を完全に放棄することはありません。
私は、Adobe AIR の開発が改善され、Flash がブラウザ Web アプリケーションを超え、より多くのアプリケーションを開発して、オペレーティング システムにまたがるようになることを願っています。
文/IT168