Paulista - Fotolia

Mobile app development frameworks ease developer woes

Whether developers turn to mobile app development frameworks or platforms to build native, web or hybrid apps, the options are nearly endless. The trick is picking the right one.

Developers face a number of challenges when building mobile apps for multiple operating systems. Creating an app for iOS is much different from creating an app for Android, BlackBerry or Windows Phone. Developing for multiple OSes can mean learning new tools and programming languages.

For this reason, many organizations turn to mobile application development frameworks (MADFs) or mobile application development platforms (MADPs) to help mitigate some of these challenges. MADFs allow developers to use familiar tools and languages to build cross-platform apps that can run on multiple mobile operating systems; meanwhile, MADPs provide developers the tools they need to build, test, deploy and manage apps.

Native vs. hybrid

Mobile app development frameworks generally fall into one of two categories: native or hybrid. The native types convert one programming language into the native languages of the target mobile platforms. The hybrid types use client-side technologies such as HTML, CSS and JavaScript to deliver an application that runs within a shell on the target OS.

The native approach to building mobile apps usually delivers better performance and user experience, but requires more developer skills. These apps can also be difficult to maintain over the long haul. Even so, developers with the right skills will find that the native type MADF can help simplify many of their projects.

One MADF that takes the native approach is Xamarin. The product supports a .NET development environment, which allows C# developers to use their existing skills to deliver Android, iOS and Windows mobile apps.

Developers should know upfront what they need before making any decisions.

Another popular framework for building mobile apps in their native code is Appcelerator Titanium, an open source SDK based on JavaScript. Titanium provides more than 5,000 APIs for building iOS, Android, Windows and BlackBerry mobile apps. An alternative to Titanium is Corona, another open source SDK. With Corona, developers can build apps for Android, iOS, Windows Phone, Kindle, and Mac and Windows desktops.

Developers who plan to take the hybrid approach to cross-platform development have a wide range of options to choose from. Although the performance and user experience of hybrid apps are not on par with native apps, this development approach tends to be simpler and faster because it allows developers to use their existing client-side scripting knowledge.

One of the most well-known and frequently used hybrid frameworks is Adobe PhoneGap, an open source tool based on Apache Cordova. Developers can use HTML, CSS and JavaScript to create a single code base to build apps for iOS, Android, BlackBerry, Windows Phone and other operating systems. A wide range of plug-ins that provide a JavaScript interface to native components are available.

There are also plenty of other frameworks out there for creating hybrid applications, including jQuery Mobile, Sencha Touch, Ionic, Kendo UI and many more. Each offers its own spin on app development and they can vary in capabilities and complexity, but they all provide the ability to build hybrid mobile apps that can use at least some of the target OS's native capabilities.

When shopping around for MADFs, whether those focused for native or hybrid apps, developers should take into account not only their application requirements, but also the skills and resources available to their organization and what each tool will require.

Some frameworks support both native and hybrid cross-platform apps. Some even support web-based apps. Some frameworks are open source, others are not. Some come with larger user communities than others. Some support more development languages. As with any tool selection, developers should know upfront what it is they need and are trying to do before making any decisions.

Why the right app dev tools matter

MBaaS and refactoring tools to test drive

Building mobile apps with MADPs

Developers that need a more complete package than what's available with mobile app development frameworks should consider MADPs. Comprehensive MADPs not only streamline building, testing, deploying and managing apps, but also include APIs for integrating with other systems and mechanisms for customizing the apps beyond the out-of-the-box capabilities. Some platforms even provide back-end systems and services.

When assessing MADPs, one consideration to keep in mind is how well the platform supports codeless or near-codeless development, also called rapid mobile application development. Under this model, people without much technical development expertise can use point-and-click operations to quickly and easily build mobile apps they can deploy across multiple operating systems. Some of these platforms also allow customizations -- which require coding skills -- but the primary development model is geared toward power users, rather than developers.

One example of this kind of MADP is from Salesforce. Users simply create custom objects that define the application and control how data is presented. is cloud-based, so when users deploy their applications, they're immediately available through any web browser or through the Android and iOS mobile apps. This approach is similar to the shell technique used to build and run hybrid apps. is heavy on the point-and-click approach to development, but professional developers can use it to create custom components to meet an app's unique requirements. In addition, provides the infrastructure necessary to deploy and maintain the apps throughout their lifecycles.

Amazon Web Services Mobile Hub is another cloud-based platform for building mobile apps -- and deploying them. It includes services for building and testing Android and iOS apps, as well as features such as authentication, data storage, push notifications, back-end notifications, content delivery and analytics.

Not all MADPs are cloud-based, however; many are available on premises. For example, IBM's MobileFirst Platform Foundation provides an environment for building and managing enterprise mobile apps. Developers can use the platform to test, deploy, monitor and analyze apps for a wide range of operating systems, including Android, BlackBerry, iOS and Windows.

The platform supports the complete app lifecycle, from development to implementation to ongoing maintenance. And SAP's Mobile Platform offers infrastructure for developing, deploying and managing mobile business apps. The platform provides the tools necessary to build native, hybrid and web-based apps for iOS, Android, Windows and BlackBerry devices.

There are plenty of other MADPs as well, such as Kony Studio, Appcelerator Platform and Telerik Platform. First decide whether to go with a cloud-based service or on-premises tool. Some on-premises products -- such as MobileFirst -- can also be implemented on a cloud-based hosting-service. It's important to fully understand what features each platform offers and which ones are important to developers and the company, so buyers should do their homework before committing to any one platform.

Next Steps

Explore various MADPs

MADPs have pros and cons

CIO rules to build mobile apps

Dig Deeper on Mobile enterprise application development