Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

iPhoneアプリを Javaで書くよ?

2015/8/28(金) 天神LT勉強会2回目
〜JavaFXPorts(JavaFx + RoboVM)試したyo〜

  • Be the first to comment

iPhoneアプリを Javaで書くよ?

  1. 1. iPhoneアプリを Javaで書くよ? 〜JavaFXPorts(JavaFx + RoboVM)試したyo〜 2015/8/28(金) 天神LT勉強会2回目
  2. 2. 自己紹介 • @itoKami1123 • 仕事は、エクセルとかAWSとかJavaとか PostgreSQLとかいじってます。 • 仕事上、インフラ力をあげないといけないのですけ ど、どちらかというとバックエンドよりフロントより の技術が好きみたいです。
  3. 3. 「Javaの勉強がしたい。JavaでiPhoneアプリを 作れないかな?」という質問を受けました。 そういえば、ロボなんちゃらっていうライブラ リがあったな…と思い検索!
  4. 4. RoboVM http://robovm.com/ JVMのバイトコードをiPhone向けにビルドできる!すごい!
  5. 5. 参考になる情報がいっぱい!参考になります! RoboVMまとめ http://qiita.com/garsue/items/0487aae7a4e45e313a36
  6. 6. public class HelloIOS extends UIApplicationDelegateAdapter { @Override public boolean didFinishLaunching( UIApplication application, UIApplicationLaunchOptions launchOptions) { UIWindow window = new UIWindow( UIScreen. getMainScreen(). getBounds()); window.makeKeyAndVisible(); return true; } public static void main(String[] args) { try (NSAutoreleasePool ignored = new NSAutoreleasePool()) { UIApplication.main(args, null, HelloIOS.class); } } } ソースコード例
  7. 7. おお!おもしろそう!
  8. 8. でもなぁ、iPhoneの開発は仕事でしないから UIライブラリ覚えるのは大変かもなぁ..
  9. 9. JavaFXとかで作れたらいいのになぁ..
  10. 10. JavaFXPorts http://gluonhq.com/open-source/javafxports/
  11. 11. JavaFXPorts http://gluonhq.com/open-source/javafxports/
  12. 12. 一度(プログラムを)書けば、どこでも実行できる “Write once, run anywhere” https://ja.wikipedia.org/wiki/Write_once,_run_anywhere今度こそ!
  13. 13. JavaFXPorts で iPhoneアプリを 作るとどんな感じか試してみました。
  14. 14. まずはざっくりと Scene Builder でUIづくり ラベルにidを 付与 押下イベントに メソッド名を付与
  15. 15. まずはざっくりと Scene Builder でUIづくり 左下に紐づく Controllerクラス名
  16. 16. FXMLに紐づくControllerを作って import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
 import javafx.scene.control.Label;
 
 public class CounterViewController {
 private int count = 0;
 
 @FXML
 private Label counter;
 
 @FXML
 void initialize() {
 count=0;
 }
 
 @FXML
 private void countUp(ActionEvent event) {
 count++;
 counter.setText("" + count);
 }
 }
  17. 17. FXMLを読み込んで起動するクラスを作って import javafx.application.Application;
 import javafx.fxml.FXMLLoader;
 import javafx.scene.Parent;
 import javafx.scene.Scene;
 import javafx.stage.Stage;
 import java.io.IOException;
 
 public class MainApplication extends Application {
 
 @Override
 public void start(Stage primaryStage) throws IOException {
 Parent root = FXMLLoader.load(
 getClass().getResource("/CounterView.fxml")
 );
 
 Scene scene = new Scene(root);
 
 primaryStage.setScene(scene);
 primaryStage.show();
 }
 
 public static void main(String[] args) {
 launch(args);
 }
 }
  18. 18. JavaFXで起動! ./gradlew run
  19. 19. iOS Simulatorで起動! ./gradlew launchIPhoneSimulator
  20. 20. まとめるよ
  21. 21. JavaFXでスマホアプリが作れるよ。 iPhoneしか持ってなくて Java勉強のモチベーションを スマホアプリ開発で保ちたい人には もしかすると良いのかも でも、色々大変そう…なので… 普通は普通通りに開発しましょう〜 おしまい

×