-Developer can use existing web skills
-One code base for multiple platforms
-Reduced development time and cost
-Easily design for various form factors (including tablets) using responsive web design
-Access to some device and operating system features
-Advanced offline capabilities
-Increased visibility because the app can be distributed natively (via app stores) and to mobile browsers (via search engines)
IBM MobileFirst Foundation, formerly known as IBM Worklight®, is a suite of software development products that allow developers to build and deliver mobile applications for the enterprise.
The MobileFirst Platform Foundation consists of:
MobileFirst Server – the middleware tier that provides a gateway between back-end systems and services and the mobile client applications.
MobileFirst API - both client and server-side APIs for developing and managing your enterprise mobile applications.
MobileFirst Studio - an optional all-inclusive development environment for developing enterprise apps on the MobileFirst platform. This is based on the Eclipse platform, and includes an integrated server, development environment, facilities to create and test all data adapters/services, a browser-based hybrid app simulator, and the ability to generate platform-specific applications for deployment.
MobileFirst Console – the console provides a dashboard and management portal for everything happening within your MobileFirst applications.
MobileFirst Application Center - a tool to make sharing mobile apps easier within an organization. Basically, it’s an app store for your enterprise.
BM talks about the MobileFirst Platform in two ways, based in its capabilities and also by its components. The capability areas are: Continuously Improve, Secure, Contextualize and Personalize, and Enrich with Data.
Continuously Improve - allows IT to manage application refresh cycles and collect in-app usage analytics. Secure - provides enterprise mobility management (EMM) capabilities. Contextualize and Personalize - allows developers to create mobile apps that are location- and context-aware. Enrich with Data - allows IT to join its mobile apps to internal and external data sources by connecting directly with IBM's Cloudant database as a service (DBaaS).
This framework is very easy to use, flexibility and has semantic markup components and is free to use for commercial projects.
It is open source and designed to deliver native look and feel. Apps are made out of simple HTML tags, thus providing a gentle learning curve.
Onsen UI is tested with the following browsers and mobile OS.
Android 4.4.4+ (and Android 4.0+ with Crosswalk engine)
Sencha Touch has been merged with Ext JS, which provides developers with everything they need to build data-intensive web apps.
For individual developers and freelancers, Ionic, Onsen UI or Framework7 will be a better choice but for enterprises application, Sencha Touch leads the way.
Sencha Touch scores highly against its competitors by providing a native look and feel across all of the platforms it supports.
Xamarin.Mobile is a library that exposes a single set of APIs for accessing common mobile device functionality across iOS, Android, and Windows platforms. This increases the amount of code developers can share across mobile platforms, making mobile app development easier and faster.
Xamarin.Mobile solves this problem, helping you maximize code sharing while still delivering high-performance, beautiful, native user experiences.
Xamarin is a framework for cross-platform mobile app development in C#. The way it works is simple – you write one shared C# codebase with full access to all SDK possibilities and native UI creation mechanisms, and the result you get is a mobile app that looks and feels completely native.
Xamarin is different. It is based on an open-source implementation of .NET called Mono. This implementation includes its own C# compiler, development environment and main .NET libraries.
There is a key difference between iOS and Android when it comes to apps performance – it’s their preliminary compilation. On Android devices virtual Java machine Dalvik is used to run the apps.
Native apps written in Java are pre-compiled into bytecode, which Dalvik then interprets into commands for processor when the program is running.