Front-end Development Framework
The main criteria that I want in the new framework:
- Support for testing - I suck at testing. I write stuff and assume it's true for the completely plausible reason that I wrote it. I was introduced to the
Test Driven Developmentphilosophy recently and I totally buy into it. So I would like to have support for testing in the framework.
Apart from that, I wouldn't mind these features:
- Package Management
- Dependency Management
- Bootstrapping that's close to what I'm looking for
I went over a lot of stuff over the past few days and Yeoman seems to be the way to go. The
1.0 version of Yeoman aims at bringing existing tools together instead of trying to do everything itself. It seems to try to mimic a
Rails type system.
Grunt is the build tool and
Bower is the package/dependency manager.
Yoeman includes a tool called
Yo. It also has a variety of generators that can be used to scaffold apps. They seem to work pretty great out of the box.
The generators I'm currently exploring are
generator-angular. The testing framework for the
webapp generator is Mocha and it uses ChaiJS and ExpectJS for assertion (I don't know why, it's kinda weird). The AngularJS generator uses Karma as their testing framework.
What now ?
I haven't tested the two options enough yet, but I feel like Angular has more momentum and it's easier to get starting using TDD with Angular just because they have more documentation available. I tried Mocha + Chai + Expect but kept getting lost with who's doing what so it's higly probably that I'm gonna go with Angular via Yeoman.
Below is a video on getting starting the Yeoman by Addy Osmani from Google.