SlideShare une entreprise Scribd logo
1  sur  40
Cross-Platform Development
for Mobile Applications
Anna Troedsson Almér
David Karlsson
tisdag den 11 juni 2013
Mobile business applications
tisdag den 11 juni 2013
Motivation
tisdag den 11 juni 2013
Name: Link: Description:
Titanium http://www.appcelerator.com/products/ HTML+JavaScript
jQuery Mobile http://jquerymobile.com HTML5
Particle code http://www.particlecode.com/features/overview/ aquired by appcelerator, HTML
Unity3d http://unity3d.com/unity/multiplatform/ Gaming, footprint
CoronaSDK http://www.coronalabs.com/products/corona-sdk/ LUA
Marmalade http://www.madewithmarmalade.com/
marmaladesdk/supported-platforms
native CPU instructions
Xamarin http://xamarin.com generates native
MOAI http://getmoai.com LUA
Gideros http://www.giderosmobile.com/ LUA
Cappuccino http://www.cappuccino-project.org Javascript
PhoneGap http://phonegap.com HTML
MoSync http://www.mosync.com HTML
Rhomobile http://www.motorola.com/Business/US-EN/
Business+Product+and+Services/Software+and
+Applications/RhoMobile+Suite
Ruby,HTML
WidgetPad widgetpad.com HTML
Kivy http://kivy.org/#home Scripting, python
PyMob http://pyzia.com generates native
XMLVM http://xmlvm.org/android/ translate dalvik to ios
Adobe AIR http://www.adobe.com/se/products/air/
features.html
http://www.adobe.com/devnet/flash/articles/
app_store_guide.html (app store OK)
NDK http://developer.android.com/tools/index.html
J2ObjC
tisdag den 11 juni 2013
Mobile Application
Development Models
tisdag den 11 juni 2013
Mobile Application
Development Models
tisdag den 11 juni 2013
Mobile Application
Development Models
tisdag den 11 juni 2013
Mobile Application
Development Models
tisdag den 11 juni 2013
Mobile Application
Development Models
tisdag den 11 juni 2013
Mobile Application
Development Models
tisdag den 11 juni 2013
Requirements
Executable application
Approved for markets
Existing development environment
Platform specific UI
HTTP+Cache
Filesystem+DB
tisdag den 11 juni 2013
Mobile Application
Development Models
tisdag den 11 juni 2013
Mobile Application
Development models
tisdag den 11 juni 2013
C++ and NDK
tisdag den 11 juni 2013
C++ and NDK
tisdag den 11 juni 2013
C++ and NDK
tisdag den 11 juni 2013
Titanium
tisdag den 11 juni 2013
Titanium
tisdag den 11 juni 2013
Xamarin
tisdag den 11 juni 2013
Xamarin
tisdag den 11 juni 2013
XMLVM
tisdag den 11 juni 2013
XMLVM
tisdag den 11 juni 2013
Prototype session 1
Basic functionality and
native UI
tisdag den 11 juni 2013
Prototype session 1
compability with
natively written UI
tisdag den 11 juni 2013
Prototype session 1
Performance Results
tisdag den 11 juni 2013
Prototype with NDK C++
VS
Platform Specific Implementation
tisdag den 11 juni 2013
Prototype with NDK C++
POCO C++ library
JSON
tisdag den 11 juni 2013
Prototype with NDK C++
Wrapping Logic and Types, Minimal
Key:
C++ Shared Code
C++ Wrapper for Android
Android Java
Activities
C++
Wrapper
Type Wrappers
C++ Logic C++ Types
iOS Objective-C
ViewControllers
C++ Java
Objective-C
Objective-C++
tisdag den 11 juni 2013
Prototype with NDK C++
Wrapping Logic and Types, Structured separation
Key:
C++ Shared Code
C++ Wrapper for Android
Android Java
Activities
C++
Wrapper
Type Wrappers
C++ Logic C++ Types
C++ Wrapper for iOS (Objective-C++)
iOS Objective-C
ViewControllersType Wrappers
C++
Wrapper
C++ Java
Objective-C
Objective-C++
tisdag den 11 juni 2013
Prototype with NDK C++
JSON Parser
tisdag den 11 juni 2013
Prototype with NDK C++
Performance Results JSON Parser
tisdag den 11 juni 2013
Prototype with NDK C++
HTTP
tisdag den 11 juni 2013
Prototype with NDK C++
Cache
tisdag den 11 juni 2013
Prototype with NDK C++
Cache
tisdag den 11 juni 2013
Prototype with NDK C++
Persistent Cache
Format:
Loading the cache file:
tisdag den 11 juni 2013
Prototype Verification
tisdag den 11 juni 2013
Prototype Verification
1: Describe behaviour in plain text
2: Write a step definition in Ruby
3. Fix app code to make the step pass
4. Run again and see the step pass
tisdag den 11 juni 2013
Prototype Verification
tisdag den 11 juni 2013
Conclusion
Titanium
Javascript
Simple UIs
Xamarin
C#
Separate UIs
NDK
C++
Native UIs
Distributable
Device capabilities
Performance
Testability
tisdag den 11 juni 2013
Thank You!
Categories from:
Run Everywhere!* Cross-Platform Mobile Development, *some restrictions apply
http://www.meetup.com/MoMoa2/events/86722502/
by Brian Genisio Presentation at Mobile Monday Ann Arbor
Xamarin: http://www.xamarin.com by Xamarin Inc.
Titanium: http://www.appcelerator.com/platform/titanium-sdk by Appcelerator Inc.
XMLVM: http://xmlvm.org/overview by XMLVM
NDK: http://developer.android.com/tools/sdk/ndk by Android
Poco C++: http://pocoproject.org by Applied Informatics Software Engineering GmbH
Calabash: http://calaba.sh by Less Painful
Mobile Business Applications:
http://www.sogeti.se/sv/Vara-tjanster/Tjanster/Mobilitet/App-utveckling/
by Sogeti
Our Repository: https://bitbucket.org/devdavidkarlsson/sogeti-masterthesis-crossplatformmobiledevelopment
https://github.com/devdavidkarlsson/Sogeti-MasterThesis-CrossPlatformMobileDevelopment
tisdag den 11 juni 2013

Contenu connexe

Similaire à Cross Platform Mobile Development for Business Applications

Startup eng-camp 3
Startup eng-camp 3Startup eng-camp 3
Startup eng-camp 3
Jollen Chen
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic Framework
Troy Miles
 
Building with JavaScript - write less by using the right tools
Building with JavaScript -  write less by using the right toolsBuilding with JavaScript -  write less by using the right tools
Building with JavaScript - write less by using the right tools
Christian Heilmann
 
Kandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_finalKandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_final
NAVER D2
 
Why Open Source with Drive M2M Innovation
Why Open Source with Drive M2M InnovationWhy Open Source with Drive M2M Innovation
Why Open Source with Drive M2M Innovation
Ian Skerrett
 

Similaire à Cross Platform Mobile Development for Business Applications (20)

Desenvolvimento Mobile Híbrido
Desenvolvimento Mobile HíbridoDesenvolvimento Mobile Híbrido
Desenvolvimento Mobile Híbrido
 
2013년 html5 총정리 (Summary of HTML5 Trend in 2013)
2013년 html5 총정리 (Summary of HTML5 Trend in 2013)2013년 html5 총정리 (Summary of HTML5 Trend in 2013)
2013년 html5 총정리 (Summary of HTML5 Trend in 2013)
 
Ionic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application DevelopmentIonic - Revolutionizing Hybrid Mobile Application Development
Ionic - Revolutionizing Hybrid Mobile Application Development
 
Startup eng-camp 3
Startup eng-camp 3Startup eng-camp 3
Startup eng-camp 3
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic Framework
 
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
HTML5ではないサイトを HTML5へ - Change HTML5 from Not HTML5.
 
Building with JavaScript - write less by using the right tools
Building with JavaScript -  write less by using the right toolsBuilding with JavaScript -  write less by using the right tools
Building with JavaScript - write less by using the right tools
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJS
 
Enabling Microservice @ Orbitz - GOTO Chicago 2016
Enabling Microservice @ Orbitz - GOTO Chicago 2016Enabling Microservice @ Orbitz - GOTO Chicago 2016
Enabling Microservice @ Orbitz - GOTO Chicago 2016
 
Kandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_finalKandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_final
 
Phone gap
Phone gapPhone gap
Phone gap
 
Lightweight javaEE with Guice
Lightweight javaEE with GuiceLightweight javaEE with Guice
Lightweight javaEE with Guice
 
Phonegap presentation
Phonegap presentationPhonegap presentation
Phonegap presentation
 
Why Open Source with Drive M2M Innovation
Why Open Source with Drive M2M InnovationWhy Open Source with Drive M2M Innovation
Why Open Source with Drive M2M Innovation
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 may
 
An Introduction to AngularJS
An Introduction to AngularJSAn Introduction to AngularJS
An Introduction to AngularJS
 
MobileDev: panoramica sullo sviluppo Mobile e sulle possibili alternative .Net
 MobileDev: panoramica sullo sviluppo Mobile e sulle possibili alternative .Net MobileDev: panoramica sullo sviluppo Mobile e sulle possibili alternative .Net
MobileDev: panoramica sullo sviluppo Mobile e sulle possibili alternative .Net
 
Giorgio Mandolini - Rapid application development con titanium appcelerator
Giorgio Mandolini - Rapid application development con titanium appceleratorGiorgio Mandolini - Rapid application development con titanium appcelerator
Giorgio Mandolini - Rapid application development con titanium appcelerator
 
Rapid application development con titanium appcelerator
Rapid application development con titanium appceleratorRapid application development con titanium appcelerator
Rapid application development con titanium appcelerator
 
Html5 tx - preso
Html5 tx - presoHtml5 tx - preso
Html5 tx - preso
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Cross Platform Mobile Development for Business Applications