JavaOneで発表されているProject Avatarというものに興味があり、いろいろ調べてみました。
来年にリリース予定だそうですが、次のOracleのクラウド・デバイスに対してのクロスプラットフォームアプリケーションを開発するための解決策であるフレームワークだと思います。
Avatarは、
HTML5をベースとしたクライアント・フレームワークです。これまでのWebシステムではサーバサイドでMVCを持ち、Viewを生成してクライアントに返していましたが、モバイルアプリケーションはオフラインなどでも実行できるようになる必要があるため、クライアント側にMVCを持ち、これまでとはアーキテクチャが異なってきます。
クライアントでMVCを持つことに加え、サーバサイドのModel(データベース)とクライアントのModelをバインドできるように、REST、JSON、WebSocketsなどがサポートされるようです。これを「
Thin-Server Architecture (TSA)」と呼んでいるようです。
(以下はJavaOne 2012のプレゼン資料から抜粋)
今後のアーキテクチャは、マルチプラットフォームに対応できるアーキテクチャが求められてくるため、こういったものが流行っていくんではないかと思います。でも、ちょっと前にAdobe
FlexやMicrosoft
Silverlightでもこういったフレームワークが提供されていた気がするので、大きな目新しさは少ないかもしれないですね。
また、JavaOne 2012では開発ツールであるProject Easelというものが発表されました。これは、NetBeansのpluginとChromeのExtensionから構成されており、HTML5ベースのプロジェクトを作成してコーディングし、デバッグ時にブレークポイントやステップ実行などを行えるというものです。また、コーディングはクライアントサイド・サーバサイド共にロジックはJavaScriptで書くことができるようです。そのため、クライアントからサーバまでトータルで
NetBeansで開発できるようです。
期待度が高いですが、
CoffeeScript、
Dart、
JSXなどといろんなJavaScriptの代替の言語が出てきている今、JavaScriptに対する不足感があるのでいろんなものが出てきているんではないかと考えています。そのため、Project Easelも開発言語はエンジニアが多いJava(
GWT(Google Web Toolkit)のようにJava→JavaScriptのようなものを提供。)でよかったんではないかと個人的には思います。