use your web dev skills to build NATIVE smartphone apps
I’ve been speaking at a lot of Ruby conferences over the past few months (almost every one). The attendees of these conferences are almost all web developers. They see that the big growth opportunity in software today is writing native smartphone apps (not mobile web apps, a category that the App Store has basically killed for many good reasons). But they are worried that they have to learn specialized arcane skills such as Objective C and the iPhone SDK, or Java and the Android SDK or C++ and, if they are outside the US, the Symbian SDK in order to be productive writing such apps. Learning any of those skills individually is a daunting task. The combination of them is well nigh impossible in a timeframe sufficient to actually release an app for today’s marketplace.
There is an alternative: a “smartphone app framework”. When we released the first version of Rhodes last December we coined this term. To our delight a robust marketplace has emerged of such tools as reported by InfoWorld recently. Flavio Ishii recently blogged on this phenomenon as well. Smartphone app frameworks let you write your user interface for NATIVE apps (NOT mobile web apps) using HTML, JavaScript and CSS. The user has no idea that these were build with an embedded browser component.
CSS is used to style the HTML to look native. Joe Hewitt pioneered this approach prior to Rhodes existing, with his IUI library. Rhodes ships with CSS libraries for iPhone, Android, Windows Mobile and BlackBerry to make the HTML look more native very much inspired by IUI. But developers can use third party libraries such as IUI or IWebKit by just adding them in the CSS directories of their Rhodes project. Smartphone app frameworks all provide some method of accessing native device capabilities. For Rhodes this is a combination of JavaScript libraries and Ruby libraries.
Today Rhodes goes beyond other smartphone app frameworks in several areas:
- support for all popular smartphones
- the first mobile Ruby implementations running on all smartphones (HTML is great for the interface, but having Ruby far more powerful than trying to write your whole app in HTML and JavaScript)
- the only smartphone focused sync framework (client in Rhodes and separate RhoSync server) in the industry
Discussion of each of those differentiators are worthy of their own posts.