今後 JavaFX の Scene Builder が提供されなくなるということで、Gluon という企業が Scene Builder 8.0 を公開したようです。
Bye Bye JavaFX Scene Builder, Welcome Gluon Scene Builder 8.0.0 | Javalobby
(Scene Builder の話題はここで終了)
公開した Gluon はどうやら JavaFX で デスクトップアプリだけではなく Androidアプリ・iOSアプリを作成できるツールを開発している企業らしい。(ざっくりとした理解)
最近お試しで契約してみた MacinCloud を持て余してたところなので Netbeans の plugin も公開されていることだし、さっそく Windows 上で Java を使った Android・iOS アプリの動作確認を行ってみました。
Java の設定
Gluon が公開した Scene Builder を試す際に Java 8 Update 40 が必要だったので更新しましたが、これ以降の手順で最新の Java が必須かどうかわかりません。でもとりあえずセキュリティのためにも上げておきましょう。
Netbeans plugin の設定
以下の plugin をインストール
Gluon Plugin - NetBeans Plugin detail
インストール済みだったので必須かどうか不明ですが Gradle Support もインストール
Gradle Support - NetBeans Plugin detail
Gradle の設定
GVM でさくっとインストール。 Gradle Support plugin が 2.3 に対応できてないっぽいので 2.2 で。
プロジェクト作成
新規プロジェクト > JavaFX > Basic Gloun Application
プロジェクトを作成すると以下のコードがプリセットされています。
package org.example.gluon; import javafx.application.Application; import javafx.geometry.Rectangle2D; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.layout.StackPane; import javafx.stage.Screen; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage stage) { StackPane root = new StackPane(new Label("Hello JavaFX World!")); Rectangle2D visualBounds = Screen.getPrimary().getVisualBounds(); Scene scene = new Scene(root, visualBounds.getWidth(), visualBounds.getHeight()); stage.setScene(scene); stage.show(); } }
Android SDK の設定
SDK をダウンロードして環境変数 ANDROID_HOME を設定する。 API は 21必須。 Build-tools は 22 (か21.1.2) 以上。 dx コマンドで ~list というオプションがないと言われたら Build-tools のバージョンを上げる必要あり。
いったん Android で動作確認
Gradle で
gradle androidInstall
か
Netbeans 上から プロジェクト右クリック > tasks > android > androidInstall を選択。
Installed on device. BUILD SUCCESSFUL Total time: 1 mins 55.745 secs
が表示されたらインストール成功。使用している PC はハイスペックではないとはいえ、そこそこ時間がかかります。 インストール後は自動でアプリが立ち上がるわけではないので、手動で起動します。 エミュレータも実行してみましたが、画面真っ暗で起動できず。とりあえず実機での動作確認はできました。アプリの起動時間は特に気にならず、普通のアプリが起動したように感じます。
MacinCloud 上の iOSシミュレータ で動作確認
MacinCloud 上で iOS 用にビルドをしてみたいと思います。 Mac 上にも GVM と Gradle をインストール。git か何かでコードを Mac 上にダウンロードしたら
gradle launchIPhoneSimulator
でシミュレータを起動できます。 MacinCloud の安いプランだからなのか初回のビルドは10分近くかかりましたが、2回目以降はそこまでかかりませんでした。 RoboVM を使ってるようです。
動作確認できました(^^)/
Gradle でビルドできるのはいいですね。