Javaアプレット、というかFlashSilverlight等々もまとめて死亡になったし、JavaWebStartも鳴かず飛ばずで雲行き怪しいので遺憾ながらJavaScriptをちょっと見てみる。
遣りたい事はJavaFX等でのRESTクライアントアプリの代替。REST一発でデータをある程度まとめて取ってきてローカルストレージに保存して以後のページングはローカルストレージを参照したい。更新も差分を纏めてREST一発が望ましい。
ちなみにJavaScriptは、他所のサンプル頁からのコピペ呪文をHTML中に埋めておくとマウスの周りに★が出る、位しか知らぬ。
うむ、これを読んでちょっとわかった気がするが、やっぱJavaScriptというかWebアプリは独特だな。
VC++MFC,Swing,JavaFX,Android等、今まで関わってきたGUIプログラムは、まず何らかの形式で画面のGUI部品(コントロール)の並び方を定義し、次に各コントロールが操作された時のイベントハンドラを作り、その中ではコントロールに対してメッセージを送る処理を記述する、なんだけど、JavaScriptイベントハンドラ中で、コントロールへメッセージングではなく、自らHTMLの断片即ちコントロールそのものを返す。マジか。何と不気味な。混然一体過ぎる。いや所詮はWebブラウザでだし、鯖側のPHPで書くかブラウザ側のJavaScriptで書くかなので結局そうするしかないのは分からんでもないが…酷い話だ。イベントハンドラでしくじったら画面が崩れるじゃん。FlashSilverlightもこんなバカな事はしない。多分しないと思う。しないんじゃないかな。なんでこんなのが流行るのか。ハイパーテキストでアプリは無理があるんだよ。ワープロのマクロでアプリを作る感。JavaなりC#なりちゃんとしたGUIフレームワークで普通のクライアントアプリ作る方が簡単だと思うが…配布がな。
本書の中では、JQuery、TypeScript(これってFWなの?)、Vue.js、Backbone.js、Angular、React、AureliaというFWが紹介されている。
ざっと見たがBackbone.jsがモデルとテンプレートがありWebストレージも使えて且つ利用準備が簡単そうで一番良さげに見えるが、本屋で書籍を見かけない所を見ると余り流行っていないようだ。あと、View,Modelと来てなんでContorolerではなくCollectionなんだろう。JQueryは名前だけ聞いた事がある。後発FWが色々出ている所を見ると大した事ないのだろう。Vue.jsはこれも余り書籍を見かけないので流行ってないようだ。AngularとReactは書籍を見かけるが、兎に角ビルドと起動までの環境構築が大変そうだ。Aureliaは「設定より規約を!」まで読んだ。規約なぁ…規約を全部暗記していれば能率的なのは間違いないが数年後まで完全暗記していられるだろうか。Angular,React,Aureliaは「コンポーネント志向」というからてっきり、MFCとかSwingのようにGUI部品に対してメッセージを送る感じのものかと思いきや、遣る事は他と同じで、処理をソースファイルの何処に書くかの話だった。一貫してればどっちでもいいよ。
それにしてもGWTがもっと流行っていればこんな事にはならなかったものを…。

JavaScript フレームワーク入門