前回に続いてトーキョーギークスタイル(TGS)に登壇しました。「Webアプリのアーキテクチャの歴史と進化」について話しました。セミナー資料を公開します(過去文書含めて、上部の「ドキュメント」メニューからたどれます)。
セミナー後、Webアプリの歴史がDIまでって中途半端じゃないですかと指摘を受けました。その指摘は正しいと思います。私的メモではもう少し先のPlay Frameworkまでの史観を作っていました。
セミナーでの説明をDIでやめた理由は、それ以上話すと内容が更に散漫になりそうだったことと、評価の定まっていない動向を語るのに躊躇したこと、そしてそもそもPlay Frameworkを語って新しい動向も知ってますアピールをして自己満足したいだけではないかと自己分析してしまったからです。
ここに書く分にはどうでもいいので手元で作っていた私的史観を下記に載せます。
こういう史観を公開すると、あの技術が抜けている、けしからんと憤る人がいそうです。
その技術に思い入れの強い人であれば憤りは理解します。でもあまり怒らないでください。Webアプリも10年以上の歴史があります。その間のすべての言語、すべての動向まで把握はできません。史観に対して、表層しか知らない技術も取り上げて網羅性を上げる努力をする立場と、知らないものを分かっているかのように書くのは不誠実だと思う立場の違いがあります。個人的には後者のスタンスです。だから抜けはあります。不完全だと憤らず、別の視点があればコメントなり、自分のブログで引用して修正するなりしてもらえればと思います。明らかな認識間違いは指摘してもらえれば助かります。
そもそもJavaとRubyだけで語っているので、そういう制約付きの史観と思って見てください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
Webアプリアーキテクチャの私的史観 基軸 - J2EE - Ruby on Rails - Spring Framework - Java EE6 - Play Framework J2EE - 3 tier - Web以外のフロントエンドも考慮 - WebコンテナとEJBコンテナの分離 - MVC - Webにステートフルの世界 - テンプレート言語 - サーバサイドセッション - ORM前夜 Ruby on Rails(RoR) - フルスタックMVC(all-in-one) - CoC(Convention over Configuration) - DRY(Don't Repeat Yourself) - scaffold機能 - CRUDを意識 - テスト駆動開発(TDD) - URLルーティング(フロントコントローラパターンの単なる言い換え) Spring Framework1 - DI(POJO) - AOP - ORM全盛(Hibernate) Spring2、Java EE5 - Annotation(宣言的プログラミング) - ステレオタイプ(CDI) - EL(ビュー式) - コード自動生成(Spring Roo) Play1.x - RoRの世界をJavaに持ち込む - ホットデプロイ - Heroku(クラウド) Play2.0 - type-safeテンプレートエンジン(GroovyからScalaへシフト) - Anorm(ORMからSQLへの振り子) - cf. LINQ(C#) - cf. Arel(RoR) - Akka(http://akka.io/) 既に来た潮流 - Web API - RESTful(ステートレスへの振り子) - AJAX - JSON 終わりそうな潮流 - SOAP - 非HTML5のリッチクライアント - XSLT 来つつある潮流 - CI(継続的インテグレーション) - HTML5 - NIO/async - WebSocket - クラウド - scalability(拡張性) + elastic(伸張性) - スマートフォン - NoSQL - OpenID/OAuth |
最近のコメント