📣:Web開発のトレンドに適応したい方へ ✍️
はじめに🖐️
この情報をぜひご覧ください。ここでは、JSフレームワークとOSやブラウザの変遷をざっくりと確認できます。
通信技術の進化(3G、4Gなど)がどれほど大きな影響を与えたかがわかり、非常に興味深いです。
Webアプリケーション開発のためのフレームワークは、時代ごとに登場した「解決策」として進化してきました。本記事では、これらの技術が登場した背景を掘り下げ、それらがどのように問題を解決し、現代のフレームワークが持つ思想や特徴を深く理解することを目指します。
免責事項
調査の上で執筆していますが、あくまで私個人の見解です。少し強引な部分があるかもしれません。
目的 🧠
歴史を知ることで、「なぜこの技術はそのような構造を持っているのか」「なぜこの設計思想が重要なのか」といった背景を理解でき、将来的に新たなフレームワークや手法が登場したときにも、基盤となる文脈を把握し、より正確にその技術を吸収できるのではないかと考えています。
フレームワークとは?
フレームワークとは、Webアプリを作る際の雛形を指します。Next.jsやAngular.jsなど、Webアプリ開発には今や欠かせない存在です。
フレームワークとライブラリの違い
フレームワークはアプリ開発の枠組みを提供しますが、ライブラリは一部機能を提供するものです。フレームワークは、アプリケーションの設計や構造を定義し、再利用できる「部品」を提供します。
歴史を振り返りつつ因果関係を見てみましょう🏃♂️
ここからは、画像を見ながら進めていきましょう!
静的Webから動的Webへ:CGIの登場(1990年代)🌅
課題
初期のWeb(1990年代初頭)は、サーバーから返される静的なHTMLファイルのみで、動的なコンテンツを生成することができませんでした。これでは、検索機能や掲示板のようなサービスを実現することが困難でした。
解決策
CGI(Common Gateway Interface)は、サーバー側でプログラム(例:Perl)を実行し、動的にHTMLを生成する仕組みを提供。これにより、ユーザー入力に応じた動的コンテンツ生成が可能となり、Webは単なる静的な文書配布から、簡易的なアプリケーション基盤へと進化しました。
大規模開発への対応:JavaサーブレットとJSP(1990年代後半) 📝
課題
CGIは動的なコンテンツ生成には使えましたが、大規模なアプリケーション開発には向きませんでした。HTMLとロジックが混ざり、保守が難しく、コードの複雑さが増していきました。
こちらも読んでください: https://ceo.skysolution.com/blog/
解決策
JavaサーブレットはJavaという静的型付け言語を使い、処理ロジックの分割と整理を進めました。JSP(JavaServer Pages)を使うことで、HTMLとJavaコードを分離し、保守性が大幅に向上しました。
リッチなUIの要求とAjax(2000年代中盤)🎹
課題
ユーザー体験の向上を目指し、ページ全体の再読み込みなしで一部のコンテンツだけを更新するUIが求められるようになりました。しかし従来はページ全体のリロードが必要で、ユーザー体験が煩雑でした。
解決策
Ajax(2005年)は、非同期通信を利用して、サーバーから必要なデータだけを取得し、部分的に画面を更新する仕組みを提供。これにより、スムーズなUIが実現し、Webアプリケーションの進化が加速しました。