2000年から2010年、2020年ぐらいのWeb開発変遷
2000年代
Web 2.0 サービスとしきりに言われていた2005年以降にRuby on Railsが普及した。MVC2と呼ばれる新興のWebアプリケーションフレームワークがたくさん生まれた時期。
Web 2.0の中心がソーシャルネットワークやUGMだったので、それらを世の中に提供したいエンジニアたちには、目的が素早く達成できる道具として(比較対象はStruts等)、CGI/PerlやPHPと並んで好まれる選択肢だった。
2010年代
iPhone 3Gが発売されて以降どんどんモバイルアプリ化していった時代。仮想DOMとかパブリッククラウドとかコンテナとか今主流になっている技術が徐々に普及していった。
2020年代
Web3としきりに言われていた世代になるであろうので、2つの時期の技術的な時代背景や環境を比較してみてこの先の動向を占いたい
リッチなユーザーインターフェースを作るための技術
Ajax(2005年)
Google MapsによってJavaScriptを使ってリッチ(動的)なユーザーインターフェースを作成できることが示された。
この頃のユーザーインターフェースのリッチ化の時流はFlashプラグインだった。
Ajax、Ruby on Rails、Web 2.0。2005年を彩ったWebテクノロジー
React(2013年〜)
現在ではJavaScriptのViewライブラリがこの役割を伴う。Flashは死んだ。
この時点でReactは「魔改造PHP何か」やThriftなどと並ぶFacebookの謎技術の1つぐらいの位置付けだった気がしている。
巨大SNSを支える多言語混在RPC開発フレームワーク“Thrift” - @IT
PHPのJITコンパイラ「HipHop Virtual Machine」、Facebookがオープンソースで公開 - Publickey
以下は描画パフォーマンスを出すdiffアルゴリズムを解説する記事。なんでこんなに書き換えが早いのというところに注目していた。
サーバーのホスティング先
EC2(2006年)
この頃はAWSというより「EC2というものが出た」という認識だった記憶がある。ウェブ系企業(これも死語かもしれない)が本番環境で使いはじめるのはまだ先で、まだデータセンターを契約していたと思う。
開発者の獲得を狙うウェブ企業--アマゾンがEC2サービスを始めた理由 - CNET Japan
Heroku(2008年)
謎にクラウドIDEサービスだったらしい初期Heroku。2010年前後にリリースされたサービスのインフラになっていることが多かった。
ブラウザで Ruby on Rails 開発! Heroku を使ってみよう - WebOS Goodies
Google App Engine(2008年)
Python(のちにJava)ランタイム+非リレーショナルデータベースしか使えなかったためマイナーだった。しかし、逆にGAE用に独自フレームワークを作るのが流行っていた。
Google App Engine-すべては20%プロジェクトからスタートした ─ @IT
Realm(2014年)
SQLiteより便利なDBM as ODMとしてアプリエンジニアに好まれていた。
次世代mobile版データベース"Realm"を使ってみた - Qiita
GoogleのFirebase(2015年)
Realtime Database部分だけだったが、オンライン同期エンジンが入ってモバイル向けDBaaSとしては前進した。今のSupabaseぐらいの認知度だった。
GoogleのモバイルBaaS「Firebase」がiOS/Android対応のオフライン機能を発表。React Nativeにも対応。Google I/O 2015 - Publickey
now(2016年)
今Vercelと呼ばれているやつ。Next.jsのSSRと組合さる前はあまり存在感なかった。
開発環境
coLinux(2004年)
GNU/LinuxやFreeBSDで動作するアプリケーションをこの頃Windowsで開発していた。人々はCygwinやcoLinuxを駆使してUNIX likeな開発環境を作っていた。
意外と速い! Windows上でそのまま起動できるcoLinux:UNIX USER 2004年11月号特別企画より転載(1/3 ページ) - ITmedia エンタープライズ
VMware Player(2005年)
PCエミュレータに激震か、VMware Playerをフリーソフトウェアとして提供 (MYCOM PC WEB) (archive.org)
TextMate(2005年)
WindowsからMac OS Xにする→Rails書く→TextMate使う。みたいな流れがあった。
Vagrant(2010年)
触りだけでも便利なVagrant - komagataのブログ
Docker(2013年)
アプリケーションの実行環境
Firefox (2005年)
Firefoxがかなり使われていた時期