7

I know the headline is full of buzz words ;-). I am going to develop a web application targeting iOS and Android only (currently). It's mainly just about forms over data with a wizard component. The only "magic" will be, that a user can use parts of the app offline (go through the wizard and save the data locally, than pushing it to the server when getting online again).

I am an ASP.NET MVC developer and I have some experience in jQuery, so my first intention is to develop the application with that.

But maybe there is another approach which I should consider out there? Do you have any recommendations for a lightweight framework to handle this (ideally based on jQuery)?

Everything I found until now isn't an option, primarily because it's too slow (Sencha Touch and jQuery Mobile).

asp_net
  • 3,567
  • 3
  • 31
  • 58
  • 3
    Try the [HTML5 Boilerplate](http://html5boilerplate.com/). Also "HTML5 Framework" is ambigious and _"buzz-wordy"_. What problem do you want to _solve_ with this lightweight framework? – Raynos Jun 06 '11 at 12:38
  • 1
    HTML5 is the framework in itself. Browsers implement these standards and you simply use HTML markup to take advantage of them. – John Strickler Jun 06 '11 at 12:44
  • There is also an [HTML5 Boilerplate for mobile](https://github.com/shichuan/mobile-html5-boilerplate) – Mottie Jun 06 '11 at 12:50
  • Could you clarify what you mean when you say that Sencha Touch and jQuery Mobile are too lazy? – Paul D. Waite Jun 06 '11 at 12:59
  • 1
    @Paul D. Waite: sorry, it's a typo - they are too slow, not to lazy ;). @Raynos: I mainly want it to solve the main GUI tasks. Because the app has to run offline I need some kind of a state within the HTML page. I can manage that by my own, but I am wondering if there is a solution out there. But whatever I am trying, it always gets too slow at least on Android (2.3). – asp_net Jun 06 '11 at 13:05
  • @asp_net for state management I would recommend [`backbone`](http://documentcloud.github.com/backbone/) or [`spine`](http://maccman.github.com/spine/). Read the [mobiflex](http://www.distractable.net/coding/another-mobile-ui-library/) page for an insight into mobile UI libraries. Also you might find a useful link in [this question](http://stackoverflow.com/questions/215390/available-iphone-web-application-javascript-ui-library-frameworks) – Raynos Jun 06 '11 at 13:24
  • I HIGHLY recommend Lungo by tapquo. It is mind-blowing actually, since upgrading I have a modern experience with much more performance than jQueryMobile, EXTREMELY high quality code, and many many interface tools like multi-gesture support. I'm not affiliated with them, just amazed at how no one seems to have found this gem. I'm using it to build http://www.mydentalcompanion.com/, if you are interestd in previewing the UI results (the video is actually less smooth than the native operation as it's motion graphics) – Steve Benner Apr 19 '14 at 20:42

3 Answers3

3

The only other framework I know is jQtouch. You can also try Appcelerator's Titanium Mobile, this performs much better than HTML5 since it's native. It doesn't have all the flexibility of Native Apps but for what you need it should be more than enough. It's easy to use too. If it's only Android and iOS you're looking to support then this should work.

The GUI speed will always be a problem with HTML5. Those frameworks are pretty fast since they use CSS3 animations which is the best you'll get with Web-Kit browsers. They are also detecting touch events which is as fast as the browser will behave with user interaction.

The only option I can see to try and make it a bit faster is you coding it from scratch but I doubt you'll get any better performance. I'm guessing you've been testing with devices and found the speed terrible. On devices like the iPhone 3G or 3GS HTML5 performs very slow. Even on the iPad it can get tricky.

Here's a great article which talks about enhancing HTML5 GUI performance.

This other article talks about JS speed on the iPad.

Unfortunately HTML5 is not the magical solution everyone expects it to be at the moment. I've had to deal with too many disappointed clients after you show them the results. They were used to native Apps and thought HTML5 will bring them a cheap solution that would look just as good.

I suggest you let your boss or client know this in advance. Anyway, your App sounds simple enough that should work fine on HTML5 anyway. One piece of advice I can give you for sure is to avoid Canvas, that would be super slow.

Sorry about the gloomy post.

HotFudgeSunday
  • 1,403
  • 2
  • 23
  • 29
  • Thanks for for your reply. I ended up in using a mix auf custom CSS3, knockout.js and jQuery as a basement, avoiding any of the mobile frameworks. They're just too slow. Speed isn't really a problem anymore, except for the onclick delay of almost half a second, which I still have to work around. The bigger problem is the lack of ability to scroll over complex dom structures, there seems to be no suitable solution out there and we may wait until iOS5 is realeased. But that said I got a really neat application which behaves really fast, looks great and runs completely offline. – asp_net Jul 11 '11 at 06:57
  • You mean like overflow:scroll on divs and stuff like that? I'm using jScrollPane (http://jscrollpane.kelvinluck.com/) which seems to work on the iPad. There's also iScroll. Not sure if this was what you were talking about. – HotFudgeSunday Jul 11 '11 at 20:40
1

I used jQuery mobile for a small project (5-7 screens). It's UI/UX is decent, implementation is simple if you already have some jQuery experience. I didn't have any performance issues (didn't have any lists with more than 30 items though). It also has lot of support from the community.

manchax
  • 31
  • 4
0

If you have experience with JQuery, give JQuery Mobile a try, is still in Beta, but I think is quite nice and stable, and it's having a lot of development.

jasalguero
  • 4,142
  • 2
  • 31
  • 52