If your company is developing mobile apps, it is hard to ignore the hard-charging iPhone and Android platforms. But who else deserves attention? Certainly BlackBerry is still a player, even if it's shrinking; maybe the analysts are right and Microsoft can't be ignored either. But why take a risk betting on the wr
If your company is developing mobile apps, it is hard to ignore the hard-charging iPhone and Android platforms. But who else deserves attention? Certainly BlackBerry is still a player, even if it's shrinking; maybe the analysts are right and Microsoft can't be ignored either. But why take a risk betting on the wrong horse?Native apps on the major mobile platforms have very different development environments, at least if you use the ones provided by the platform maker. Each app requires its own specialized set of development resources and testing expertise. That has significant time and cost implications, so it's natural to think about ways to support fewer platforms. Although limits can certainly save money, a wrong guess about winning platforms might negate those gains. Plus, what about all the mobile devices already deployed? If those devices have to be replaced, there could be significant costs for that as well.
There is another way: Write a platform-independent native app using a framework. There are plenty of frameworks that provide a way to target multiple mobile platforms with a single set of code. They include Blueprint, PhoneGap, Rhodes, and Titanium. I won't try to compare and contrast these frameworks, because I haven't used them to create an app. Like any write-once-run-anywhere solution, there are sure to be some compromises.
With a pure-browser implementation, there's no need to submit the app for any approval before it's deployed, and no need to update the app software on the device. Just have the user browse to the site. There are several browser-based frameworks for mobile applications, including Sencha Touch and jQTouch. As a member of the jQuery team, I'm partial to the upcoming jQuery Mobile.
Although they can often reduce or eliminate the need to develop per-platform applications, none of these solutions eliminate the need to test on all the platforms your company wants to support. Differences in hardware, browsers, and screen resolutions can cause issues. Even so, they greatly simplify the costs, timelines, and risks of both development and testing. That helps to ensure that regardless of who wins the mobile market-share battle, you win too.
Building A Mobile Business MindsetAmong 688 respondents, 46% have deployed mobile apps, with an additional 24% planning to in the next year. Soon all apps will look like mobile apps – and it's past time for those with no plans to get cracking.