What is Mobile Apps?
Software application developed specifically for wireless/ Mobility computing devices such as phone, tablets etc…rather than desktop or laptop computers.
Apps that are specially made for a mobile platform and run directly and only on that platform.
iOS and Android are mobile platforms which hold the 90% share of the market.
Language: Objective C /Swift — Runtime oriented. Runtime is part of iOS restricted to build app on iOS machines only.
Class/ Control Library: Cocoa Touch – Based on MVC.
Language: Java for android–Object oriented language derived from C.
Compile into Dalvik ByteCode have Dalvik Runtime–comes as default with kit kat and later versions.
Class/ Control Library: Android APIs IDE- Eclipse/ IntelliJ IDEA.
Mobile apps that are deployed in an app store but are actually web apps.
Apache Cordova: An open source APIs like accelator, Camera, GPS etc.. Cordova does not have own IDE or tooling.
PhoneGAP: By Adobe, cordova and phonegap is same deploying package. PhoneGap related development:
To get PhoneGapBuild for deployment: Go to Build.phonegap.com
AppBuilder: By Telerik Based on Cordova.
Ionic: AngularJS Based framework.
Cross Platform Apps:
Native mobile apps that are developed using a framework which enables the sharing of code between mobile platforms. Write once for all platforms.
One language to know. Code sharing, code reuse.
Uses a run-time Interpreter depending on product, we can use existing language skills.
Xamarin: .Net based uses C# strong features like LINQ, Generics, Async/Await etc.. Mono implementaion.
Based on Ahead-of-time compilation– Act of compiling CIL/bytecode/C C++ into a native(system-dependent) machine code with the intention of executing the resulting binary file natively.
Code sharing by Portable class Library(PCL). Dll support only windows but PCL support many other paltform.