9th July, 2011
It is currently held that if you want to make a move in mobile, you have to build native applications. This means Java for Android, .NET for Windows Phone 7, and Objective-C for iOS - all completely different and requiring very different skill sets and tools. However, since the rise of HTML 5 on the desktop, developers are starting to push the boundaries with web apps on mobile devices. Google, for instance, push not only search but document viewing and editing through the browser onto mobile devices. The great thing about HTML 5 is that if you build an app once, it should work just the same on whichever mobile phone people are using.
The Pro Android Web Apps book, published by Apress, is a fantastic guide to just about everything you could want to know about optimising web applications for Android-powered devices.
Covering everything from just about the basics, the book introduces development environments and setups in detail if you need it, but the more experienced will happily skim over the more detailed instructions. There were some useful surprises in there, for example the recommendation of the Mongoose web server for extremely simple development requirements. Concepts used throughout the book are also explained carefully and in a beneficial way.
Leading by example, the book proceeds to walk through the development of a simple todo list web app. This gives the opportunity to cover the basics - such as a single-page solution in local storage only - before moving on to server synchronisation, packaging as a native application, multiple pages, HTML 5 APIs, and a whole lot more.
The detailed section on making offline webapps is very welcome, as is the details on the local and session storage APIs. Geolocation gets a great section, as does the HTML 5 canvas feature.
Overall this book is a perfect desk reference for anyone serious about building web-based applications for mobile clients that look, feel and work like their native counterparts without the overhead of learning all of the various skills required for separate native apps. It provides a strong foundation for going forwards and will be invaluable to web devs looking to take advantage of the rise of mobile devices.