Cross platform mobile application architecture for enterprise
Cross Platform Mobile Application Architecture for EnterpriseVenkat Alagarsamyvenkat.firstname.lastname@example.org https://www.linkedin.com/in/VenkatAlagarsamy https://www.scribd.com/VenkatAlagarsamy https://www.facebook.com/Venkatachalapathi.Alagarsamy
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.
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 …….
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
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
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.
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
Hybrid – Offline StorageOffline DB: SQLite, UltraLite, GoogleGearsOffline Encrypted DB: SQL CipherOffline DB are Relational DBCan perform SQL queries on this DBCan store HTML code as part of a DB for high performance
Hybrid – Security RisksCross site scripting (Prevention of malicious scripts)Cross site Request Forgery (Cookie thefts)SQL injectionsSecured 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.
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.
Hybrid – Build and DeploymentOnce 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.
ConclusionIf the application has to support more than two platforms.If time to market is lowTotal cost of the ownership is significantUniform user experience across multiple devicesDevelopers availabilityInvest less, address wide and grow rapidly…