2014年1月19日日曜日

NetBeans と RoboVM で iOS アプリ開発(Gradle 編)

前回に引き続き、 NetBeans と RoboVM で iOS アプリ開発を行う方法についてです
今回は Gradle を使用した開発を紹介します
Gradle プラグインは公式では提供されていませんので、拙作のプラグインを利用します
使用する環境は以下の通りです

OS: Mac OS X 10.9.1
Xcode: 5.0.2
NetBeans: 7.4 (Build 201310111528)

まず、使用する環境に Gradle をインストールします
以下の例では、 Homebrew を使用してインストールを行っています

$ brew install gradle


次に NetBeans に Gradle Support プラグインをインストールします


拙作のサンプルアプリケーションのリポジトリを clone します
このサンプルアプリケーションは、公式のサンプルアプリケーションを Gradle 対応に変更したプロジェクトになります


clone 後、 Gradle wrapper を利用するため、プロジェクトのプロパティを開き、以下のように「Gradle home」のフィールドを空白に設定します


設定後、実際に動かしてみます
Gradle プラグインのタスクは下記の通りになっています
  1. launchIPhoneSimulator … iPhone シミュレータにて実行
  2. launchIPadSimulator … iPad シミュレータにて実行
  3. launchIOSDevice … 実機にて実行(要プロビジョニング済)
  4. createIPA … ipa ファイル生成
今回は Maven プラグインのときと同様に iPhone シミュレータにて実行します
プロジェクトのコンテキストメニューから「Tasks」>「launchIPhoneSimulator」を実行します


初回実行時はビルドに時間が掛かりますが、完了後以下のように iPhone シミュレータが起動します


Maven 、 Gradle を利用した RoboVM による iOS アプリケーション開発ということで前回、今回と紹介してきました
今後、 RoboVM についてより詳しい紹介を行えたらと思います

2014年1月18日土曜日

NetBeans と RoboVM で iOS アプリ開発(Maven 編)

NetBeans と RoboVM で iOS アプリ開発を行う方法について紹介します

まず、 RoboVM についてですが、 Java にて iOS 用ネイティブアプリケーションを作成することができるコンパイラ、およびライブラリとなります
(詳細は公式ページ等を参照ください)

RoboVM コミュニティでは上述のコンパイラ、ライブラリに加え、 Maven 用プラグイン、 Eclipse 用プラグインが配布されていますが、残念ながらNetBeans 用プラグインはありません
NetBeans にて RoboVM を利用するにはいくつか方法がありますが、 Maven プラグインを使用する方法が最も簡単かと思います

Maven プラグインの使い方を、サンプルアプリケーションを使って解説します
使用する環境は以下の通りです

OS: Mac OS X 10.9.1
Xcode: 5.0.2
NetBeans: 7.4 (Build 201310111528)

まず、 github にある RoboVM サンプルアプリケーションのリポジトリを cloneします
clone 後、最新の RoboVM 、 Maven プラグインを利用するために pom.xml を編集します
2014年1月18日現在、最新の RoboVM のバージョンは "0.0.8"、 Maven プラグインのバージョンは "0.0.8.1"になるので、以下の2カ所を修正します
<plugin>
  <groupId>org.robovm</groupId>
  <artifactId>robovm-maven-plugin</artifactId>
  <version>0.0.8.1</version>
  <configuration>
    <config>
      <mainClass>org.robovm.sample.ios.RoboVMSampleIOSApp</mainClass>
      <os>ios</os>
      <arch>x86</arch>
    </config>
  </configuration>
</plugin>

<dependency&gt
  <groupId>org.robovm</groupId>
  <artifactId>robovm-rt</artifactId>
  <version>0.0.8</version>
</dependency>
<dependency>
  <groupId>org.robovm</groupId>
  <artifactId>robovm-cocoatouch</artifactId>
  <version>0.0.8</version>
</dependency>

設定後、実際に動かしてみます
Maven プラグインのゴールは下記の通りになっています
  1. robovm:iphone-sim … iPhone シミュレータにて実行
  2. robovm:ipad-sim … iPad シミュレータにて実行
  3. robovm:ios-device … 実機にて実行(要プロビジョニング済)
  4. robovm:create-ipa … ipa ファイル生成
今回は iPhone シミュレータにて実行します
コンテキストメニューより「カスタム」>「ゴール...」を選択します


表示されたウィンドウにて、"robovm:iphone-sim" を入力し、「OK」ボタンをクリックします


初回実行時はビルドに時間が掛かりますが、完了後以下のように iPhone シミュレータが起動します


RoboVM はまだ開発途上のプロダクトですが、ゲーム開発などパフォーマンスが要求されるような場面でも十分に使用できるレベルまでになっていると思います
Java + RoboVM + NetBeans にて iOS アプリケーション開発に挑戦してみてはいかがでしょうか

2013年3月16日土曜日

NetBeans IDE 7.3 リリース

ずいぶん、時間が経過していしまいましたが、 NetBeans IDE 7.3 がリリースされています
恒例のスプラッシュです
今回のリリースで最も目玉となる新機能はやはり HTML5 サポートかと思います
その他にも多くの新機能が追加されていますので、ぜひお試しください
何かお気づきの点がありましたら、 ML 等へご連絡お願い致します

2012年10月5日金曜日

NetBeans IDE 7.3 Beta リリース

NetBeans IDE 7.3 Beta がリリースされました
ダウンロードはコチラからできるようになっております
恒例のスプラッシュです

今回の注目の新機能は、 HTML5 アプリケーションプロジェクト対応かと思います
Google Chrome の拡張機能を利用した JavaScript のデバッグ機能や組み込み Webkit ブラウザなどが追加されています
その他の追加機能や各詳細はリリースノートを参照ください
何かお気づきの点などありましたら、 ML 等へご連絡頂ければと思います

2012年10月3日水曜日

NetBeans 次期リリース版での Composer サポートについて

PHP による開発にて、パッケージ(依存性)管理ツールとして今後標準になるだろうと言われている Composer を、 NetBeans の次期リリースにてサポートする予定となっています
なお、以降の記述は現在(2012年10月01日時点)にリリースされている開発版よるものですので、実際のリリース版と異なる可能性もありますので、ご了承下さい
また、 Composer そのものの使用法については今回詳しくは説明しませんので、別途 Composer のドキュメント等を参照ください

今回使用した環境は以下のとおりです

* Mac OS X version 10.8.2
* PHP 5.4.7
* NetBeans IDE Dev (Build 201209260001)

まず、適当な場所にて下記コマンドを実行し、 Composer をダウンロードします
$ curl -s https://getcomposer.org/installer | php

次に NetBeans 開発版を起動し、「オプション」ウィンドウを開きます
ウィンドウ中の「PHP」タブを選択し、更に「Composer」タブをクリックします
「Composer」フィールドに、先ほどダウンロードしたファイル("composer.phar")のパスを指定します
「Vendor」、「Author name」、「Autor e-mail」フィールドは、プロジェクト情報として使用されるため、適当な値を入力してください
入力後、画面下部の「OK」ボタンをクリックし、設定を反映します
以上で、 Composer を使用する準備はできましたので、実際に PHP アプリケーションプロジェクトにて使ってみたいと思います

今回は、新規に PHP アプリケーションのプロジェクトを作成します
(既存のプロジェクトでも以降の操作にて Composer 対応とすることが可能です)
「プロジェクト」ツリーより、今回作成したプロジェクトを右クリックし、表示されたコンテキストメニューより、「Composer > Init」と選択します
初期化処理が実行され、プロジェクトツリー内に "composer.json" というファイルが新しく生成されます
"composer.json" ファイルの内容は以下のようになっています
先に Composer の設定画面で設定した値が反映されています
{
    "name": "ja-netbeans-org/composer-sample-project",
    "description": "Description of project ComposerSampleProject.",
    "authors": [
        {
            "name": "Junji Takakura",
            "email": "takakura@example.com"
        }
    ],
    "require": {

    }
}

再度プロジェクトを右クリックし、表示されたコンテキストメニューより、「Composer > Install」を選択します

インストール処理が実行され、 "vendor" フォルダなどが新たに作成されます

次に、プロジェクトにログライブラリの "Monolog" を追加します
"require" ブロックに下記のように Monolog パッケージに関する記述を追加します
パッケージを指定する際はバージョン番号の指定をあわせて記述します
(下記例では 1.0.1 、1.0.2 … 1.0.20 などのバージョンが対象となります)
{
    /* 中略 */
    "require": {
        "monolog/monolog": "1.0.*"
    }
}

"composer.json" ファイルを保存し、変更した内容を反映します

プロジェクトを右クリックし、表示されたコンテキストメニューより、「Composer > Update」を選択します

アップデート処理が実行され、 "vendor" フォルダ以下に "monolog "フォルダが新たに作成されます

この他に「Validate」 コマンドによる "composer.json" の内容の検証、及び 「Self Update」 コマンドによる "composer.phar" 自身の更新を行うことができます
このように、 PHP アプリケーションプロジェクトに完全に統合された形にて Composer の機能を利用することができます

NetBeans 次期開発版ではこれ以外にも多くの新機能が追加される予定となっています
機会があれば、紹介できたらと思います

気になるリリース時期については、 JavaOne 2012 の1日目にて、2013年前半予定との発表がありました
(また、 Java SE の新バージョンリリースに合わせて、 NetBeans のメジャーバージョンアップも行なっていく計画のようです)

リリースまでにはもう少し時間がありますが、新機能に興味のある方は開発版を是非触って頂き、お気づきの点等ありましたら、 ML 等でお知らせ頂ければと思います

2012年7月25日水曜日

NetBeans IDE 7.2 リリース

NetBeans IDE 7.2 がリリースされました
ダウンロードはコチラからできるようになっております
恒例のスプラッシュです

 新機能については、ざっくり以下の通りです

* パフォーマンスの改善
 * FindBugs 統合
 * JavaFX Scene Builder
 * Java エディタツールの強化
 * Java EE 機能の強化
 * PHP 5.4 サポート、その他
 * Groovy / Grails サポートのアップデート
 * TestNG サポート

上記以外の機能追加などの詳細についてはリリース情報を参照ください
また、何かお気づきの点などありましたら、 ML 等へご連絡頂ければと思います

2012年6月30日土曜日

NetBeans IDE 7.2 RC1 リリース

NetBeans IDE 7.2 RC1 がリリースされました
ダウンロードはコチラからできるようになっております
恒例のスプラッシュです
新機能については、コチラを参照ください
(先の 7.2 Beta リリースのエントリでも簡単にですが、紹介してあります)

7.2 Beta を PHP 5.4 評価のため使っていましたが、 RC が出ましたので、実際の開発にも投入してみようと思います

何かお気づきの点などありましたら、 ML 等へご連絡頂ければと思います