BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Webの未来を予測する - Richard Feldman氏のReactiveConf 2019での講演より

Webの未来を予測する - Richard Feldman氏のReactiveConf 2019での講演より

原文(投稿日:2019/11/03)へのリンク

プラハで行われたReactiveConf 2019Richard Feldman氏は、12年にわたるプロフェッショナルWeb開発の経験と、2013年のReactや2014年のElmのようなテクノロジのアーリーアダプタとしての自身キャリアを基に、2020年と2025年におけるWebの未来像の予測を描いてみせた。

Feldman氏の講演は、現在のテクノロジの進化を予測するということは、周囲の動向に盲目的に追従するよりも安全な賭けである、という仮定から始まった。この仮定が講演の以降の部分で、Web開発の将来を具体的に予測する上での基盤となっている。将来像として氏は、4つの具体的なレンズ、すなわちTypeScript、WebAssembly、Package、Compile-toJs言語を検討した。

TypeScriptは現在、ファーストクラスのサポートを備える、あるいは備えるための開発が進む、重要なフロントエンドフレームワークとともに注目を集めている。しかしながら、すべての人たちが両手を挙げて賛同している訳ではなく、その冗長性と、それがソースコードの可読性に与える悪影響を指摘する声もある。Feldman氏は、次のような複雑なタイプを例に挙げた。

ComponentClass <
  Pick < RouteComponentProps < any, StaticContext, any >, never >,
  any > &  
WithRouterStatics <
  (props:PropsWithChildren <
     RouteComponentProps < any, StaticContext, any >>
   ) => Element  
>

JavaプログラマはAbstractSingletonFactoryProxyBeanのような長いネーミングパターンが好きだから、TypeScriptをEnterpriseJavaScriptという名前にすれば、最高だ、と気に入ってくれるかも知れない、とFeldman氏はジョークを言った。

さらにFeldman氏は、TypeScriptの型システムについて、ある程度の安全性を提供してくれる反面、設計の面からは不安定であり、場合によっては誤ったセキュリティを提供する可能性もある、と説明した。

しかしながら、Feldman氏が重要視するのは、そのような技術的な欠点があるにも関わらず、TypeScriptにトライしたチーが使用を辞めたという話を聞かない、という事実である。そこから氏は、2020年にはTypeScriptが新たな商用JavaScriptプロジェクトにおいて最も一般的な選択になり、2025年にはTypeScriptを日々の作業で使用する人口が、TypeScriptを使わない標準的なJavaScriptのそれを上回るだろう、と予測している。

WebAssemblyは、JavaScriptアプリケーションやライブラリのパフォーマンスを改善する目的で使用することができる。Feldman氏はしかし、JavaScriptのパフォーマンス改善が将来のWebAssemblyの主要な用途であるとは考えていない。ほとんどのケースにおいて、JavaScriptのパフォーマンスは、一般的には満足のいくものとして受け入れられている事実があるため、限界的なスピード改善がWebAssemblyのゲームチェンジャになるとは考え難い、というのがその理由だ。それよりもFeldman氏がWebAssemblyの用途として考えるのは、ブラウザにおいてアプリストアやインストーラを補完するものとしての役割である。Feldman氏はFigmaを例として取り上げ、Web分散C++アプリケーションである、と説明した。分散プラットフォームとしてのWebは、シンプルなユーザエクスペリエンス(インストール不要)とディープリンク、その他の共有機能を提供している。

ネイティブアプリケーションはサイズが大きくなる傾向があるが、Webアプリの肥大化や巨大なペイロードが問題点として指摘されているにも関わらず、非Web環境では、大規模な、例えばPhotoshopのような高度なアプリケーションの巨大なバンドルが広く認知されている、とFeldman氏は主張する。それでもRustやC++、あるいはGo言語が、JavaScriptに取って代わることはないだろう。WebAssemblyは、ゲームなどの重量級のネイティブアプリケーションを取り込むことで、Webアプリのパイを広げるだろう、とFeldman氏は予測する。2025年には、wasmが大規模webアプリの新たなニッチを生み出すに違いない。

パッケージ管理に関しては、資金的な問題はあるものの、ネットワークの効果が大きい点から、npmが今後もその立場を維持するだろう、とFeldman氏は予測する。その一方で、2020年の終わりまでにnpm関連で1件の新たなセキュリティインシデントが発生し、2025年の終わりまでには少なくともひとつの悪意あるパッケージが、多数の開発者のマシンに感染することになるのではないか、という予測もしている。

JavaSciptにコンパイルされる(compile-to-JS)言語としてFeldman氏は、ClojureScriptReasonMLELmの3つを挙げた。Elmが主張するメリットを一通り紹介した後、Feldman氏は、JavaScriptの代替品はニッチには留まるが、これらを評価する企業が今後も使用を続けることによって、十分に枯れた技術になるだろうと予測する。2020年の終わりまで、compile-to-JS言語は拡大を続けるが、TypeScript普及度に匹敵するものは現れないだろう。2025年には非JavaScipt言語は十分に安定したものになるが、TypeScriptはそれらよりも広く普及しているはずだ。

ReactiveConfは年次で開催される開発者向けのカンファレンスで、最新のテクノロジやソフトウェア開発のトレンドに関する講演が行われる。第5回となるReactiveConf 2019は2019年10月30日~11月1日に開催された。

この記事に星をつける

おすすめ度
スタイル

BT