Increased developer productivity, multi-platform development, the BYOD trend, enterprise scalability, the demand for great user experiences, and code reuse are some of the reasons why application developers should be using both open-source and proprietary mobile application frameworks today, according to industry solution providers.
“I think what we’ve seen when it comes to app frameworks is, it comes down to developer productivity,” said Genefa Murphy, director of product management of mobile, analytics and user experience at HP Software. “With the whole notion of BYOD, when people used to talk about BYOD, it was always about mobile device management. Now people are realizing that, if you want to actually enable BYOD, it’s not about having the device-management system; it’s about enabling cross-platform applications.”
One way to do that, according to Murphy, is for developers to leverage a mobile app framework for consistency and repeatability if they are building the same app on different OSes. “They should do so if they want to truly support BYOD and also need to get enterprise scalability,” she said.
“Because if you’re looking at a one-off consumer application, it’s not as problematic to do it in native, and native is actually sort of the preferred approach. But when developers are looking for scale—scale and speed combined—that’s when they turn to the mobile app frameworks, which can help them to enable a flexible BYOD policy in their organization.”
Reach out to multiple platforms
Another challenge that developers face in creating mobile apps is that the platforms are diverse and rapidly changing, unlike desktops, which were largely unchanged for the last few decades, according to Xamarin CEO Nat Friedman. “Specifically, there’s a huge variety of operating systems, form factors and hardware devices that a developer has to support,” he said. “And it’s an incredibly dynamic market; it’s changing quickly and there’s a fierce battle for third place among the mobile OS platforms.”
Friedman said that since developers want their app to be available on as many devices as possible, and since they need to develop that app as efficiently as possible, a great tool can help give them a head start. “What a great mobile application framework will do,” he said, “is it will help elevate a developer above the fray of this battle for dominance between the various mobile platforms.”
One of the challenges that mobile uniquely presents that didn’t exist before includes this need to develop multi-platform apps, agrees Appcelerator’s CTO Nolan Wright, but he added that the demand for a great user experience is another challenge facing developers. “It’s unprecedented, really,” he said. “Apple led the charge there; they really raised the bar significantly for user experience. What we see is that it’s not only true for consumer apps, but it’s also true for enterprise apps.
“When you see trends like BYOD, IT doesn’t have the time necessarily to really dictate hardware and software. So you have to worry about internal adoption of your application just as much as you do for external adoption.”
Other challenges specific to mobile, Wright said, are that release cycles are much shorter than they used to be, but at the same time the demand for greater innovation has also increased. “I think that’s why you need to use a mobile app framework versus a Web app framework,” he said, “because I just think the challenges are unique enough that you want something that can help you specialize.”
Mobile app frameworks accomplish two main goals, according to Andre Charland, director of product management of PhoneGap at Adobe. “One goal is indeed the cross-platform story,” he said. “Very few corporations have the resources, in terms of money and talent, to build four or five different mobile apps to be put in all the app stores.
The other benefit, according to Charland, is that you’re writing Web-standard code. “So, as the browsers evolve, you can use that same code you’re writing for your application today that will actually run, for the large part, in the browser. Of course, plug-ins and special APIs aren’t going to run in the browser, but a lot of the actual apps will,” he said.
Because of this, Charland said those who are using mobile app frameworks are taking advantage of skills reuse. “A lot of people who have been wrapping up on Web development skills for the last decade have these skills already,” he said. “They can leverage code across the mobile apps or the mobile or desktop sites. So, you’re sort of future-proofing yourself and using your existing teams, and that’s really why these frameworks exist.”
Michael Mullany, CEO of Sencha, agreed, saying “Mobile is a rich area of innovation, and I think the number of people that are writing complex business applications, from scratch, without a framework, I think you can count them on a single hand.”
Mullany said HTML5-based mobile app frameworks are becoming more popular for enterprise app development because developers can write one program for various mobile platforms in less time. “The role of all developer tools and frameworks is to reduce the time it takes to provide end products,” he said. “And if your requirement is that it runs on multiple platforms, frameworks help drastically reduce the time it takes to get it working.
“It also gives you a much richer toolkit. You don’t have to recreate user interface components from scratch; you can just include an essential carousel and it just works. You don’t have to rewrite a carousel from scratch for Android and for iOS and for BlackBerry.”
Corona Labs’ CEO Walter Luh agreed that it’s difficult to write cross-platform applications from scratch without a framework. “If you do decide to write from scratch, you have to write all this code for iOS, and then you have to rewrite all the code again for Android,” he explained.
“And so, if you were to use the native iOS SDK or the native Android SDK, you essentially would have to write your code for each platform at least twice. So the role of the application framework, at kind of a first cut, is helping you target the most popular app stores, which happen to be iTunes for iOS and Google Play for Android.”
But when developing even for a single platform, Luh said, it’s easier to do so using a framework because you don’t have to reinvent the wheel. “The other reason people use frameworks is because they can get the job done much more quickly, even for an individual platform,” he said. “Cross-platform is just one dimension.”
HTML5-based mobile app frameworks are popular among a lot of smaller shops that are focused on time-to-market and on leveraging the skills of their teams as much as possible, according to Brandon Satrom, program-management lead of cross-platform tools and services at Telerik. “Even today, in most development teams, they’re more adept in Web development than they are in having full stack understanding of native mobile app development platforms,” he said.
Bill Pataky, VP of product management for Oracle Tools and Framework at Oracle, said there are three different deployment models for mobile: Web apps, native apps and hybrid apps, and that using mobile app frameworks is all about efficiency. He said they help with issues such as portability, device integration, and customization.
“The goal of a hybrid mobile application framework is to allow you to write your application once and let the framework take care of the differences in the different hardware, operating systems and form factors,” Pataky explained. “You can actually maintain a single codebase, which is extremely attractive to enterprises.”
iOS 7 mobile app development: HTML vs. native
How will iOS 7 affect HTML app and native mobile app development? HTML apps—those built inside of a shell or using frameworks, in other words—will still work on iOS 7. A lot of the frameworks are working fast to update features to take advantage of iOS 7, according to Brant DeBow, executive vice president of technology at native app development tool provider BiTE Interactive (which offers BiteCore, a suite of native Android and iOS app development tools).
But DeBow said the real problem is that iOS 7 is such a huge visual change that it’s going to make apps look older. He said a lot of things will stick out like a sore thumb because they were built looking at an older version of iOS.
“To give you one big example, Apple is getting ready to introduce a whole set of dynamics,” DeBow said. “So, views and the things you manipulate will actually have ‘physical’ properties, like gravity. Then there’s all this sense of motion and magnetic things and snapping things. That’s just completely brand new for mobile apps, even more so than just that they changed their color palette and moved away from skeuomorphic things. They’ve made it an even more dynamic framework that even an app that was built natively in iOS 6 could end up looking rather out of place.
“And that’s typical of native app development and why we advocate it so much over framework development because this kind of stuff moves so fast that you could look very old, very quickly. You have to be picking up on the new things, and that’s just the visuals. There are also a whole slew of under-the-hood changes that Apple has made in iOS that will be hard to take advantage of if you are only dealing with it with middleware [i.e., HTML5-based mobile app frameworks].”
DeBow said that if you’re dealing with middleware, you’re relying on how fast framework providers can update to take advantage of new things in iOS 7. He added that if you’re the one updating the middleware, then you’re trying to make the lowest common denominator. “You’re trying to make everything basically the same,” he explained, “but the platforms are diverging. They’re definitely widely divergent visually but, even under the hood, there’s a lot of little divergent things that Apple has added.”
Joe Farrell, BiTE Interactive’s executive vice president of operations, spoke of one of the company’s customers and the logistical problems it encountered from using middleware for one of its apps. “They now have to wait for the middleware developer to come up with solutions to what Apple has developed on iOS,” he said.
“And so you have developers who are promising a middleware solution, but they’re trying to code to a beta and figure out how to hook into a new platform. And this happens every year, so you’re really chasing a dragon when you’re with middleware.”
Farrell said you’re never going to get access, in middleware, to the higher functions that are really the most important—and the reason why people are so connected to their phones in the first place. “It’s not because it can do basic functionality,” he said, “but because it can do advanced, really dynamic, amazing things. So you’re underserving when you’re going with shell [HTML] apps.”
Farrell said even people who don’t understand technology can understand that when Apple changes things in iOS without talking to middleware providers, it will take those providers longer to ramp up. “Apple gives us native development tool providers maybe three months to figure out how things are working,” he said, “so how are middleware providers going to build a whole framework around that, in that timeframe, that’s effective?”
The iOS 7 betas are open to anyone who is an Apple developer. Farrell said that he is sure that the framework developers are iOS developers themselves and are currently frantically coding to update their frameworks. “I know that there are a couple framework developers who are committed to saying that, when iOS 7 is officially released, they’ll have an official version same-day that works with it,” he said. “So they’re getting notification, but remember, that’s only three months to do a major overhaul. Apple is certainly not doing it in three months, and so it’s hard to imagine taking those three months, as an HTML5 mobile app framework provider, and being able to move your stuff downfield as fast as you need to.”