現時点において、iOS系のブラウザSafariではFlashを再生することができない。そのため、Youtubeなどの動画を扱うサイトでは動画の再生においてHTML5を代替手段として用いている。このことをフォールバックと言うらしい。
それぞれのWebブラウザ上で動画コーデックに対応していかなければならないが、iOS側はH.264を推している。以前、ChromeがH.264への対応を打ち切りにする、と報道されていたが、ChromeはFlashを同梱している。FlashではH.264を再生することが出来るため、逆に、HTML5のフォールバックとしてFlashが利用されることになるのではないか、という憶測が存在していた。
以前、Webブラウザ上でリアルタイムなやりとりを実現するためにCometという手法が存在していた。この技術をより改善したものがWebSocketという技術であり、TCP上で動作する。昨今の最新ブラウザはほとんどが対応の兆しを見せている。旧来のIE8,9のようなブラウザでは対応をしていない。しかしTCPなのでJavaやFlash上ではSocketを用いて実装が可能であり、ネイティブに対応していないブラウザではFlashへのフォールバックが手段として用いられる。
ファイルアップロードにおいても似たような事例がある。HTML5ではDataTransferオブジェクトを用いることでドラッグ&ドロップにてファイルのアップロードを実現している。Flashではドラッグ&ドロップを行うことはできない。HTML5ではmultiple属性によって複数ファイルのアップロードに対応しているが、レガシーブラウザでは対応できないため、Flashにフォールバックして複数ファイル対応するようなライブラリが存在する。
最新の事例では、ニコニコ動画が動画再生とコメント表示部分のUIを残して、コメント一覧のUIをHTML+jsに分離した、という流れもあった。
動画再生においてiOSではFlashの代替にHTML5が用いられ、H.264ではHTML5の代替としてFlashが憶測され、WebSocketではHTMLの代替にFlashが用いられている。
Flashの代替がHTML5であったのに、最近はHTML5の代替がFlashであるような事例が増えているなあと思った。