Hi des,
I've made two public mobile apps: ClearConcert (angular + Dojo; code is a horrible mess.. my boss had me use dojo; with lots of hacks the final product works pretty well though), and SpatulaDad (angular + jQuery mobile; a less messy horrible mess, but a worse final product). I've also made 3-4 very tiny private mobile apps with angular. The only one that really feels native-snappy-nice is ClearConcert, because I spent lots of time fixing Dojo and angular to work nice together. And yet there are still a few problems.
Angular may not be your best bet for a mobile app if it's at all large scale. ng-view doesn't support transitions currently, so you either have to always have all your HTML in the dom (risky for large apps - a $digest will check everything), or roll your own version of ng-view that does fancy transitions between pages (hasn't been done perfectly yet, I've tried but it's not good enough at the moment; it may not be too hard if you do it right).
I am currently writing a mobile app in Backbone.js + jqMobi + iUi (iUi with javascript stripped out, only using iUi CSS) + my own navigation/transitiony thing written in Backbone. I miss nice data binding and all of angular's bonuses, but Backbone is much easier to mold to your will because it's so minimalistic. So far it is very snappy because I'm not letting a monolithic framework run things, and it is easier to manage because there's no magic involved.
So your choices for angular with mobile are:
1. Angular + some monolithic framework like jQuery Mobile or Sencha or Dojo. You don't wanna go this route if you want to end with a really nice app. The best is jQuery mobile, but that has slow transitions and keeps all your stuff in the DOM all the time, causing slow $digests. And jQuery mobile is just generally slow at everything it seems. Dojo has tons of problems (hates dynamically inserting things into dom, bad navigation/view system, and more...). Super big frameworks that do lots of fanciness with the DOM generally just don't work together well (so Angular + {some huge framework} = you have a hard time).
2. Angular + a minimalistic layout framework (like iUi with the javascript stripped out). The downside is transitions are still going to be difficult, and angular is still just .. *big*. But if you write an angular transition-thingy right it could work.
I ended up doing backbone instead of angular for mobile because I wanted minimalism and angular just isn't a minimalistic framework. It's a complete solution that does everything.
I do think with enough work angular could be made to do ng-view with nice transitions included, if you just used a simple minimalistic css layout framework for your mobile look-and-feel. But I wanted to try it with Backbone to see how a smaller solution than Angular would work out.
- So if you want quick (you may say you do now, but you'll regret it later): Angular + jQuery Mobile + jQuery Mobile Angular adapter. Your app will be finished reall fast, but it will feel slow. And you won't be able to optimize it.
- If you want to be risky with angular : try to build a navigation system in angular with transitions and use a minimalist css mobile layout framework (I would enjoy trying this, if you want to try this way e-mail me at andytjoslin {at] gmail [.} com and I will take a look at your app idea)
- If you want to take a safe approach: I don't know what to tell you. I don't trust any of the big JS-mobile frameworks. I will see if this backbone.js approach that I'm using now works when my current app is done.
- If you want a guaranteed approach, one with a snappy, native look and feel and no unexpected problems: Go native! But of course, you will have to develop for 2+ platforms...