A few weeks ago I found myself on a journey to find the best go-to framework for HTML5 mobile development. The objective: develop a cross-platform mobile version of an online digital store. Having some (extremely frustrating and negative) experience with Sencha Touch, and having an overwhelming desire to avoid being put in a situation where I’m swearing at my screen at 3am while going through painful, agonising debug sessions of the Sencha Touch core I was determined to find a better alternative.
Quite honestly, I was surprised by the amount of junk out there. Most mobile HTML5 platforms I found were either obviously outdated (showing off screenshots of “native widgets” from iOS 5.0 era sporting an iPhone 3GS, and ancient Android design atrocities that will remain unidentified), or tried to reinvent the wheel. That is until I found Lavaca.
Before explaining why Lavaca is great, I’d like to elaborate just a tiny bit on why Sencha Touch or jQuery Mobile (the two “kings” of mobile HTML5 at the time of writing this post) aren’t.
The main problems I experienced with Sencha Touch:
- Size (1mb+ compressed for just the framework), which means that whatever you do, however big or small your app is, the user will have to download at least 1mb of stuff onto their phone. I know that theoretically mobile speeds are always increasing, but 1mb?!
- There are 50 ways to do the same thing, of which 40 aren’t documented, and 3 are really the right way to do it (all of them undocumented) .. which coupled with reinventing the wheel makes it impossible to do anything without acquiring the need for anger management courses.
 To anyone saying that Sencha is the best thing since sliced bread, and I’m just missing out on the wonders of it, I would write up a long rant, but someone already did it for me: https://gist.github.com/cinsoft/3279190 [/edit]
jQuery Mobile seems to fare a bit better on the size, and consistency issues. But it seems to be a bit confused at what it is trying to offer. On one hand, it’s trying to be minimalistic – so it lacks features. On the other hand, it is trying to cover lots of ground when it comes to widgets, ui components, cross platform themes e.t.c
Here’s where Lavaca make sense of all this:
- Size: my whole app, before any optimisation, including all the lavaca components weighed less than 200kb. That’s extremely lightweight, and I believe I could cut off considerable parts of it. This is very important for a mobile app.
- Modular approach: Since the framework is very loosely coupled, you can very easily replace, modify or completely remove entire sections of it. Your’e not forced to use any of the components, and you’re free to rewrite any part to suit the needs of your application.
In future posts, I’ll try to cover subjects in Lavaca development not mentioned on their website, and overlooked by the documentation, so stay tuned.
You can check Lavaca out right here: