Bad: Doing that in a language without a moderately competent type system.
Would be interested in a Swift port, using plain old structs instead of tags.
I really feel like Ionic should be a bit more up front about some of the additional dependencies you may need to get it going (Android SDK and NDK are the only ones that stick out in my mind, but I remember it being a pain in the butt), but other than that, it's pretty neat.
I hacked together a quick and dirty Android app based on the Angular/Firebase TodoMVC web app; it took about 2 hours because of some of the configuration, but I got it to work on my phone.
The styling was not the best or at least not what you would expect from a mobile application. I do know that Ionic comes with built in widgets like tabs and stuff. If you are already familiar with Angular and UI Router, it's not too difficult to use. I just had a hard time with setting up the proper dependencies.