what’s so special about the Rhodes smartphone app framework?
When we first released Rhodes framework in the fall of 2008, we called it a “smartphone app framework”. Use your web development skills (HTML, CSS, JavaScript) to write native smartphone apps completed with rich device capabilities such as GPS for geolocation, PIM contact access, camera capture and more. Make it easy apps to provide their users with local data for disconnected offline use. And provide this capability across all smartphones.
We always knew that the base “write HTML/CSS/JavaScript to generate native apps” category would explode. Because it is so clearly the right way to rapidly write apps across multiple devices. And it has: there are now seven players in this base category including PhoneGap. Rhodes has several major architectural aspects that differentiate it longterm from all of these entrants.
ONLY MODEL VIEW CONTROLLER FOR SMARTPHONES
Rhodes is the only framework that uses the Model View Controller pattern. You can write just HTML, CSS and JavaScript to do all of your app. In effect, writing your entire app in the View. If you do this Rhodes is just like all of the imitator frameworks.
But the value of a Controller and use of MVC is very real. It is theoretically possible to write a web app or website with HTML, CSS, and JavaScript and no backend logic, putting all of your logic into JavaScript in the page. But this NEVER happens for an app or site with any complexity whatsoever. All web apps have some backend: either Java or PHP or ASP.NET or Python or Ruby. That is what the Rhodes MVC framework gives you for native smartphone apps: the ability to write real business logic in your local native app on the device.
Rhodes is the only framework with MVC support. This explains why there are so many robust enterprise apps written with it something missing entirely with other frameworks. Rhodes enables you to take modern web development and enterprise app development goodness and apply these best of breed techniques to building native smartphone apps.
ONLY OBJECT-RELATIONAL MANAGER FOR SMARTPHONES
In 2010 ORMs are the way that web developers interact with databases. In web apps it’s rare now to see direct SQL calls. And that’s a great thing for developer productivity and reliable code. Rhodes features the only ORM for native smartphone apps, whether from frameworks or even direct smartphone OS SDKs.
ONLY FRAMEWORK WITH SYNCHRONIZED OFFLINE DATA
This is the ability, provided by the Rhodes framework combined with the RhoSync server, for apps to make data available to their users when they are offline and disconnected. Rhodes is the only framework that offers a sync server to sync mobile data. Doing sync servers well is a very nontrivial effort (far larger than the effort to build a HTML/CSS/JavaScript framework) so this is likely to be true for some time.
The availability of data when disconnected and the ability to transparently synchronize with a backend app have been shown time and again to be necessary to making enterprise users comfortable with transacting from their devices.
SUPPORT FOR ALL DEVICES
Rhodes supports all smartphone device operating systems as first class citizens: iPhone, Android, BlackBerry, Windows Mobile and Symbian. Symbian support was held in abeyance at 1.1 but will be caught up in the 2.0 release soon. WebOS support is underway. There will be more smartphone operating systems emerging as well including Intel and Nokia’s Meego OS. Rhodes has always led in the device OS support area and will continue to do so in the future.
FIRST MOBILE RUBY
Much of the benefit of Rhodes would be achieved no matter what we chose for the language that is used in the Controller. But Ruby is very understandable, terse and powerful and the world’s fastest growing programming language. We’ve seen Java shops and .NET shops enthusiastically embrace Rhodes.
We built the first Ruby implementations for every smartphone device operating system. There is now a Symbian Ruby available as well from Pragmaticomm. And there is also a JRuby implementation running on Android (our Ruby is C-based and hence smaller and faster). We actually look forward to the day when Ruby implementations will ship with all phones. Our value is in the entirety of the framework and supporting servers. But in the meantime providing an advanced dynamic language like Ruby on the device is pretty exciting to many developers.
HOSTED SERVICE FOR DEVELOPMENT
Rhodes provides the world’s first Development as a Service for mobile. You can write your apps online on RhoHub. In effect we give you a web-based Integrated Development Environment. We also let you do builds for all smartphone operating systems online. Finally at runtime we host a sync server for you and app provisioning is under development.
We do tell developers that if they don’t need ANY of these capabilities they should consider a simpler framework such as PhoneGap. That said we have yet to see an enterprise state that none of these differences were relevant and choose another framework.
Our lead over imitator frameworks is very large and growing larger. Over the next few weeks we’ll unveil some of the new features that are even more exciting than these major differences.