Showing posts with label Mobile platforms for beginners. Show all posts
Showing posts with label Mobile platforms for beginners. Show all posts

Friday, 17 February 2017

A Primer: Mobile app development technologies and platforms

Look at the word cloud



Native, PhoneGap and Apache Cordova, Angular JS, Bootstrap, Titanium , Xamarin, React Native, IBM MobileFirst Studio, Oracle Mobile Application Framework, Kony, Rhomobile, Sencha Touch, Telerik

Intimidating!!!!! 

“I'm not confused. I'm just well mixed” - Robert Frost


Below definitions are very high level architecture descriptions. These definitions are for audience who want to understand the crux and more advanced architecture can be found respective tool web sites.

What’s native?


  • Native development is done using SDKs provided by OS vendors – Apple, Google, Microsoft etc.
  • Native Applications run directly on CPU or VM


What’s cross platform?


  • Cross platform applications are developed in various programming languages provided by cross platform tool vendors.
  • Basic objectives are common code for all mobile OS and leverage existing skills to develop mobile applications. Ex: You can develop Android and iOS apps using C#, Java Script etc.
  • Cross platform applications do not directly run on CPU but have conversion engine in the call stack. For obvious reasons these conversion engines are closely guarded by tools vendors.
  • Cross platform are further divided into Native cross platform and Hybrid cross platform
  • Most popular cross platform tools are PhoneGap(Cordova), Titanium, Xamarin and Native Script.
  • Most of these tool vendors claim that their SDK for new OS releases is released within a day of general availability release of actual OS vendor.


What’s Native Cross Platform?


  • These applications run directly on CPU through a thin layer of FFI(Foreign Functional Interface). This is similar to a JVM(Java Virtual Machine).
  • These tools provide direct access to Native components – both UI and hardware.
  • The final App is as good as native Apps except thin layer of FFI in the call stack.
  • Earlier these tools were buggy but now they have stabilised.


What’s Hybrid Cross Platform?


  • These applications run on Browser Engine, All OS platforms provide a component called Web View which has access to hardware and other native components. This is leveraged from tool vendors to develop Hybrid containers.
  • UI is developed using HTML5 libraries and allied tools like Sencha, JQueryMobile, Bootstrap, Ionic, Angular, TypeScript and JavaScript etc.
  • Hybrid containers are comparatively slow as compared to Native and Cross-Platform Native.


What’s MADP?



  • MADP(Mobile Development Application Platform) is End to End development platform for developing a mobile solution – app, middleware server and integration components.
  • MADP tools claim are they are Omni-Channel i.e.; they run as mobile web, desktop, mobile app, tablet app etc. Not all MADP are Omni-Channel
  • They provide pre-built applications. Ex: Kony provides ready Mobile Banking Application which can be customized, Oracle has 150+ ready apps at https://play.google.com/store/apps/developer?id=Oracle+America,+Inc.&hl=en
  • MADP’s provide ready components for Security, Sync etc.
  • Select MADP’s provide MDM (Mobile Device Management) and MAM (Mobile Application Management) suite for deploying apps to private Appstores. 


What’s MEAP?



MEAP (Mobile Enterprise Application Platform) was precursor to MADP and this term is no longer used by analyst firms.
  

What’s mBAAS?


  • MBaaS (Mobile Backend as a Service) is a combination of SAAS and BaaS (Backend as a Service)
  • Developers need not worry about Infra, software installation, maintenance and scaling.
  • mBaaS provides object based databases, push notifications, integration layer etc.
  • Metered billing based on number of API calls.
  • Most of MADP platforms also provide metered billing through their cloud platforms. Ex: Oracle Cloud and Kony.
  • MBaaS space is crowded and is at a nascent stage, Wait for a year or two till leader emerges.
  • Popular mBAAS providers are Oracle, AWS and Kinvey.
  • Popular mBaaS tool Parse was shut down recently and option was given to existing developers to install Parse in-premise.  Large number of start-ups had to move the Parse in-premise defeating the purpose of mBaaS.     


Conclusion



All these platforms have their own advantages and drawbacks. Organizations which are new to mobilization should choose the platform carefully which is best suited for their needs.