I’m getting started with using Cordova/PhoneGap for Android/iPhone app development and am very confused with the number of frameworks out there. I have taken tutorials by Christophe Coenraets (here and here) as a starting point and managed to get something working, but my current problem is getting a nice UI.
The tutorials mentioned above use http://topcoat.io/topcoat/ and http://goratchet.com/ but both of them seem to have very little support. But these really appeal to be because they are so lightweight and are independent of the functional aspects of the code.
I've looked at http://mobileangularui.com/ which looks great, but I'm really confused by "Build HTML5 Mobile Apps with Bootstrap and Angular JS" on the homepage - can I use just the UI "layer" or does it need both Angular JS and Bootstrap. And are these essentially different, competing frameworks?
Finally, I've created test apps with these and they all work fine on my Android 4.2 phone, but all of the have various issues (usually will not scroll) in my older Android 2.3 phone - do these modern frameworks not support a phone of that age?
Thank you in advance.
First and foremost - your Cordova applications should adopt the SPA (Single Page Application) design. Loosely defined, a SPA is a client-side application that is run from one request of a web page. The user loads an initial set of resources (HTML, CSS, and JavaScript) and further updates (showing a new view, loading data) is done via AJAX. SPAs are commonly used for more complex client-side applications. GMail is a great example of this. After you load GMail, mail views, editing, and organization are all done by updating the DOM instead of actually leaving the current page to load a completely new one. More.....
Examples of SPA libraries(UI) you can use in your Cordova applications are:
1) AngularJS
2) jQuery Mobile
3) Kendo UI
4) Sencha Touch
5) Backbone
Why not try Ionic Framework
I have used ionic, angularJS, phonegap/cordova together for Android/iPhone development and its quite nice. Not that hard to learn and quite fun to work with.
Choosing Mobile frameworks is based on the requirement of the app. There are various frameworks available, most popular and widely used are jQuery Mobile, Sencha Touch and others..
This article has introduction to Cordova/Phonegap and comparison to some of the Mobile Frameworks, you can choose it based on the requirement. For best practices in Cordova, it is always better to use SPAs - SinglePageApplications for that jQuery Mobile and Angular/Backbone can be combined.
Angular vs Backbone!
For your other question on older phones like Android 2.3 phone: These frameworks are built for/using many features like HTML 5, CSS 3, localStorage, local database as well and others.. so HTML 5 support is not completely supported in older phones/Android versions, also local storage, sqlite and many others..
You can check the support for HTML 5 here, also for others you can check in the same website or Mozilla Developer Network for JavaScript.