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开发者_StackOverflow 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).
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.
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.
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.
精彩评论