10年前 iPhone が誕生し, スマートフォンの時代になった今, 我々が望むものは, 実はモバイルアプリではないでしょうか?
現代のフロントエンド, もっと言うと JavaScript の開発では, コンポーネント指向による開発がほぼデファクトスタンダードになりました. それは, Facebook 社が生み出した JavaScript フレームワーク「React」の誕生を皮切りに, 一気に全世界的にコンポーネント指向が普及し, 現在に至ったと思っています. web ページの各要素・パーツをコンポーネントという単位に区切り, そこで JS や CSS のスコープを閉じることで, 再利用性も高めつつ責務を分ける, そして開発者は各コンポーネントを配置していく作業にシフトしていきました.
一方でモバイルアプリの開発を見ると, やることは大きく以下の2つだと思います.
・buttonなどのパーツの配置 ※スタイリングも含む
・イベントハンドラの設定
これは今我々フロントエンドエンジニアがやっている開発と, 酷似していると思いませんか?また, web の大きな流れとして, はじめは web だったのが, モバイルが誕生しモバイルファースト(レスポンシブ対応も含む)と言われる時代になり, それにより PWA や AMP という技術も産まれました.
このことから, web の進化はモバイルアプリの開発に寄っていると思えます. これ以外にも, パフォーマンス改善・UXUI の設計・アクセシビリティ・push 通知など色んな要素を考えないといけませんが, それはモバイルアプリケーション開発でも同様です.
以上を加味し, 一度 JavaScript フレームワークの歴史を振り返りつつ, 今後のフロントエンドの設計や開発に思いを語ってみたいと思います.