今日のつぶやき
[Twitter]今日のつぶやき ff.im/d67ZZ #
『Xtext』これも追いかけてみたい技術。"M"とXtext、どちらを軸にするか。Scala DSLとの棲み分けも考えたい。 ff.im/d6sG3 #
SimpleModelerのDSL基盤としてEclipse EMFを採用しなかったのは、テキストDSLがなかったことと、Eclipseから切り離して使えるのかよく分からなかったから。Xtextは前者の問題を解決する。 #
Xtext/EMFをEclipseから切り離して運用できるのか知りたいところ。コード生成器をサービスとして提供するといったことを考えると必要な機能。 #
gaej eclipse 1.3はchrome 4 & extensionが必須なのかな。 #
GWTのコンパイルをeclipseの中でやればchromeがなくてもいいみたい。 #
UiBuilderに空目したけどUiBinderだった。XAMLみたいなものなのかな。 #
UI based on 'GWT widgets' と 'HTML' の違いはextendsの親がCompositeかUIObjectの点だけなのかな。'GWT widgets'は部品にウィジェットが使えて、'HTML'はSpanのようなHTMLネイティブが使えるという感じかな。 #
部品の構成をUiBinderで宣言的に定義して、Javaでロジックという構造。ASP.NETのXAMLとC# partialの関係に似ているかも。構造の宣言と振舞いの手続きを分離するとこうなるところなんだろう。 #gwt2.0 #
UiBinderのui.xmlはHTMLの場合、HTMLネイティブ・タグだけで定義するのか。Javaの方はUIObjectをextends。 #
GWTには非常に期待していて、SimpleModelerでもGWTの自動生成を行っている。2.0向けに生成器を改良しないといけないなぁ。 #
HTML5によるRIAでは、GWTと生JavaScript(+jQuery)が二大勢力かなととりあえず予測しているので、PIMからGWTと生JS向けRESTの2つの実装を生成するようにしている。 #simplemodeler #
GWT普及のポイントはウィジェット。Ext GWTは商用とのデュアルライセンスで、オープンソース側はGPL v3。tatami(dojo)もGPL v3(と多分商用とのデュアルライセンス)。ちょっと使うのに躊躇する。 #
Smart GWTはLGPLなので、これは使いやすいかも。 #
Smart GWTはサーバサイドとUIビルダでビジネスするモデルかな。OSSコミュニティとの折り合いはよさそう。www.smartclient.com/product/index.jsp #
と思ったらLGPLなのはSmartClientで、Smart GWTはEnterprise Edition(商用)しかないのか。GWT=Java=Enterpriseということなのかな。むむむ。 #
GWTのウィジェットはライセンス問題でなかなかよい選択肢がない。デフォルトはかなり貧弱なのでこれだけでちゃんとしたアプリを作るのは難しい。コミュニティの規模を広げるという意味で無料で使えるウィジェットの充実が当面の隘路といえる。 #
Xtextでグラマーからmwe(Modeling Workflow Engine)のスクリプトでコード生成しようとしたらconfiguration error。ANTLRがeclipse.orgの基準に合わないとかで同梱できなかった件かな。 #
買い物待ちー。イマココ! L:神奈川県横浜市中区新港一丁目2 #
紅茶屋で一服。イマココ! L:神奈川県横浜市中区新港二丁目6 #
いぶすいせんとgalle fbopfだそうです。
f.hatena.ne.jp/twitter/20091219153302 #
XtextでBNFからDSLエディタ(エラー表示、入力補完付)が自動生成されるのは圧巻。ASTのメタモデルも自動生成される。このあたりは、PDC09で"M"のデモ見てきたのと大枠は同じ。 #
生成器はテキスト・テンプレート系のものが用意されているようである。簡単なものだと、BNFとテキスト・テンプレート(Xpand)で相当のことができそう。 #
ただ、本格的な応用だとASTから離れて独自のメタモデルを持って、2パスで内部構造を整えないといけないので、そのあたりのつなぎのメカニズムが必要になってくる。こういった用途向けにMWEとかGuiceによるDIといった仕掛けを用意しているみたい。 #
Xtextは内部構造がEMFになっていて、EMFとシームレスにつながるのが特長の一つ。ただ、グラフィカル・エディタ以外でEMFにつなげるメリットがあまり見えてこないというのはある。 #
EMFはUMLの主要な機能範囲をカバーするメタモデルなのかな(将来性も含めて)と思っていたのだけど、静的構造(クラス図)の範囲のモデルを記述する応用に留まっている印象。 #
EMFをメタメタモデル的に使って、状態機械や相互作用のメタモデルを定義して、これでモデルを記述するというアプローチもありそうだけれど、エディタなどの自動生成のサービスは受けられなくなる(と思う)。 #
EMFとは別に(EMFを内部で使ってるかもしれない・未確認)MDTというのがあって、これをベースにUML2を実現しているみたい。Xtextから見ると、相当離れたところにある感じなので、直接連携してどうこうということでもなさそう。 #
ScalaからXtextに乗り換えたとして、DSLエディタや(EMF経由で多分できる)グラフィカルエディタの自動生成以外は特別に幸せになれることはなさそう。ただ、DSL・グラフィカル・エディタの自動生成がかなり大きいわけですが。 #
ScalaにはIDEによるDSLエディタを期待していた面があるのだけれど、使い始めてから1年半以上経っても事態があまり進んでいないので、当面は望み薄かな。 #
DSLの基盤として、ScalaとXtext(EMF)はなんとなく状況がつかめた感じ。後は"M"だけど、どこから調べたものかな。 #
Automatically shipped by LoudTwitter