For mobile application development, I’ve participated in discussions (or debates) about the best approach to take from a development standpoint – native versus a web-based hybrid using your tools of choice. Ultimately, the answer depends on the long term objectives of the application and its intended user base, but it’s hard not to determine a preference early on.
As a ColdFusion developer (and obviously someone who is surrounded by ColdFusion developers due to my job), it’s hard not to be interested by the concept of building a web based solution. ColdFusion could be used for back-end hosted functionality, and the front-end can be developed as a web view with HTML and JavaScript. Thanks to tools like PhoneGap, the source can be compiled as a native application on several platforms. It sounds interesting at first, but the details make me want to reconsider this choice.
To be competitive, the user interface needs to be a relatively rich experience that takes advantage of all things possible with the smart phone user experience. While those are all possible with HTML and JavaScript thanks to powerful libraries like Sencha Touch, they’re certainly not overly simple to produce. JavaScript is an elaborate, object-oriented capable language, and frameworks like Sencha Touch contain many custom libraries and components that take a bit of studying before you can implement them. In my opinion, you get no short-cut advantages building a mobile app using HTML and JavaScript.
My preference is to build a native application. The Android SDK is just plain old enjoyable to work with. The UI API allows your app to look and feel like what an Android user would expect without a lot of wrestling or trial and error. There is also a nearly limitless number of open source initiatives out there, both plain old Java and Android specific, that can really give you a leg-up on your final development goals.
I think there’s a place for web-based development of mobile applications, especially in a client-server situation where deployment to multiple platforms is an expectation. But for me, native is the way to go.
#1 by Levbert on May 2, 2011 - 8:29 pm
Thanks for the insight was on the fence with this issue