ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

HTML5→REST/JSON(SPA)→JQuery→AngularJS→JAX-RS→JSR 371(MVC 1.0)をまとめてみる


「企業文化を創る究極のエンタプライズソフトウェア開発」の聞いてきた内容(個人的には異議あり!)
http://blog.goo.ne.jp/xmldtp/e/f7dcaec498107f63d8ffc21270a1dbb5

の話の続き。そもそも、会社の要望が、こう変わったんじゃなかったっけ?

・デザイナーでもユーザーでもだれでも、短時間でその場で作れてレビューできる
 GUIが必要になった

・どんな端末でも、ある程度すぐに使えるようにしてほしい。

・短期間で、それほど難しくなく開発してほしい

だれか優秀な人が短時間で出来たとしても、その人に頼ってしまう。
また、先輩から後輩に教えるというのでは、技術が陳腐化する
最新技術を取り入れながら、爆速に開発するには、
みんなが、開発できる必要がある。

そこで、ちょうどいいかんじに出てきたのが

  HTML5

で、HTML5なら、まあ、だれでも(ツールとか使えば)かけるし、
PCでもiPadでもスマホでもみれるし(なのでFlashあうと)・・
スマホファーストにして、スマホのとくにオフラインのときの
設計から考えていけば、まあ、PCでもタブレットでも、
見栄えが多少変かもしれないけど、まあまあ、いいかの画面になる。

そこでHTML5がでてきて、GUIに凝れるようになり、デザイナーさんに
画面を頼るようになった・・・




・・・ら、いままでのStrutsのような、画面にタグを入れる形式だと、
デザイナーさんだけで完結しない。HTML5の画面をプログラマがStruts
タグに代えなければならない。ここで時間ロスがでる。

 そこで、画面とサーバーを完全分離するため
   1.画面側はAJAXを使って、データをサーバーからとってきて、
     その内容をJavascriptでセットする
   2.サーバーは、GET/PUTの引数をもとに、データを返すだけ
 という形にしたくなった。

 そこで、1に対してRESTが、2の返すデータに対してJSONが
 使われるようになった。

 こうなると、もう、画面だけで、動きは完結するジャン!ということで、
SPAという考え方が生まれてきた




 そこまでくると、画面に動きを持たせたくなり、これが行いやすい

    JQuery

 が流行るようになる。そして大問題が起こった
 JQueryだらけになり、よくわからん・・・

 そこで、このプログラムの汚さを回避する為、
 クライアント側のJavascriptにフレームワークを導入するようになった。

 ここでフレームワークがいろいろ出てきたが、AngularJSの
   ・ディレクティブにJQueryを書きたければおしこめ
   ・そこでタグ等を定義し
   ・基本的にはタグは書くけど、JQueryを各プログラムにいれない
 という考え方が美しく、人気になった。




 そうなってくると、サーバー側もJSON形式を返しやすいフレームワークが求められる。
 それまで日本ではStrutsが人気であったが、Strutsは、どちらかというと、Strutsタグ
 をいれてビューまでつくるのに向いているもので、JSONで書き出すには無駄が多い
 (かけないわけではない。ただし、一般的なプログラマが気づくかどうかは?)

 で、もっと単純にJSONにできないかというと・・・
 サーブレットでもいいんだけど、まあ、Javaのほうで、ラブリーなものができてきた。
 それが

    JAX-RS




 ここまでくると、JavaのMVCは、どうあるべきか論がでてくる。
 JAX-RSを使って、RESTをベースにしたもんを考えるべきか
 いやいや、Strutsでしょう(というのは、日本だけ?とくにStruts1を言うのは)
 サーブレットでよくね?

 ・・・これらの議論をまとめようというのがJSR 371(MVC 1.0)

 だと思っている




なんで、HTML5の出現により、ある程度GUI側の問題は、解決しつつあるという認識
なんだけど・・違うんかなあ?