For this project, I will be developing several mobile applications.
While that actual development might have its own complexity, the whole concept of mobile applications makes everything a bit more challenging.
For example, there are two broad categories (or types) of mobile applications that are currently being developed.
Native applications are design specifically to run on the mobile device's operating system (OS). So for example Apple mobile products (iPhones, iPads, iPod Touches) run the iOS platform. If you want to develop an application for one of these devices you need to specifically write the code or use tools to support it.
The other dominant mobile operating system presently is Google's Android OS. So while there are similarities between this OS and iOS, applications developed for one of them will not run on the other.
That's never the situation a developer wants to deal with but it is what it is.
This means if you want to develop an application that runs on both an iPad and a Droid phone, you really need to develop the application twice. It even gets more complicated since both iOS and Android have different OS versions (which have different features available) and device sizes that they support.
For example, an application that works great on an iPad may not be usable on an iPhone due to screen size or operating system version so now here is another set variables to contend with during your development.
If you expand your support to other devices like Blackberry, Palm or Windows tablets, you have even more work to do.
Is there a way to develop an application that works on multiple devices? Not yet but the closest solution is using a web-browser approach and HTML 5. The benefit is that since it is a browser application and should work on any device as long as the device has a browser that can handle HTML 5.
So is HTML 5 the way to go? Well ... maybe. HTML 5 isn't able to leverage as much of the device features as a a native (and custom OS) application. So while you may be able to achieve a wider audience with HTML 5, you might need to give up on some functionality like cool application interfaces or database system access or GPS tools. Another possible disadvantage of the HTML 5 approach is that your application is dependent on the device's ability to access the internet. A native application may or may not need Internet access to work.
How about are there tools to make this all easier? I hope to find that this is true as the project unfolds. There is a lot of hype about using Adobe Flash CS5, some companies are testing possible solutions, and the native application tools continue to evolve.
I'll share what I find on this BLOG about the tools and application development in general.
For this project we'll try a combination and collect feedback from students on the use of the developed applications. Can I predict the best answer? I doubt it but at least I hope to gain and share more insight on mobile application development and the pros and cons of the different approaches. Lastly, HTML 5 is a still evolving standard and how an application may run is depended on the device's web browser's implementation of delivering HTML 5.
Please share your comments and suggestions.
Thanks, Dan


No comments:
Post a Comment