これはCodename One社のオープンソースプロジェクトで、Javaで書いたコードが、iOSやAndroid、BlackBerryのネイティブコードに変換されて動作する無償のツールみたいです。ツールの中身は、GUI BuilderなどのUIを作るツール、エディタなどのIDE、シミュレータ、Javaフレームワークとそのネイティブコードへの変換ビルダーなどがあるみたいです。(ビルドは使い込んでいくと課金対象のようです。)
有名な類似製品としては、JavaScriptでコードを書くという違いはありますがAppceleratorのTitaniumですね。
また、Macを持っていないユーザ用(?)にクラウドでビルドして、iOS用のインストーラであるipaファイルを生成できるようです。ただ、FAQを見ると、App Storeに上げるときなどに必要と言っているので、結局必要かな。。。と思いきや、ここで始めて知ったのですが、MacinCloudというMacOSのクラウドがあるらしいですね。Mac持っていない人には使えるかも。
話はそれましたが、要はJavaを知っていれば、クロスプラットフォームで稼働するモバイルアプリケーションが作れるっていうツールらしい。昔、TitaniumはAndroid/iOS上で同じコードでちゃんと動かなかったという経験(私の実装が悪かったのかも。。)があるので、こちらには期待したいですね。
アプリ開発の流れ
EclipseかNetBeansで開発することになるようです。
新規プロジェクト作成をすると以下の3つのソースコードが生成されるようです。
- StateMachineBase: GUI Builderで自動生成された画面のクラスです。このファイルは手動でいじらないようです。
- StateMachine: StateMachineBaseを継承したクラスで、StateMachineBaseを操作するようなコードをここに書くようですね。例えば、GUI Builderで作ったボタンの押下イベント発生時の処理をメソッドとしてコーディングするとか、あるイベントが発生したときに、GUIのデータセットなどを行うとか、ほとんどの処理はここに書いていくことになりそうです。
- Main: まぁ、メインですね。AndroidやiOSのフレームワーク同様、ライフサイクルを持っているようです。
ソースコードに加え、以下のようなリソースファイルも。
- レイアウトデザイン/テーマ/イメージ
- 国際化
- データファイル
- カメラ
- GPS
- ビデオ
- ストレージ
- ネットワーク
- サーバプッシュ
- メール/SMS/電話
- JSON/XML
- 地図 など
稼働確認するには独自のシミュレータで実行することもできますし、クラウド上でビルドして、ビルド完了すると、作成された.ipaファイルのURLをメールなどで受け取り、iPhone/iPadなどの実機でダウンロードして実行できるようです。(Androidのシミュレータは非常に遅いので、これは速いといいのですが。)
まだ、実際にはダウンロードして試していませんが、ネイティブコードに変換されることからPhoneGapなどのWebkitベースのツールより高速に動くと思いますし、Objective-Cはイマイチ慣れないので、作りたいアプリが思いついたら試してみたいと思います。
※若干気になる点はGalleryにApp Storeに公開されているアプリがなさそう。。。まぁ、これからですかね。
0 件のコメント:
コメントを投稿