On the backend, you can control your environment pretty fine. On the frontend, it is much harder. Or at least it is way less often done in a controlled way.
He mentioned git flow as the ideal way to manage your source code. (Personal note: I find it too heavyweight to my taste; simple branching from master with pull requests is often enough for smaller teams).
Maven provides developers with ways to manager builds, reports, documentation, installation and so on.
Ok, in his demo he set up some java project with archetype, jersey and other things I never heard about. He fired up an IDE and copied code around and used java and ran some script. And switched between 5 windows. Summary: I’m thanking God on my knees tonight that I’m using Python. The code was butt-ugly. And I was expecting an AngularJS talk, not a java one.
Good point however: he copy/pasted a testcase into the project, too, so he did test driven development. He even ran the tests before committing the code: good! That’s something I’ve still got to teach to some of my colleagues.
Now, how to integrate maven and yeoman? There seem to be three options:
Consider frontend and backend as complete separate entities.
Don’t use modern tooling.
Call grunt as an executable from maven. (There’s a plugin for that.)
He uses the last option now, but he thinks the first one is best.
Some tips for tools:
A nice thing to look at for AngularJS test driven development: the angular scenario runner. It has great intergration with Angular and it is based on top of webdriver.
Debugging AngularJS is nice in Batarang, a webinspector extension for Chrome.
My name is Reinout van Rees and I work a lot with Python (programming language) and Django (website framework). I live in The Netherlands and I'm happily married to Annie van Rees-Kooiman.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):