java on ios - sdjug · java on ios sdjug 2014 ... java source code to objective-c source code open...
TRANSCRIPT
![Page 1: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/1.jpg)
Java on iOSSDJUG 2014
INTRODUCING J2OBJC & ROBOVM
© arconsis IT-Solutions GmbH, 2014
![Page 2: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/2.jpg)
MULTI-PLATFORM DEVELOPMENT?
Reuse as much code & components as possible between different
"mobile" platforms© arconsis IT-Solutions GmbH, 2014
![Page 3: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/3.jpg)
It is hard!▸ Develop several native apps ("reuse concepts", mobile GW)▸ HTML5/JS based hybrid apps (e.g. Cordova, Appcelerator)
© arconsis IT-Solutions GmbH, 2014
![Page 4: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/4.jpg)
Other choices▸ MDSD/MDA model driven approach (e.g. iphonical, applause)
▸ JavaScript to native bridge (e.g. Transit)
▸ Commonly used C/C++ libraries (with NDK)
© arconsis IT-Solutions GmbH, 2014
![Page 5: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/5.jpg)
But, can I run Java on iOS?
© arconsis IT-Solutions GmbH, 2014
![Page 6: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/6.jpg)
Yes, absolutely!
* Transpile code: J2Objc, XMLVM* Cross-compile code: Xamarin (C#), RoboVM (Java)
© arconsis IT-Solutions GmbH, 2014
![Page 7: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/7.jpg)
LOOK AT J2OBJC▸ Transpiler: Java source code to Objective-C source code
▸ Open source project from Google▸ Used in Google Drive
▸ Write non-UI (such as data access, or application logic) in Java
© arconsis IT-Solutions GmbH, 2014
![Page 8: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/8.jpg)
J2OBJC SUPPORTS "MOST" JAVA LANGUAGE AND RUNTIME FEATURES
▸ exceptions▸ inner & anonymous classes
▸ generic types▸ threads▸ reflection
© arconsis IT-Solutions GmbH, 2014
![Page 9: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/9.jpg)
https://github.com/google/j2objc
© arconsis IT-Solutions GmbH, 2014
![Page 10: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/10.jpg)
J2ObjC is currently between alpha and beta quality.
© arconsis IT-Solutions GmbH, 2014
![Page 11: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/11.jpg)
EXAMPLES$ j2objc HelloWorld.javatranslating HelloWorld.javaTranslated 1 file: 0 errors, 0 warnings
=> HelloWorld.m, HelloWorld.h
© arconsis IT-Solutions GmbH, 2014
![Page 12: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/12.jpg)
Compile translated file$ j2objcc -c HelloWorld.m
Build an executable$ j2objcc -o hello HelloWorld.o$ ./hello HelloWorldhello, world
© arconsis IT-Solutions GmbH, 2014
![Page 13: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/13.jpg)
HOW TO INTEGRATE IN DEVELOPMENT?1. External build
2. Xcode build rule
© arconsis IT-Solutions GmbH, 2014
![Page 14: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/14.jpg)
LOOK AT SOME EXAMPLES (LIVE DEMO)
© arconsis IT-Solutions GmbH, 2014
![Page 15: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/15.jpg)
ABOUT ROBOVMOur mission is to bring Java to iOS and to do it properly.
We empower the Java developer.
© arconsis IT-Solutions GmbH, 2014
![Page 16: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/16.jpg)
LOOK AT ROBOVM▸ Cross-compiler: Java bytecode into native ARM or x86 code.
▸ Open source project driven by Trillian Mobile AB▸ Used in many mobile games (libGDX)
▸ Build complete iOS Apps using native UI’s and full hardware access
© arconsis IT-Solutions GmbH, 2014
![Page 17: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/17.jpg)
OPEN-SOURCE
The compile time tools are GPLv2 licensed.
Runtime code is licensed under business friendly licenses, mostly the Apache License v2.0.
© arconsis IT-Solutions GmbH, 2014
![Page 18: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/18.jpg)
ROBOVM FEATURES
▸ Currently based on Android Java Runtime▸ Eclipse integration (Plugin)▸ Create App Store ready apps
© arconsis IT-Solutions GmbH, 2014
![Page 19: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/19.jpg)
http://www.robovm.com
© arconsis IT-Solutions GmbH, 2014
![Page 20: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/20.jpg)
RoboVm probably not production ready but used successfully anyways
© arconsis IT-Solutions GmbH, 2014
![Page 21: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/21.jpg)
ECLIPSE PLUGIN AVAILABLE IN MARKEThttp://download.robovm.org/eclipse/
© arconsis IT-Solutions GmbH, 2014
![Page 22: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/22.jpg)
EXAMPLES$ ~/Development/robovm/robovm-1.0.0-alpha-04/bin/robovm -verbose -cp bin/ HelloWorld
=> *.o file created plus executable
© arconsis IT-Solutions GmbH, 2014
![Page 23: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/23.jpg)
LOOK AT SOME EXAMPLES (LIVE DEMO)
© arconsis IT-Solutions GmbH, 2014
![Page 25: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/25.jpg)
ARCONSIS?© arconsis IT-Solutions GmbH, 2014
![Page 26: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/26.jpg)
WWW.ARCONSIS.COM
Mobile Enterprise & Adaptive Enterprise
© arconsis IT-Solutions GmbH, 2014
![Page 27: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google](https://reader031.vdocuments.us/reader031/viewer/2022022008/5ae60da57f8b9a9e5d8d3458/html5/thumbnails/27.jpg)
ARCONSIS - SERVICES▸ iOS & Android trainings (arconsis academy)▸ Mobile development (native + mobile web)
▸ Mobile strategy & mobile UX
▸ Agile coaching (Scrum, Lean, TDD, ...)▸ Software architecture (mainly Java/JEE)
© arconsis IT-Solutions GmbH, 2014