fredag den 15. oktober 2010

Frameworks for Mobile Apps


In an earlier blog-post i wrote about PhoneGap and how it could simplify the development of an App across multiple platforms.

You could start developing your app right now using conventional tools such as HTML and Javascript, basicly starting from scratch. You would however run into some problems, not to mention reinventing the wheel.

Most mobile devices these days no longer have a "mouse" (be it in the form of a pad, a ball or a normal mouse) and as such are built on the principals of touch, gestures (like swiping) and movement patterns (such as pinch zoom). Another important difference between the normal web and the mobile web is the lack of "mouse over" or hover. Mouse-over has been broadly used for menustructures, tooltips and the likes since websites became dynamic.

Finding a solution to these differences is pretty straight forward, but code intensive. It's obvious that you shouldn't make a site or app that requires the user to mouse/hover over something but apart from that you need to get a framework that implements the basic touch functionality, that or writing it yourself which seems pretty counterproductive if you ask me.

There already exists several of these frameworks that provide this functionality, and i will try to go through a few of them here aswell as describing some of the other features they contain.

First one is simply called "Touch". The script originated from OpenGeo and its purpose was to find a way to implement touch behaviours to use with OpenLayers. It is very simple and "brutish" but will give the curious reader an idea about whats going on behind the scenes. You can find the script here. There is no license published or similiar. Should be safe to use even for commercial usage.

Next one is JoAPP which is a fairly new framework. This framework works really well with PhoneGap and is rather easy to use too. With very few lines of code you can create something that looks and feels like a real app.
The framework uses the OpenBSD license which means the framework can be freely modified and used in proprietary or commercial software.
JoApp is created and maintained by Dave Balmer who has also published a video on youtube explaining the features of JoApp, a good showcase aswell.

JoApp is still in its development but from my experience it is very usable even at this point.

SenchaTouch from Sencha is a very cool and slick looking framework. Sencha has been on the JavaScript framework "market" for a long time now and have shown some impressive products in the past.
Instead of describing SenchaTouch, i will link to their demosite instead. If you have a smartphone or phone with touch compatability check out this site in your browser: Kitchen Sink Demo. It does work in normal browsers aswell but you don't really get the feel for the touch controls that way.
Sencha is a commercial business and as such their product is also under a limited licence. You can freely use it for opensource projects but for commercial products, prices start at 99$ and upwards.

jQueryMobile is the last framework i found notable. jQuery has long been the closest there is to an industry standard in JavaScript frameworks. The regular jQuery is used by 31% of the top 10.000 websites out there. They have recently started a mobile branch of jQuery which is scheduled for release late 2010.
Not much is currently viewable from jQueryMobile but you should none the less check out their design page here for some very pretty and functional designs and features.
jQueryMobile, like its parent, has a very open license that allows you to use it both commercially and of course for opensource projects. You can use it as long as you retain the copyright headers.

Of the mentioned frameworks it is quite clear that Sencha is the leading one, at the moment. However im betting that jQueryMobile will be taking the lead later this year when the first release is finished. It is worth noticing that only JoApp has been tested by the developers for use in PhoneGap. I myself have tried putting Senchas KitchenSink demo in an Android app with certain design problems being noticeable.

1 kommentar:

  1. Det holder bare slet ikke med pixlerede træer som baggrundsbillede. Det er ikke noget jeg har lært dig!

    SvarSlet