HTML5 UI Frameworks for Apache Cordova & How to Start a new Framework7 Project from the CLI

This blog post is brought to you by the developer of BitBudget. BitBudget is an automated budgeting app for Android and iOS which syncs with your bank account and helps you avoid overspending. If you’d like to quit living paycheck-to-paycheck and get a better handle on your finances, download it today!

Currently experiencing a little JavaScript fatigue tonight playing around with all of the various HTML5 User Interface Frameworks for building hybrid mobile apps using Apache Cordova. The main three or four I’ve been looking at are:

  1. Ionic
  2. Onsen UI
  3. Ratchet
  4. Framework7

Of the four it appears the Ionic framework has been around the longest and is the most established. However, Ionic is deeply tied to AngularJS so I’m scratching it off my list (Ionic will be supporting VanillaJS soon, but not quite yet).

Onsen UI is pretty established as well and I’m considering it as a backup plan should my Plan A fail.

Ratchet is from the guys at Bootstrap, and I really like how simple it looks. However, they haven’t made a commit to the repository in 3 years and the styling sort of looks “old”, so I think I’m going to scratch it from my list.

And that brings us to last but not least, Framework7. For whatever reason Framework7 isn’t listed on the Apache Cordova website as a suggested UI framework. However, it honestly looks like the best framework of the bunch. Going into this whole Apache Cordova project I imagined that there would be a really large community built around HTML5. But now after actually digging into HTML5 development, the options actually seem a bit limited. In the future I think I will likely dump HTML5 for something like React Native as the employment prospects appear much better, as do the size of the surrounding ecosystem. In fact, my former boss left last year to start a new job doing React Native, so maybe that’s where things are going?

Anywho… here is the one line command I need to try and remember to kick off my new Framework7 project:

$ framework7 create --ui