クライアントサイド系を歴史も踏まえて振り返る


概要

  • クライアントサイド系の技術を改めて背景・歴史振り返る
    • クロスプラットフォーム系とJSフレームワーク系を中心に記載
    • 気になっている技術はFlutter/Electron
      • Angular/Vueは引き続きウォッチ

背景や歴史

スマホが出てくる前はマルチブラウザ対応が種だったが、Android/iOSも含めてクロスプラットフォームでの開発が必須な時代で、その状況に準じた製品が様々出てきている。

JQueryみたいなプリミティブなものは2010年前後に主流だった記憶があるが、その後AngularJSなどのデータバインティングとか少しずつ大きめの機能を持つようなJSフレームワークが出てきたように感じる。

※なお、RIA(Rich Internet Application)と言う言葉で総称され、Apach FlexやJavaFXやSilverlightなど様々なクライアントサイド技術の流行もあった。

クロスプラットフォームフレームワーク

こちらの記事を参考にさせていただきました。個人的にはElectronも気になっている。

  • Flutter
  • React Native
  • Xamarin
  • Unity

JSフレームワーク

  • 2014年頃の御三家イメージ
    • Angular
    • Backbone
    • Knockout
  • 2020年における御三家イメージ※参考:比較ページ
    • Aunglar
    • Vue
    • React

JSフレームワーク事情2020年始めThe State of JavaScript 2019を参考

長期政権のAngular

クライアントサイドといえば最大3年もあれば、次の技術になっているのが通例なイメージがある一方で、Angularは2012/6にAngularJS v1.0.0がリリース。その後2016/9に1系から2系になったかと思えば、リリースサイクルが変わり、2020/2にバージョン9が出ている。

多大な貢献のJQuery

併せてJQueryも以前は随分お世話になった。個人的には最近は触っていないが、利用しているプロジェクトもまだまだあるのではないかなと想像。

AltJS

もう最近はこの言い方をしないのかもしれないけれど、コンパイルするとJavaScriptが出力される言語。言わずもがなTypeScriptが前提となるケースが多い。例えば、AngularもTypeScriptが推奨となっている。CoffeScriptなども流行した。

AltJSはJavaScriptの人気を示していると感じる。少しずれるがJVM言語系のScalaやGroovyも同様にJavaの人気を示しているなと。

サーバーサイドJavaScript

今回主としては取り上げないが、node.jsなどのサーバサイドJavaScriptも流行しており、JavaScriptの人気を改めて示している。

まとめ

現時点では以下の形でまとめられることが多いように感じるけれど、時代背景に応じて数年後にはまた違った形になっていくかもしれない。例えば、今流行しているAIとかその辺の技術につられて何か出てくるとか。

  • クロスプラットフォーム
  • JSフレームワーク
  • AltJS