java on ios - sdjug · java on ios sdjug 2014 ... java source code to objective-c source code open...

27
Java on iOS SDJUG 2014 INTRODUCING J2OBJC & ROBOVM © arconsis IT-Solutions GmbH, 2014

Upload: trinhmien

Post on 30-Apr-2018

244 views

Category:

Documents


3 download

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

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

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

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

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

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

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

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

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://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

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

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

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

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

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

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

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

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

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

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

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

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

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

LOOK AT SOME EXAMPLES (LIVE DEMO)

© arconsis IT-Solutions GmbH, 2014

Page 24: Java on iOS - SDJUG · Java on iOS SDJUG 2014 ... Java source code to Objective-C source code Open source project from Google

THANK [email protected]

@wolfgangfrank© 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

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

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

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