Home > ActionScript3, Flex > Flex SDK , Google Dart

Flex SDK , Google Dart

11月 19th, 2011

Flex SDKがApacheに寄贈されるらしい。

http://sourceforge.jp/magazine/11/11/17/0456235

これはAndroid等モバイル向けFlash Playerの開発終了とも関連して

http://blogs.adobe.com/conversations/2011/11/flash-focus.html

HTML5でのwebアプリ開発が今後のメインになっていく事を踏まえての事のようですね。
スマホ等モバイル向けAIR実行環境は引き続きサポートされるとの事。

ジョブズご存命の頃必死になってFlash Playerの普及に尽力していた事もあってコストがかかりすぎたんでしょうかねえ。。
でもおかげで、Flex frameworkも相当軽くなりました。ソーシャルゲームのUI開発等に使用すると非常に保守性が高くて便利です。

FlexのMXMLはView上にカスタムクラスをぼこぼこのっけていくタイプ、一方HTMLは、ViewのDomを直接書き換えて操作するタイプなのでxml+scriptですが、若干スタイルが違いますね。

とは言えPC向けFlash Playerは、まだまだ健在です。Stage3Dが追加されGPUでの3D等の処理も行えるようになり(ショックウェーブでもできてましたが)3DのMMORPGなんかもブラウザ上で実現できるようになりました。WebGLが普及すればこの辺もどうなるか分かりませんが。

Flash vs HTML5 なんてのがずっと話題になってたんですが、いまいちしっくりこないなあと思っていたんですが、HTML5ってのはjavascriptやsvgなんかも含んだ定義になっていると考えるとまだ問題を孕んでる感は否めないです。

個人的にはクライアントサイドの「静的言語or動的言語」は、EcmaScript 4th Edition (AS3)の放棄によってすでに片がついてしまったという事になるのであればFlashを擁したくなってしまいます。

EcmaScript 4th EditionについてはAdobe同様Googleも支持していました。
Googleは Flash vs HTML5 抗争のさなかhtml5の普及促進をしつつFlash擁護をしているような状態で、ChromeにFlash Playerを入れてしまったり、Appleと違い、Android端末にもFlash Playerを載せる事に積極的でした。
もちろんhtml5はまだ仕様策定が完了していなかったので、各ブラウザごとに実装が異なり実用性に乏しかったという面もあるかもしれませんが、実のところFlash云々ではなく、保守性の高い静的型付け言語を大規模開発で利用できるメリットを残しておきたかったのかもしれませんね。

Googleが先日dartを発表した裏には、Googleの内部文書

http://markmail.org/message/uro3jtoitlmq6x7t

で言われているようにjavascriptのパフォーマンス上の問題と共に、静的型付け言語の開発効率や保守性についての利便性があるようにも思えます。

クライアント側で本来のパフォーマンスを発揮するにはブラウザがエンジンを実装する必要がありますが、google以外のブラウザでは当面はjavascriptに変換して使用するという利用方法になってしまいます。つまりjqueryなどのフレームワークと同様の扱いになるわけで、それを利用するメリットとなるとスピード等でなく開発効率保守性の高さという部分以外ありません。

シンプルなHello Worldもjavascriptに変換すると17259行にもなってしまう(笑)という事で早速槍玉にあげられてます。
https://gist.github.com/1277224

とは言えFlexなんかもそうですが、大規模開発でコード量が増えるとフレームワークの余剰コードはだんだん相殺されていきますからその分別の大きなメリットがあれば問題ないだろうとは思います。

googleもいろんなサービスやらgoogle waveやらを中途半端にやめてきてますから、この手の新しいものについて懐疑的な人が多いのではないかと思います。
dartを成功させるには、各ブラウザベンダーへの働きかけよりも、javascript変換での利用をまず促す必要があり、そのためには、開発効率や保守性の高さをアピールするのが一番の近道だと思います。

google app engineはもともとpythonでしたが、その後Javaになり、gwtが利用できるようになりました。
gwtというのは、Javaで書いてコンパイルするとjavascriptのコードに変換されるというもので、丁度今のdartと似たような役割なのかなと思います。
gwtの利用者がどのくらいいるのかは知りませんが、これを利用するメリットはやはり保守性の高さではないでしょうか。
(Javaに関してはAndroidでのOracleからの訴訟もあり、使用するのを避けたいという思惑もあったのかもしれません。)

dartの言語仕様やハイプやらにはあまり興味ありませんが、クライアント向けに静的型付け言語が利用できるのが、個人的には一番のメリットだったりします。

あとsvgに関しては、cssの仕様とだぶるところがたくさんある上にそれらの仕様に整合性がとれてない部分があったり、ブラウザの対応もまちまち・・・
この辺はMicrosoftがいろいろ言及してたと思うけど確かに正論を言ってたような。しかし過去が拭い去れない・・・

まあこれら企業は標準化のフォーマット策定にも関っているから、最終的にいいものが残るような形になっていってほしいですね。

admin ActionScript3, Flex

  1. No comments yet.
  1. No trackbacks yet.