2013-10-15

IntelliJでAIRのアプリを作ってみる。

相変わらず開発系のお仕事ではないながら、運用しているアプリのお守りをするためにIntelliJを使う日々です。
機能は使いこなせてない分、あまりこだわりが無いので、なんとなくアップデート情報につられて、最近IDEA 13にアップデートしました。

Adobe Flex/AIRの開発も可能ということで、前々から気になっていたところ、ちょうどサムライズムさんのTweetでも、Flex/Airについての記事の紹介を知りました。

いつもながら『やってみた』レベルではありますが、動かすところまでは試してみましたので、レポさせていただきます。


ビルドしたもの


コードの書き方は全く忘れていますので、新規でソースを起こすことはせず、既存のソースを使うことにしました。

選んだのは、RedmineAir という、RedmineのAPIを利用した、デスクトップクライアントアプリです。こちらは、個人活動で外部の方と途中まで作ったのですが、スキル不足や状況の変化により中断、放置して2年以上…という黒歴史のあるお品です...。

モノとしては、いわゆる付箋アプリのようなもの。
RedmineのAPIキーを使って、自分の担当のチケットを一覧で表示し、必要なチケットは、デスクトップ上に付箋形式で貼り付けする、というところまで作っておりました。

なにはともあれ Java & Flex SDKを準備


当時は、Adobe製のFlex (Flash) Builderという、EclipceベースのIDEで作っていました。ですが、最低限、ソースと Felx SDK、Javaがあればビルドできます。(ビルド用のbuild.xmlもいちおうソースにくっつけていました)

ひさしぶりにSDKを入れようとすると、なにやらApache Projectに変わっています...。しかも、インストーラー形式で、好きなバージョンのSDKを選んでインストールする形になっていました。  

Apache Flexになってます。インストーラ付き!

IntelliJでビルドする場合


基本のIntelliJでは動かないので、Flex/AIRプラグインを追加します。
その後、上記のようにインストールしたFlex SDKを、プロジェクトのSDKとして指定します。これで、すんなり環境ができました。

SDKを追加します!

やってみた結果


先に触れたとおり、ソースにはbuild.xmlもくっつけていたので、プロジェクト 〜 antのタスクとしてもビルドできました。
(正直、古い形式のmxmlとかで書いていたので、動くかどうか心配だったのですが、antベースでもビルドできて大変ビックリでした)

同様に、IntelliJの"Run" (実行)ボタンを押してみたところ、こちらも問題なくビルド 〜 adlでの起動までできてしまいました!
ビルド、パッケージ化できました!

さらに、デバッグモードでの起動や、パッケージ化 (*.air ファイル)も問題なくできました。特別な設定は必要なく、SDK設定したくらいで、ほぼIntelliJがカバーしてくれたので、大変楽でした。

プレビューはどうだろう?


難点は、デザインビューは標準ではサポートされていないところ…。

プラグインで、mxmlをプレビューするための、mxml design preview plugin というものを追加して、いざチャレンジ。
サンプルのようなシンプルなmxmlは、ちゃんとプレビューできました。
(ただし、ドラッグ&ドロップでコンポーネントを移動させたり編集させたりはできない模様...)

デザインビュー(プレビュー機能)は使えるか?
ただし、最新のFlex SDK (4.10) だと、mxml design preview での描画ができなかったため、Flex SDKは4.6にしないといけませんでした

問題のコードはプレビューできる?


では、次に、問題のRedmineAirはプレビューできるのかと試したところ...。
エラーがたくさん出て、大変残念な結果になってしまいました(^^;

ビルドはできるがIDEAでプレビューしながらは無理...
Flash Developerでもうまくプレビューできなかったので、これは書き方の問題なんだろうなあと思っています。

まとめ


プレビューに難点があったのですが、たぶん私の問題なので、IDEとしてはここまでできているので問題はなさそうです。
なお、IDEA13 にアップデート後、便利だったDB操作に加えて、ターミナルの起動やWebサービスのテストもできることに、改めて気がつきました。
サーバサイドとクライアントサイドを一緒に動かしながら、アプリケーションのチェックができるんですね...

4年くらいFlex / AIRあたりは全く触っていなかったので、付いて行けるか分からないのですが、久しぶりにコードを手直ししてみようかしら...という気になりました(^^

とりあえず、リポジトリをフォークして、自分のリポジトリ上でコードを修正してみましたので、機会があればちょこちょこと直していきたいと思います。

#次の目標は、カバレッジを取ってみることと、Jenkinsでビルドすることです :)

0 件のコメント:

コメントを投稿