Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Cross-Platform Developmentfor Mobile ApplicationsAnna Troedsson AlmérDavid Karlssontisdag den 11 juni 2013
Mobile business applicationstisdag den 11 juni 2013
Motivationtisdag den 11 juni 2013
Name: Link: Description:Titanium http://www.appcelerator.com/products/ HTML+JavaScriptjQuery Mobile http://jquerymobile.co...
Mobile ApplicationDevelopment Modelstisdag den 11 juni 2013
Mobile ApplicationDevelopment Modelstisdag den 11 juni 2013
Mobile ApplicationDevelopment Modelstisdag den 11 juni 2013
Mobile ApplicationDevelopment Modelstisdag den 11 juni 2013
Mobile ApplicationDevelopment Modelstisdag den 11 juni 2013
Mobile ApplicationDevelopment Modelstisdag den 11 juni 2013
RequirementsExecutable applicationApproved for marketsExisting development environmentPlatform specific UIHTTP+CacheFilesys...
Mobile ApplicationDevelopment Modelstisdag den 11 juni 2013
Mobile ApplicationDevelopment modelstisdag den 11 juni 2013
C++ and NDKtisdag den 11 juni 2013
C++ and NDKtisdag den 11 juni 2013
C++ and NDKtisdag den 11 juni 2013
Titaniumtisdag den 11 juni 2013
Titaniumtisdag den 11 juni 2013
Xamarintisdag den 11 juni 2013
Xamarintisdag den 11 juni 2013
XMLVMtisdag den 11 juni 2013
XMLVMtisdag den 11 juni 2013
Prototype session 1Basic functionality andnative UItisdag den 11 juni 2013
Prototype session 1compability withnatively written UItisdag den 11 juni 2013
Prototype session 1Performance Resultstisdag den 11 juni 2013
Prototype with NDK C++VSPlatform Specific Implementationtisdag den 11 juni 2013
Prototype with NDK C++POCO C++ libraryJSONtisdag den 11 juni 2013
Prototype with NDK C++Wrapping Logic and Types, MinimalKey:C++ Shared CodeC++ Wrapper for AndroidAndroid JavaActivitiesC++...
Prototype with NDK C++Wrapping Logic and Types, Structured separationKey:C++ Shared CodeC++ Wrapper for AndroidAndroid Jav...
Prototype with NDK C++JSON Parsertisdag den 11 juni 2013
Prototype with NDK C++Performance Results JSON Parsertisdag den 11 juni 2013
Prototype with NDK C++HTTPtisdag den 11 juni 2013
Prototype with NDK C++Cachetisdag den 11 juni 2013
Prototype with NDK C++Cachetisdag den 11 juni 2013
Prototype with NDK C++Persistent CacheFormat:Loading the cache file:tisdag den 11 juni 2013
Prototype Verificationtisdag den 11 juni 2013
Prototype Verification1: Describe behaviour in plain text2: Write a step definition in Ruby3. Fix app code to make the step ...
Prototype Verificationtisdag den 11 juni 2013
ConclusionTitaniumJavascriptSimple UIsXamarinC#Separate UIsNDKC++Native UIsDistributableDevice capabilitiesPerformanceTest...
Thank You!Categories from:Run Everywhere!* Cross-Platform Mobile Development, *some restrictions applyhttp://www.meetup.co...
Upcoming SlideShare
Loading in …5
×

Cross Platform Mobile Development for Business Applications

1,493 views

Published on

Mobility is becoming increasingly important for many companies. The markets for mobile
applications have been growing tremendously the last decade. It is therefore of great
interest to reduce the costs of development and maintenance of these applications.

When developing native applications for multiple platforms some parts of the code will
likely implement the same functionality. This functionality is then implemented in di erent
programming languages, for di erent platforms. Functionalities that are typically the
same on all platforms are network communication, data parsing and business logic. These
functionalities can account for a large part of the code when developing large and complex
applications. Duplication of the code, for these functionalities, could be avoided if common
functionality could be extracted from the applications and put in a shared code base.

The aim of this project is to investigate possible solutions to the problem of code duplication
in the case of a speci c business application, developed for iOS and Android. It consists
of a mobile client which performs some transformation of data acquired from a business
system and presents it in the native UIs.

This thesis rst discusses the requirements and constraints which are inferred from the application
type and the company wishing to apply cross-platform development. It also maps
existing cross-platform development methods for this type of application and investigates
to which extent the di erent cross-platform development methods ful l the requirements.
Finally the most suitable method is used in a practical context.

The objectives of this project are to provide the company with a recommendation of a
method as well as a prototype proving the concept of this method. This project will focus on possible solutions for mobile business applications with native
UIs.

The conclusion of the project is that native C++ is the most suitable method for this
type of application. It ful ls all requirements, but further research is needed regarding
performance.

Published in: Technology

Cross Platform Mobile Development for Business Applications

  1. 1. Cross-Platform Developmentfor Mobile ApplicationsAnna Troedsson AlmérDavid Karlssontisdag den 11 juni 2013
  2. 2. Mobile business applicationstisdag den 11 juni 2013
  3. 3. Motivationtisdag den 11 juni 2013
  4. 4. Name: Link: Description:Titanium http://www.appcelerator.com/products/ HTML+JavaScriptjQuery Mobile http://jquerymobile.com HTML5Particle code http://www.particlecode.com/features/overview/ aquired by appcelerator, HTMLUnity3d http://unity3d.com/unity/multiplatform/ Gaming, footprintCoronaSDK http://www.coronalabs.com/products/corona-sdk/ LUAMarmalade http://www.madewithmarmalade.com/marmaladesdk/supported-platformsnative CPU instructionsXamarin http://xamarin.com generates nativeMOAI http://getmoai.com LUAGideros http://www.giderosmobile.com/ LUACappuccino http://www.cappuccino-project.org JavascriptPhoneGap http://phonegap.com HTMLMoSync http://www.mosync.com HTMLRhomobile http://www.motorola.com/Business/US-EN/Business+Product+and+Services/Software+and+Applications/RhoMobile+SuiteRuby,HTMLWidgetPad widgetpad.com HTMLKivy http://kivy.org/#home Scripting, pythonPyMob http://pyzia.com generates nativeXMLVM http://xmlvm.org/android/ translate dalvik to iosAdobe AIR http://www.adobe.com/se/products/air/features.htmlhttp://www.adobe.com/devnet/flash/articles/app_store_guide.html (app store OK)NDK http://developer.android.com/tools/index.htmlJ2ObjCtisdag den 11 juni 2013
  5. 5. Mobile ApplicationDevelopment Modelstisdag den 11 juni 2013
  6. 6. Mobile ApplicationDevelopment Modelstisdag den 11 juni 2013
  7. 7. Mobile ApplicationDevelopment Modelstisdag den 11 juni 2013
  8. 8. Mobile ApplicationDevelopment Modelstisdag den 11 juni 2013
  9. 9. Mobile ApplicationDevelopment Modelstisdag den 11 juni 2013
  10. 10. Mobile ApplicationDevelopment Modelstisdag den 11 juni 2013
  11. 11. RequirementsExecutable applicationApproved for marketsExisting development environmentPlatform specific UIHTTP+CacheFilesystem+DBtisdag den 11 juni 2013
  12. 12. Mobile ApplicationDevelopment Modelstisdag den 11 juni 2013
  13. 13. Mobile ApplicationDevelopment modelstisdag den 11 juni 2013
  14. 14. C++ and NDKtisdag den 11 juni 2013
  15. 15. C++ and NDKtisdag den 11 juni 2013
  16. 16. C++ and NDKtisdag den 11 juni 2013
  17. 17. Titaniumtisdag den 11 juni 2013
  18. 18. Titaniumtisdag den 11 juni 2013
  19. 19. Xamarintisdag den 11 juni 2013
  20. 20. Xamarintisdag den 11 juni 2013
  21. 21. XMLVMtisdag den 11 juni 2013
  22. 22. XMLVMtisdag den 11 juni 2013
  23. 23. Prototype session 1Basic functionality andnative UItisdag den 11 juni 2013
  24. 24. Prototype session 1compability withnatively written UItisdag den 11 juni 2013
  25. 25. Prototype session 1Performance Resultstisdag den 11 juni 2013
  26. 26. Prototype with NDK C++VSPlatform Specific Implementationtisdag den 11 juni 2013
  27. 27. Prototype with NDK C++POCO C++ libraryJSONtisdag den 11 juni 2013
  28. 28. Prototype with NDK C++Wrapping Logic and Types, MinimalKey:C++ Shared CodeC++ Wrapper for AndroidAndroid JavaActivitiesC++WrapperType WrappersC++ Logic C++ TypesiOS Objective-CViewControllersC++ JavaObjective-CObjective-C++tisdag den 11 juni 2013
  29. 29. Prototype with NDK C++Wrapping Logic and Types, Structured separationKey:C++ Shared CodeC++ Wrapper for AndroidAndroid JavaActivitiesC++WrapperType WrappersC++ Logic C++ TypesC++ Wrapper for iOS (Objective-C++)iOS Objective-CViewControllersType WrappersC++WrapperC++ JavaObjective-CObjective-C++tisdag den 11 juni 2013
  30. 30. Prototype with NDK C++JSON Parsertisdag den 11 juni 2013
  31. 31. Prototype with NDK C++Performance Results JSON Parsertisdag den 11 juni 2013
  32. 32. Prototype with NDK C++HTTPtisdag den 11 juni 2013
  33. 33. Prototype with NDK C++Cachetisdag den 11 juni 2013
  34. 34. Prototype with NDK C++Cachetisdag den 11 juni 2013
  35. 35. Prototype with NDK C++Persistent CacheFormat:Loading the cache file:tisdag den 11 juni 2013
  36. 36. Prototype Verificationtisdag den 11 juni 2013
  37. 37. Prototype Verification1: Describe behaviour in plain text2: Write a step definition in Ruby3. Fix app code to make the step pass4. Run again and see the step passtisdag den 11 juni 2013
  38. 38. Prototype Verificationtisdag den 11 juni 2013
  39. 39. ConclusionTitaniumJavascriptSimple UIsXamarinC#Separate UIsNDKC++Native UIsDistributableDevice capabilitiesPerformanceTestabilitytisdag den 11 juni 2013
  40. 40. Thank You!Categories from:Run Everywhere!* Cross-Platform Mobile Development, *some restrictions applyhttp://www.meetup.com/MoMoa2/events/86722502/by Brian Genisio Presentation at Mobile Monday Ann ArborXamarin: http://www.xamarin.com by Xamarin Inc.Titanium: http://www.appcelerator.com/platform/titanium-sdk by Appcelerator Inc.XMLVM: http://xmlvm.org/overview by XMLVMNDK: http://developer.android.com/tools/sdk/ndk by AndroidPoco C++: http://pocoproject.org by Applied Informatics Software Engineering GmbHCalabash: http://calaba.sh by Less PainfulMobile Business Applications:http://www.sogeti.se/sv/Vara-tjanster/Tjanster/Mobilitet/App-utveckling/by SogetiOur Repository: https://bitbucket.org/devdavidkarlsson/sogeti-masterthesis-crossplatformmobiledevelopmenthttps://github.com/devdavidkarlsson/Sogeti-MasterThesis-CrossPlatformMobileDevelopmenttisdag den 11 juni 2013

×