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 mobile application architecture for enterprise

3,683 views

Published on

  • Be the first to comment

Cross platform mobile application architecture for enterprise

  1. 1. Cross Platform Mobile Application Architecture for EnterpriseVenkat Alagarsamyvenkat.alagarsamy@gmail.com https://www.linkedin.com/in/VenkatAlagarsamy https://www.scribd.com/VenkatAlagarsamy https://www.facebook.com/Venkatachalapathi.Alagarsamy
  2. 2. IntroductionThe abundance of the mobile technology, multiple platforms, advanced smart devices and high network availability triggered a sudden need for Enterprise Mobile Applications.It is a trend toward a shift in work habits, with more employees working out of the office and using mobile devices and cloud services to perform business tasks.
  3. 3. State-of-the-art Enterprise Mobile Application Device Agnostic Screen Agnostic (Form-factor) Network Agnostic Should Work even without Network Offline Data Storage and Data Caching Device data and Over-the-air data security High User Experience (User Friendly) (Touch – Swipe, Pinch and Zoom) Access to device components (Camera, GPS, Bluetooth, eMail, Messaging etc) Localization Push Notifications Single sign-on Forward/Backward Compatibility Store Management Maintenance, Scalability and so on …….
  4. 4. Native vs. Web vs. Hybrid (Application Features) Native Web HybridGraphics Native APIs HTML, Canvas,SV HTML, Canvas,SV G GPerformance Fast Slow ModerateNative Look and Native Emulated EmulatedFeelDistribution Appstore Web Appstore
  5. 5. Native vs. Web vs. Hybrid (Device Access) Native Web HybridCamera Yes No YesNotifications Yes No YesLocal Apps like Secured File S Shared SQL Secured File andContacts, Mail etc Shared SQLGeo Location Yes Yes YesSwipe Yes Yes YesPinch and Zoom Yes No YesConnectivity Online and Offline Online Online and Offline
  6. 6. Native vs. Web vs. Hybrid (Development) Native Web HybridBackward/Forward Moderate Very High HighCompatibilityTesting Easy Medium MediumDebugging Easy Difficult MediumTime to Market Low Very Good ModerateDevelopment Objective C, Java HTML5, CSS and HTML5, CSS and JavaScript JavaScriptFrameworks LWUIT, J2ME Struts Phonegap, Polish Sencha, Convertigo
  7. 7. Hybrid ApplicationHybrid application leverages both native and mobile web technologies. The mix of web and native defines degree of hybrid capabilities.Gartner suggests to go for hybrid approach if an organization choose to port the application in more than two platforms.
  8. 8. Advantages of Hybrid Application Faster time to market when compared to pure native app development time cycles Lower total cost of ownership as cross platform adaptability is easier Reasonably good UX experience with the modern JavaScript toolkits (gestures, swipes, tap and transitions) Easy maintenance, upgrades and deployments Access to native features
  9. 9. Disadvantages Hybrid Application Slightly lower performance due to rendering of web pages and accessing data through multiple layers Limited UX experience compared to native UI Security concerns
  10. 10. Some Key TechnologiesHTML5 (Support- http://mobilehtml5.org/)CSS 3JavaScriptJQueryBackboneExtJSNodeFrameworks: Phonegap, Sencha, ConvertigoTestflight
  11. 11. Hybrid – Offline StorageOffline DB: SQLite, UltraLite, GoogleGearsOffline Encrypted DB: SQL CipherOffline DB are Relational DBCan perform SQL queries on this DBCan store HTML code as part of a DB for high performance
  12. 12. Hybrid – Security RisksCross site scripting (Prevention of malicious scripts)Cross site Request Forgery (Cookie thefts)SQL injectionsSecured local storage (encryption)Data encryption: additional encryption may be required for data transfers between web and native contents or data storages on the device database.
  13. 13. Hybrid – PerformanceService code (HTML and JavaScript) from Server – This could be avoided by storing the code either as a part of a footprint or in offline data.Loading of larger images – Store the data locally then optimize and render according to device factors.Over-air-data transferEncryption and Decryption time.
  14. 14. Hybrid – Architecture
  15. 15. Hybrid – Architectural Approach (Custom Web Container – Component Access)By leveraging WebKit engine, the custom web container can provide access to devices by messaging. TheWebKit engines are very native to each platformJavaScript or framework libraries can access the WebKit engine APIs.
  16. 16. Hybrid – Architectural Approach (Custom Web Container – Device Rendering)Using WebView control (iOS UIWebView or Andriod WebView), the hybrid apps renders HTML5.WebView uses the native browser rendering engine and not the browser.
  17. 17. Hybrid – Build and DeploymentOnce the application is developed, multiple foot print for very device should be created.There are tools available to do that (like adobe for Phonegap)The built application can be distributed using app stores (Commercial or Enterprise)If performance has to be improved, the web content can be embedded on the device as part of the local footprint.
  18. 18. ConclusionIf the application has to support more than two platforms.If time to market is lowTotal cost of the ownership is significantUniform user experience across multiple devicesDevelopers availabilityInvest less, address wide and grow rapidly…

×