Over the next 10 years, we expect the mobile app development technology market to winnow down the 100-plus solutions we’re currently tracking to a more manageable number. In the meantime, application development and delivery professionals need to step carefully through a hype-filled minefield of tool choices in order to deliver five-star mobile applications to their customers, employees and partners. But, we’re all sailing in uncharted territory, so it’s wise to keep your options open and maintain a multiple-tool/technology approach while the collective market finds its bearings.
Mobile activities vary: Some are device-centric, some require connections to Internet resources, and still others are content-focused. You have to balance factors such as cost, performance, agility and experience levels when it comes to the right technology for each of these mobile workloads. Understanding the menagerie of tools and how they support different mobile development approaches is the first step in identifying the right multi-pronged approach for any situation.
Native development tools keep hardcore developers close to the platform. Each mobile platform vendor makes low- or no-cost tools available to developers to build mobile apps that will run natively on its platform. In Apple’s case, developers use Xcode to build and compile iOS apps. Google offers the Android Developer Tools, a plug-in for the Eclipse development platform. Microsoft Windows Phone SDK 8.0 includes a standalone version of Visual Studio Express 2012.
In each case, these development tools include everything needed to support a basic edit-compile-debug cycle, as well as a platform emulator for off-device testing. While they are optimized for a single platform, they’re only suitable for hardcore developers that are willing to invest a substantial amount of time to learn the extensive and sometimes intricate APIs unique to each mobile platform.
Responsive Web templates optimize page display for different devices. Many mobile Web developers combine lightweight Web frameworks with CSS media queries and new HTML5 elements to create fluid views that can resize a website dynamically to accommodate different viewports. The dynamic sizing break points are usually specified in pixels (e.g., 320px, 600px, 768px, 1024px) and allow developers to cover a wide variety of HTML devices, including eReaders and in-car systems, as long as the device supports a modern browser. A responsive Web approach is suitable for development shops with existing Web development and design skills, and for mobile sites that deliver content.
jQuery is widely used as a starting point, but other lightweight mobile Web frameworks choices include Zepto.js, Yahoo Mojito, and SnackJS. Many design agencies use this approach to deliver connected app projects to their clients because it gives them a common codebase across multiple platforms, while still providing a wide latitude in the look and feel of the customer experience they deliver.
Hybrid containers give open Web developers access to platform capabilities. Even though each mobile platform has its own APIs for GPS, accelerometer, camera, compass and network, it’s possible to abstract these API calls behind a common service façade. Add a “chromeless” Web browser as a UI control, and you have the core elements of a hybrid container.
Mobile middleware solutions combine rapid development tools with infrastructure services. Some vendors offer development tools to ease the burden of plumbing connections between mobile app and infrastructure services. Apps built with mobile middleware tools may be deployed to on-premise servers or vendor-hosted infrastructure. It’s also common for mobile middleware tools to support one or more of the technology approaches described above. Developers have the choice of compiling a native package for submission to an app store or deploying their creation as a Web application. Some middleware tools even cross-compile apps down to native opcodes that run on the ARM- or IA-based processors found in common mobile devices.
Jeffrey Hammond is a Vice President and Principal Analyst at Forrester Research. He will speak more about the subject at Forrester’s Application Development & Delivery Forum in October.