SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Adobe Developer Connection(AD)

「JavaからFlexへの移行で困ったこと? 一度もありませんね」 ― Adobe Flexのエキスパート達が語るRIA開発の最前線

  • このエントリーをはてなブックマークに追加

FlexとJavaの組み合わせによるWebアプリケーション開発

横田氏
時々「JavaからFlexへの移行」みたいなことが言われますが、サーバ側はJavaでも全然構わないんです。Seasar 2のDIコンテナであろうと、Springフレームワークであろうと、Strutsであろうと、サーバ側の作り方はほとんど変えずに、フロントだけをFlexにすればいいんです。実際、そうした作り方で困ったことは一度もありません。
上条氏
上条氏
クライアント側のデータモデルの抽象化さえできていれば、Flexではどういうフォーマットでデータを送るかということは問題になりませんよね。実際、Flexのクライアントから、Springのフレームワークを直接叩いてデータを取ってくるようなことができます。また現行の開発環境である「Adobe Flash Builder 4」からは、フォームとそれに付随するデータアクセスメソッドを簡単に自動生成できる機能もつきましたね。
轟氏
クライアントがJavaのサーバサイドからいかにきれいにデータを取り出せるか、というところがRIAのポイントだと思いますが、そういう意味ではFlexは非常にJavaと相性がいいですね。
横田氏
またFlexの場合、汎用性の高いコンポーネントがソースコード付きでネット上に大量に流通していますから、それらを使ってほとんどのことが実現できるのもメリットの1つだと思います。
轟氏
特定の業務でしか使わないような汎用性の低いコンポーネントは、カスタムコンポーネントとして開発することもできるわけですが、クラスメソッドさんのようなスキルの高い会社はともかく、そうでないところではどのように対応すればいいと思いますか?
横田氏
カスタムコンポーネントの開発は、アプリケーションのパフォーマンスが上がっていくと、どうしても壁にぶつかります。まあこれは、Flexに限った話ではないのですが、そういう場合はFlexに詳しい会社に依頼するのが一番いいと思います。何だか、宣伝しているみたいですが(笑)。また開発に限らず、運用で何か問題が発生した場合も、そういった会社に助けを仰ぐのが一番手っ取り早いと思います。でも、運用開始後にFlex単体の問題に遭遇したことは、今までほとんどないですね。
轟氏
手っ取り早く始めやすいのもFlexのいいところですね。私自身はもともとJavaをやっていたのですが、Flexの開発言語であるActionScriptは1カ月ほどの学習で「ああ、いけるな」という感触がつかめました。ただ、イベントドリブンの考え方には、初めの内はなかなか慣れることができませんでしたが。
横田氏
シーケンシャルに実行されるようなプログラムばかりを書いてきた人は、イベントドリブンに慣れるのには少し時間がかかるかもしれませんね。でも、Swingのプログラムを書いていた人にとっては、非常にイメージしやすいと思います。基本的には、オブジェクト指向やHTTP、トランザクション処理などといった、ソフトウェア開発の基本的なことが一通り分かっている方であれば、誰でもFlexは触れます。
上条氏
Flexはプロトタイプが作りやすいのも大きなメリットの1つだと思います。HTMLのアプリケーションは、サーバ側のプログラムが必要になることもありますが、Flexならクライアントだけを作って動かせますから、それをミーティングの席で皆でレビューしたり、その場でちょこちょこ直しながら画面の仕様を検討することもできます。

Flexが切り拓く次世代アプリケーションへの道

横田氏
先日、AndroidやiOS、BlackBerryなどのスマートフォンにも対応した「AIR 2.5」が発表されましたが、今後はクライアント端末の種類がいくら増えても、サーバサイドの実装は変えずに対応できるようになりますね。ちょっと前までは「HTMLで頑張って書かなきゃ」なんて思っていたことを考えると、まるで夢の世界です。
轟氏
UIの部分はクライアントの種類によって多少作り直さなくてはいけませんが、それ以外のクライアント側ロジックやサーバ側ロジック、さらにはデータベースなどをすべて共有できる可能性がある技術は、今のところ実績面ではFlexがNo.1ですね。
上条氏
でも、アドビのイベント「Adobe MAX 2010」で会場案内をしてくれるソーシャルアプリケーション「MAX Companion 2010」は、単一のソースコードでPCとAndroid両方で動くようになっていますよ。フレームワークの次期バージョン「Flex 4.5」の新機能を使って開発されているので、同じアプリでも、PCとスマートフォンそれぞれで動作させることができるんです。
轟氏
そのような機能をマルチプラットフォームで実現している技術は、今のところほかにはないですね。AIR 2.5は、スマートフォンに限らず、TVやタブレットPCなどでも動作するマルチデバイスを実現しています。米国で既に予約を受け付けているGoogle TVのChromeブラウザ上ではFlash Playerが動作します。Flexは、こうした様々なプラットフォームやデバイスに展開しているクライアントで、動作させることができるフレームワークです。そうした多様な環境でエンドユーザーに同一の体験を提供できるようなアーキテクチャや、それらを意識した開発スタイルが主流になっていくでしょうから、今の内からAdobe Developer Connectionなどで勉強しておくと良いかもしれませんね。

アドビ システムズとクラスメソッド共催の無料セミナー「Flex × Java 業務システム改善セミナー」が定期的に開催されています。詳細は【コチラ】からどうぞ。

「FlexではじめるRIA開発」特集、絶賛公開中!

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Adobe Developer Connection連載記事一覧

もっと読む

この記事の著者

吉村 哲樹(ヨシムラ テツキ)

早稲田大学政治経済学部卒業後、メーカー系システムインテグレーターにてソフトウェア開発に従事。その後、外資系ソフトウェアベンダーでコンサルタント、IT系Webメディアで編集者を務めた後、現在はフリーライターとして活動中。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5541 2010/11/10 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング