just realised you might not see my check ins if you dont notice the "angular.js" branch.
im switching from knockoutjs and jqueryui to angular and bootstrap.
reasons for angular over knockoutjs
- angular is by google, and has more active development.
- angular really separates out the gui code (in html) from the logic code (in javascript) and you dont need to wrap everything in ko.obversables like you do with knockout.
- far less code using angular, you're not doing any javascript code like $('#button').click(function(){ blah blah blah }); infact you shouldnt do any selection of html elements in your javascript "Controllers".
- you can unit test your javascript with angular
- easy to make a single page app with angular
- managed to use a template for the guide, and bind json data to it to construct the guide page. no longer need to render it on the server and return HTML, angulars templating engine is a lot faster than knockouts one.
reason for boostrap over jqueryui
- looks a lot nicer
- thats about it, both have large support, but people are favouring bootstrap these days due to fact it just looks so nice (jqueryui was cool, and easy to use, but always kinda ugly). however the current theme im using for jqueryui is a boostrap theme.
single page app pros
its quicker, since you download the core html/js/css/images once and then only part of the page changes. previously everything was mostly cached, but the browser still had to contact the server to ask if a resource had changed. also you were always downloading the base html (header, footer, menu etc)
ive done some work on the mobile client, but only have a windows phone to test against, and when i did get a hold of an iphone i noticed the scrolling doesnt work in it (well known issue with iOS safari and scrolling), work great on windows phone 8 though
the next release will likely be another alpha, just due to the angular changes, and will only have very partial mobile support.