SlideShare a Scribd company logo
CROSS-PLATFORM MOBILE
DEVELOPMENT
Alexander Shitikov
Head of mobile development department
HYBRID APPLICATIONS
TECHNOLOGIES
BUSINESS LOGIC
Shared logic
for each platform
BUSINESS LOGIC
BUSINESS LOGIC
JAVA AS THE BRIDGE
CHALLENGES
• To create cross-platform mobile business logic library
on Java
• To give fully-native interface to developers to interact
with it
SOLUTION
• RoboVM
• Objective-C JNI wrapper generator
FEATURES
• Memory management
• Threading
• Namespaces
• Inheritance
• Mapping
• Overloading
• Exceptions
MEMORY MANAGEMENT
• Java object from native
• Native object from java
THREADING
• Control by java
• Control by native
NAMESPACES
java.lang.String -> MTCString
Problem:
pl.mobiletrends.String -> MTCString
NAMESPACES
java.lang.String -> java_lang_String
NAMESPACES
java.lang.String -> JavaLangString
NAMESPACES
java.lang.String -> MTCJLString
INHERITANCE AND MAPPING
• class -> @interface
• interface -> @protocol
• boolean -> bool
• byte -> char
• …
• Int[] -> PrimitiveIntArray
• Int[][] -> NSArray<PrimitiveIntArray>
• Object -> MTCObject
INHERITANCE ARTIFACT
public Animal getAnimal() { … }
- (MTCAnimal *)getAnimal;
MTC + Animal.getClass().getShortName()
MAPPING EXAMPLE
public String getTestString() {
return “Hello, World!”;
}
public int[] getGivenArray(int[] array) {
return array;
}
- (MTCString *)getTestString;
- (PrimitiveIntArray *)getGivenArray:(P
rimitiveIntArray *)array;
OVERLOADING CHALLENGES
public void overload(int a) {
…
}
public void overload(int[] a) {
…
}
- (void)overload:(int)a;
- (void)overload:(PrimitiveIntArray *)a;
OVERLOADING SOLUTION
public void overload(int a) {
…
}
public void overload(int[] a) {
…
}
- (void)overloadWithAint:(int)a;
- (void)overloadWithAintArray:(Primiti
veIntArray *)a;
EXCEPTIONS
public static void throwException()
{
throw new NullPointerException
(“MTC 2016”);
}
+ (void)throwException;
…
@try {
[MTCCustomClass throwException]
} @catch (MTCNullPointerException *e) {
...
} @finally { ... }
PROJECT STATUS
March-April 2016
alpha version
mobile.agima.ru +7 495 981-01-85 info@mobile.agima.ru
THANK YOU FOR ATTENTION!
Alexander Shitikov
Head of mobile development department
facebook.com/shitikov.ap

More Related Content

PDF
Anton Sakharov: The risks you take when develop cross-platform apps using HT...
PDF
React UI Development: Introduction to "UI Component as API"
PDF
Mvvm is like born fraction
PDF
Introduce Angular2 & render & firebase flow
PPTX
Ionic Framework - get up and running to build hybrid mobile apps
PPTX
Introduction to Ionic framework
PPTX
Ionic Framework - Intro to Hybrid Mobile Application Development
PPTX
Anton Sakharov: The risks you take when develop cross-platform apps using HT...
React UI Development: Introduction to "UI Component as API"
Mvvm is like born fraction
Introduce Angular2 & render & firebase flow
Ionic Framework - get up and running to build hybrid mobile apps
Introduction to Ionic framework
Ionic Framework - Intro to Hybrid Mobile Application Development

What's hot (20)

PPTX
Building Cross Platform Mobile Apps
PDF
Morden F2E Education - Think of Progressive Web Apps
PDF
React native sharing
PPTX
Hybrid vs. Native app - Ionic Framework with AngularJS
PPTX
WappZapp Pitch Node JS Meetup
PDF
Cordova, Angularjs & Ionic @ Codeaholics
PDF
Cross Platform Mobile Apps with the Ionic Framework
PPTX
Hybrid Mobile Development
PDF
codecept.js introduce - front end test E2E tool introduce
PDF
Creating mobile apps - an introduction to Ionic (Engage 2016)
PDF
Cordova + Ionic + MobileFirst
PDF
Hybrid Apps with Angular & Ionic Framework
ODP
Apache Cordova, Hybrid Application Development
KEY
Phonegap/Cordova vs Native Application
PDF
Cross platform development
PPTX
Workshop on Hybrid App Development with Ionic Framework
PDF
Ionic Framework
PPTX
Xamarin - Beyond the Basics
PDF
Isomorphic web application
PPTX
React Native for ReactJS Devs
Building Cross Platform Mobile Apps
Morden F2E Education - Think of Progressive Web Apps
React native sharing
Hybrid vs. Native app - Ionic Framework with AngularJS
WappZapp Pitch Node JS Meetup
Cordova, Angularjs & Ionic @ Codeaholics
Cross Platform Mobile Apps with the Ionic Framework
Hybrid Mobile Development
codecept.js introduce - front end test E2E tool introduce
Creating mobile apps - an introduction to Ionic (Engage 2016)
Cordova + Ionic + MobileFirst
Hybrid Apps with Angular & Ionic Framework
Apache Cordova, Hybrid Application Development
Phonegap/Cordova vs Native Application
Cross platform development
Workshop on Hybrid App Development with Ionic Framework
Ionic Framework
Xamarin - Beyond the Basics
Isomorphic web application
React Native for ReactJS Devs
Ad

Viewers also liked (20)

PDF
Karol Kalisz, Vitaliy Rudnytskiy: Mobile in IoT Context ? Mobile Applications...
PDF
#MTC2017: CASE STUDY: #1milionIKO - Michał Pogorzelski
PDF
Anna Gruszka, Norbert Mazur: Ile tapnięć potrzeba do zamówienia pizzy?
PPTX
#MTC2017: Trzy perspektywy mobile marketingu - agencja, klient, dostawca - No...
PDF
#MTC2017: E-wolucja sprzedaży - Rahim Blak
PDF
#MTC2017: SEO z uwzględnieniem mobile - poznaj najważniejsze różnice - Szymon...
PDF
Matteo Crippa: ResearchKit: an open source framework by Apple for medical re...
PDF
#MTC2017: Mobile AdWords i Analytics - Krzysztof Marzec
PDF
#MTC2017: Kulisy projektów mobilnych. Naga prawda bez lukru i fikcji - Jerzy ...
PPTX
#MTC2017: CASE STUDY: Komunikat we właściwym czasie, miejscu i... nastroju - ...
PDF
#MTC2017: Aplikacje "kupujemy" wzrokiem. Dlaczego motion design ratuje UX? - ...
PPTX
#MTC2017: Braterstwo broni - Roman Łoziński
PDF
#MTC2017: Internet Rzeczy to system, a ja opowiem Ci jak go zaprojektować - K...
PDF
Michał Kracik : Design ekstremalny i najmniejszy statek kosmiczny.
PDF
#MTC2017: Od U do Z - jaka powinna być Twoja aplikacja na platformie iOS? - M...
PPTX
Kinetise
PDF
Krzysztof Ścira: REAL testing of hybrid mobile apps.
PPTX
Grzegorz Jachowicz: Case study skutecznych i kontekstowo dopasowanych kampani...
PDF
#MTC2017: Potencjał związany z konwersacyjnym interfejsem użytkownika - Micha...
PDF
Kongres Mobilny: Monika Mikowska, mobee dick
Karol Kalisz, Vitaliy Rudnytskiy: Mobile in IoT Context ? Mobile Applications...
#MTC2017: CASE STUDY: #1milionIKO - Michał Pogorzelski
Anna Gruszka, Norbert Mazur: Ile tapnięć potrzeba do zamówienia pizzy?
#MTC2017: Trzy perspektywy mobile marketingu - agencja, klient, dostawca - No...
#MTC2017: E-wolucja sprzedaży - Rahim Blak
#MTC2017: SEO z uwzględnieniem mobile - poznaj najważniejsze różnice - Szymon...
Matteo Crippa: ResearchKit: an open source framework by Apple for medical re...
#MTC2017: Mobile AdWords i Analytics - Krzysztof Marzec
#MTC2017: Kulisy projektów mobilnych. Naga prawda bez lukru i fikcji - Jerzy ...
#MTC2017: CASE STUDY: Komunikat we właściwym czasie, miejscu i... nastroju - ...
#MTC2017: Aplikacje "kupujemy" wzrokiem. Dlaczego motion design ratuje UX? - ...
#MTC2017: Braterstwo broni - Roman Łoziński
#MTC2017: Internet Rzeczy to system, a ja opowiem Ci jak go zaprojektować - K...
Michał Kracik : Design ekstremalny i najmniejszy statek kosmiczny.
#MTC2017: Od U do Z - jaka powinna być Twoja aplikacja na platformie iOS? - M...
Kinetise
Krzysztof Ścira: REAL testing of hybrid mobile apps.
Grzegorz Jachowicz: Case study skutecznych i kontekstowo dopasowanych kampani...
#MTC2017: Potencjał związany z konwersacyjnym interfejsem użytkownika - Micha...
Kongres Mobilny: Monika Mikowska, mobee dick
Ad

Similar to Alexander Shitikov: Cross Platform Mobile Development. Business Logic for mobile applications. (20)

PPT
Java withrealworldtechnology
PPT
Java Training at Gateway Software Solutions,Coimbatore
PPTX
Introduction to java and it's opportunities
PDF
Threads Needles Stacks Heaps - Java edition
PDF
JDD2015: Java Everywhere Again—with DukeScript - Jaroslav Tulach
PPTX
Introduction to JAVA
PPTX
Introduction to JAVA
PPTX
JAVA-History-buzzwords-JVM_architecture.pptx
PPT
01 java intro
PDF
ITCamp 2012 - Alessandro Pilotti - Web API, web sockets and RSignal
PDF
Постоянное тестирование интеграции
PPTX
Java_Programming_Presentation.pptx best institute in prr
PPTX
Java_Programming Student Grade Calculator
PDF
AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware
PDF
New Java features: Simplified Design Patterns[LIT3826]
PPTX
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
KEY
PPTX
PDF
Java_Programming_Presentation 01.pdf java
PPTX
Core java tutorials
Java withrealworldtechnology
Java Training at Gateway Software Solutions,Coimbatore
Introduction to java and it's opportunities
Threads Needles Stacks Heaps - Java edition
JDD2015: Java Everywhere Again—with DukeScript - Jaroslav Tulach
Introduction to JAVA
Introduction to JAVA
JAVA-History-buzzwords-JVM_architecture.pptx
01 java intro
ITCamp 2012 - Alessandro Pilotti - Web API, web sockets and RSignal
Постоянное тестирование интеграции
Java_Programming_Presentation.pptx best institute in prr
Java_Programming Student Grade Calculator
AMIS Oracle OpenWorld 2013 Review Part 3 - Fusion Middleware
New Java features: Simplified Design Patterns[LIT3826]
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
Java_Programming_Presentation 01.pdf java
Core java tutorials

More from Mobile Trends (20)

PDF
#MTC2019: Ludzka twarz bankowości - zastosowanie asystentów głosowych w sekto...
PPTX
#MTC2019: Dobrze zaprojektowane ubezpieczenie dla rodzin. Case study Link4 ma...
PDF
#MTC2019: Podróżowanie w prostej taryfie i bez zbędnego bagażu. Case study z ...
PPTX
#MTC2019: MEMerytura - czyli jak komunikować potrzebę oszczędzania osobom żyj...
PDF
#MTC2019: Design system - jak pomaga bankom? - Piotr Dziadowicz (EDISONDA)
PPTX
#MTC2019: Czy bank może zrozumieć e-commerce? - Jadwiga Kijak (Mobee Dick)
PPTX
#MTC2019: Ewolucja mobilnej bankowości ING - jak podejmować decyzje biznesowe...
PDF
#MTC2019: Dlaczego młodzi nie skorzystają z Twojej aplikacji? Nie, to nie jes...
PDF
#MTC2019: Autopay w Banku Millennium - czy aplikacje bankowe staną się wkrótc...
PDF
#MTC2019: Jasnopisanie w bankowości - rzecz o tym jak być zrozumiałym - Włodz...
PPTX
#MTC2019: Bank w kieszeni - jak startupy i technologia okradają sektor finans...
PPTX
#MTC2019: Wyścig zbrojeń PSD2 – krótka historia tego, jak świat walczy o Twoj...
PDF
#MTC2019: Otwarta bankowość, VAS-y - trendy rynkowe vs oczekiwania klientów -...
PDF
#MTC2019: Co ma apka do kurczaka - Marek Michalski (Grupa WM)
PDF
#MTC2019: Jak połączyć wymagania biznesowe i wymagania użytkowników końcowych...
PDF
#MTC2019: Nie tylko smartfon: nowe przykłady użycia dla Androida - Nadia Ait ...
PDF
#MTC2019: Voice Commerce - kiedy użytkownicy i ecommerce będą gotowi na głoso...
PDF
#MTC2019: Dialog z klientem w Erze Asystentów - Michal Dlugosz (Google)
PDF
#MTC2019: Mobile (jeszcze bardziej) first! PWA jako wyzwanie UX - Filip Makow...
PDF
#MTC2019: Jak wykorzystać zmianę marki do wytyczenia nowego kierunku w rozwoj...
#MTC2019: Ludzka twarz bankowości - zastosowanie asystentów głosowych w sekto...
#MTC2019: Dobrze zaprojektowane ubezpieczenie dla rodzin. Case study Link4 ma...
#MTC2019: Podróżowanie w prostej taryfie i bez zbędnego bagażu. Case study z ...
#MTC2019: MEMerytura - czyli jak komunikować potrzebę oszczędzania osobom żyj...
#MTC2019: Design system - jak pomaga bankom? - Piotr Dziadowicz (EDISONDA)
#MTC2019: Czy bank może zrozumieć e-commerce? - Jadwiga Kijak (Mobee Dick)
#MTC2019: Ewolucja mobilnej bankowości ING - jak podejmować decyzje biznesowe...
#MTC2019: Dlaczego młodzi nie skorzystają z Twojej aplikacji? Nie, to nie jes...
#MTC2019: Autopay w Banku Millennium - czy aplikacje bankowe staną się wkrótc...
#MTC2019: Jasnopisanie w bankowości - rzecz o tym jak być zrozumiałym - Włodz...
#MTC2019: Bank w kieszeni - jak startupy i technologia okradają sektor finans...
#MTC2019: Wyścig zbrojeń PSD2 – krótka historia tego, jak świat walczy o Twoj...
#MTC2019: Otwarta bankowość, VAS-y - trendy rynkowe vs oczekiwania klientów -...
#MTC2019: Co ma apka do kurczaka - Marek Michalski (Grupa WM)
#MTC2019: Jak połączyć wymagania biznesowe i wymagania użytkowników końcowych...
#MTC2019: Nie tylko smartfon: nowe przykłady użycia dla Androida - Nadia Ait ...
#MTC2019: Voice Commerce - kiedy użytkownicy i ecommerce będą gotowi na głoso...
#MTC2019: Dialog z klientem w Erze Asystentów - Michal Dlugosz (Google)
#MTC2019: Mobile (jeszcze bardziej) first! PWA jako wyzwanie UX - Filip Makow...
#MTC2019: Jak wykorzystać zmianę marki do wytyczenia nowego kierunku w rozwoj...

Alexander Shitikov: Cross Platform Mobile Development. Business Logic for mobile applications.