Cross platform mobile apps development framework

They offer rich code libraries with touch-screen controls, layouts, navigation patterns, and transition animations, which you can use as building blocks for your mobile web app.

As a result, you will write only once, and will be able to run your web app on many touch-based mobile devices, provided it looks and works the same on all of them. In certain cases, you might want to introduce some platform-specific differences – for example, show iOS-style controls on iPhone and Android-style ones on Android.

Even with platform-specific changes, the amount of shared code may be as high as 70-80 percent. And writing web apps is definitely easier than doing something similar in native code.

The price for going this route is obvious – web apps are not real apps. Although they get some access to basic device features like camera roll, geolocation, and local storage for offline work, the range of options is very limited. You can’t, for example, get a list of contacts, connect to hardware, run in the background, and receive push notifications to keep the user engaged.

And, most importantly, there is no way to put your web app into the App Store or Google Play and leverage its capabilities for in-app purchases and subscriptions.

Web apps are valuable and cost-effective but they have significant limitations.

Hybrid (Web to Native Wrapper)

If you don’t want your web app to run in a browser and need access to more device features, you can use wrapper tools to pack your web app into a native container so that it’s distributed and installed like any other normal app.

In addition to the packing capabilities, the wrapper tools usually offer a set of extensions to reach some native platform APIs from your web code, enabling you to do what websites can’t – media recording and playback, contacts, notifications, and so on.

The resulting application — called a Hybrid app — is like a website without a browser frame but with extra functionality. Hybrids can be distributed through app stores.

The most popular wrapper out there is PhoneGap. Its open-source version – Apache Cordova — serves as a base for other commercial tools, such as AppMobi and Worklight. Some mobile web frameworks mentioned above may also offer their own tools like Native Sencha wrapper, but as of now PhoneGap still seems to be the most extensive and mature solution. It provides a simple API and lots of plugins, enabling your web-app to do most of the things a native app could do.

The hybrid approach is the quickest way to get an app into the App Store. You get all the benefits of web apps with a very little added cost.

Unfortunately, hybrids have deficiencies that are rather serious.

Our experience with a combination of PhoneGap + Sencha revealed a number of issues affecting the user experience and limiting this tool to very simple apps with minimum data and UI.


You might also like

Why old iPhones become sluggish over time  — Macworld
One of the unusual consequences of being in the computer business is that I tend to own more devices than the average person.

zhaoxianghong Qt 5 Everywhere 1.0
Mobile Application (zhaoxianghong)
  • This application highlights the versatility of Qt technology in bringing different user interface styles in several platforms and device types with one source code
  • embedded and mobile platforms
  • Qt is a cross-platform complete development framework with tools
Adobe Adobe Flash Builder 4.5 Standard for Mac [Download]
Digital Software (Adobe)
  • Adobe Flash Builder 4 software is a professional-grade development tool for rapidly building cross-platform rich Internet applications (RIAs) and content using the...
  • Accelerate development and testing of expressive web applications using powerful developer tooling.
  • Integrate with servers and services in existing infrastructure, including those based on Java, PHP, Adobe ColdFusion software, REST, and SOAP.
  • Visually design and preview user interface layout, appearance, and behavior using a rich library of built-in components.
  • Create intuitive, engaging applications that deliver more compelling experiences.