For several months, I’ve been tracking the evolution of mobile browsers as the next client platform for Web applications. When explaining the technologies involved, I find I keep answering the same questions repeatedly. Understanding how the pieces fit together is not obvious, so I’ve written it up.
Important terms defined
HTML5 – Hyper Text Markup Language has been updated with new APIs (Application Programming Interfaces) – for the DOM (Documement Object Model). Updates include:
- The canvas element for immediate mode 2D drawing.
- Video and audio playback
- Offline storage database
CSS3 – Cascading Style Sheets now enable you to make your pages more whiz bang than the blink tag ever could. CSS3 enables:
- Animations (flipping, sliding, rotating)
- Drop shadows
- 2 and 3d rotation
WebKit is an open source HTML Web browser engine. It is the engine that Apple uses for Safari, and Google uses for Chrome.
Ruby is a programming language. Rails is a Web framework using the Ruby language for used with a Web server to serve web pages. Some frameworks allow you to use Ruby on the client side, but 90% of the time Ruby is for server side programming.
Appcelerator does the same thing, but with a more robust set of libraries. They recently purchased the Aptana IDE (integrated developement environment). Apcelerator will replace their existing Titanium IDE.
What provides the neato animations?
How do I get access to native features?
Any web page has access to the user’s location, but to get access to the address book and camera, you need to compile a native application and distribute it through the app store.
What is the most platform independent?
The safest choice is to stick with Web page delivered to a web browser. PhoneGap and Appcelerator offer the promise of compiling the same app for multiple platforms, but in practice they all look and behave differently. If you need need access to the camera, address book, or smooth animations (like in a game) go native.
Which is the fastest platform to develop on?
For teams with Web skills, it is fastest to develop a web page targeting phones. PhoneGap and Appcelerator make developing native apps approachable for Web devs, but still require extra compilation and distribution time (for now).