5. What is RoboVM
• Compiler translates Java bytecode into native
ARM or x86 code
• RoboVM 0.0.6
• Niklas Therning(@robovm)
• Apache License v2.0
• Alpha software
Java Translator
13年11月9日土曜日
6. iOS app development according to java
J2ObjC
• An open-source command-line tool from Google
• Translator tool Java code to Objective-C for the iOS platform
• Does not provide any sort of platform-independent UI toolkit
Apps that use J2ObjC
13年11月9日土曜日
7. What is RoboVM
• Warning! RoboVM is alpha software. It's not yet
ready for production use. Expect to be bitten by
bugs. If you find a bug, please report it.
• It is not enough to use for iOS applications...
But last update is 1 week ago
13年11月9日土曜日
9. Hallo RoboVM
How to Install(Eclipse)
• install new Software
13年11月9日土曜日
http://download.robovm.org/eclipse/
10. Hallo RoboVM
• How to Install
• command line tool
http://download.robovm.org/robovm-0.0.6.tar.gz
only donwload and unpack it
13年11月9日土曜日
11. Hello RoboVM
1 public class HelloWorld {
2
public static void main(String[] args) {
3
System.out.println("Hello world!");
4
}
5 }
mkdir classes
javac -d classes/ HelloWorld.java
robovm-0.0.6/bin/robovm -verbose -cp classes/ HelloWorld
Let s try Build
13年11月9日土曜日
12. You ll wait too long time
A simple class like HelloWorld References
about 1500 classes directly or indirectly.
RoboVM keeps a cache of compiled classes and
only recompiles a class when it or any of its
direct dependencies have changed.
HelloWorld/lib/boot/robovm-rt.jar
HelloWorld/lib/classes0.jar
HelloWorld/HelloWorld
Let's take a quick peek at the contents of the HelloWorld folder
13年11月9日土曜日
20. JavaFX8
Java
1
MigPane root = new MigPane("gap 10, flowy",
"[fill,grow,center]", "[]");
...
4
5
6
7
8
13年11月9日土曜日
Scene scene = new Scene(root, 320, 480);
scene.getStylesheets().add("/com/ultramixer/
javafx4ios/javafx4ios.css");
primaryStage.setTitle("JavaFX8 on iOS");
primaryStage.setScene(scene);
primaryStage.show();
21. RoboVM+JavaFX(CSS)
Java
26
27
Label headline = new Label("JavaFX8 on iOS JJUG
2013 CCC Fall");
headline.setId("headline");
CSS
1 #headline {
2
-fx-font-size: 15;
3 }
u can make a design with CSS
13年11月9日土曜日
31. RoboVM + OpenGLES
1 import org.robovm.rt.bro.*;
2 import org.robovm.rt.bro.annotation.*;
3
4 @Library("OpenGLES")
5 public class GL {
6
static {
7
Bro.bind(GL.class);
8
}
9
10
public static final int GL_DEPTH_BUFFER_BIT = 0x00000100;
11
public static final int GL_STENCIL_BUFFER_BIT = 0x00000400;
12
public static final int GL_COLOR_BUFFER_BIT = 0x00004000;
13
14
@Bridge
15
public static native void glClearColor(float red,
16
float green, float blue, float alpha);
17
18
@Bridge
19
public static native void glClear(int mask);
20 }
I never thought a screen fading from black to red would look this great!
It almost made me cry. :-)
13年11月9日土曜日
34. Warning
• iOS6 provisioning is expired...
• Need to Xcode5.x(but Xcode4.x)
• I can t demo...
\(^o^)/OWATA
13年11月9日土曜日
35. RoboVM Update v0.0.6
• The reason why it failed is that gdb has been
removed from Xcode5 and the tool RoboVM used
to launch on device (fruitstrap) relied on gdb
13年11月9日土曜日
36. new RoboVM
• libimobiledevice
• libimobiledevice is a cross-platform software library that
talks the protocols to support iPhone, iPod Touch, iPad and
Apple TV®devices.
switched to using libgpod
13年11月9日土曜日
37. How to use in iOS7
• Get Java SE JDK 7 from Oracle
• Get Xcode 5.0.1 from the Mac App Store
• https://github.com/robovm/robovm/wiki/Hackingon-RoboVM
I plan to try bonus comes out
13年11月9日土曜日
42. 実は...
• こんなやりとりが...
@tikemin @skrb It would be great to have these
#JavaFX RoboVM slides translated to English http://
t.co/Izvtzywzjl」
ということで英語の資料に
13年11月9日土曜日
43. 実は...
• こんなやりとりが...
@tikemin @skrb It would be great to have these
#JavaFX RoboVM slides translated to English http://
t.co/Izvtzywzjl」
(Bio: Java/JavaFX/IoT developer, author and speaker)
ということで英語の資料に
13年11月9日土曜日
45. Summary
• RoboVM
• Compiler translates Java bytecode into native
ARM or x86 code
• RoboVM+JavaFX
• RoboVM+OpenGLES
• iOS7(Java7)
Future is very fun!
13年11月9日土曜日
47. libGDX
• Desktop/Android/iOS/HTML5 Java game
development framework
•
•
•
•
•
•
•
Windows
Linux
Max OS X
Android (+1.5)
iOS
Java Applet (requires JVM to be installed)
Javascript/WebGL (Chrome, Safari, Opera, Firefox, IE via Google Chrome
Frame)
406 games listed in this gallery
13年11月9日土曜日
48. git hub
• robovm-llvm(Only .md file)
• https://github.com/robovm/robovm-llvm
• ObjC2RoboVM
• It is a parser that creates RoboVM bindings
from CLang AST dumps
Future is very fun!
13年11月9日土曜日