At the Google I / O 2012 conference in the second part of his presentation, Paul Irish presented the yeoman.io project. The main goal of which is to collect for the developer the best libraries and frameworks in one place and create the ideal development environment in the shortest possible time.
Yeoman is not yet open to public access, but from the conference video it can be concluded that this is a really cool thing.
Last night, the source code for the site yeoman.io came across a githaba. If you carefully examine Gruntfile.js ( grunt is a utility for building javascript projects from cowboy ), you will notice such useful things as:
Generation manifest. This file is used for caching scripts, styles, etc. by the client. Great thing to optimize the download of the application when you restart.
Compile CoffeeScript. All will not reach to touch hands, but the thing is excellent. Although superfluous for most javascript developers.
Compiling SCSS. In the next project I will use it as a replacement for LESS. SASS gives you much more opportunity for a developer than LESS. If before you used CodeKit or CompassApp to compile SCSS files, now yeoman will do it without third-party applications. In addition, it is possible to include LiveReload - a great and indispensable thing when adjusting / layout HTML-pages and styles.
Compass + LiveReload can be felt right now (and already quite a long time ago), but for this you need a third-party application. There are several options, the easiest is to compile CompassApp from source on github. Next, create a project and in the application settings in the Services tab enable livereload. If you only need LiveReload, go here .
In essence, this is the same thing that yeoman does, only it compiles and monitors file updates on its own, without any third-party utilities.
Concatenation and minification of files - js, css. Html optimization. It is worth noting that for js a file is created with a name that corresponds to the name property from the file package.json + the application version from the same file. It would seem that these are just unnecessary movements, but not everything is so simple. For browsers that do not know what manifest is, changing the name of the script ensures that the client will not load an outdated version of the script.
init - initialization of a new project. You are invited to enter information about the project - name, description, etc. and choose whether you want to use Twitter Bootstrap and RequireJS.
build - build and optimize an application ready for sales.
server - starting the server that will follow the changes (coffee, js, scss, css, pictures).
By the way, I saw a wonderful thing - the launch of a lightweight HTTP server:
python -m SimpleHTTPServer 8080
test - run Jasmine tests
install - install the specified package and its dependencies. In the case of Backbone, this is Underscore and jQuery.
uninstall - uninstall package.
update - update to the latest version
list - list of available packages
search - search for available packages
lookup - view package info
If you want to know about the launch of the project one of the first - on the site you can leave your github account name or email address.