Saturday, February 2, 2013

braindump of Kassandra Perch speaking on Managing Large Web Projects with Automated Build Tools at HTML5.tx

JavaScript MVC frameworks are all the rage right now. Web Project Toolchains. Toolchains get messy as projects get large. CoffeScript is an example of a chunk in a Toolchain. It is tough for everyone in a team to remember a tool chain. Someone will forget to compile a LESS stylesheet. Automation is the solution. Get a consistent configuration across your team can be a giant pain. You may have to force devs to one IDE (think Chirpy). GRUNT runs on node.js. The only thing you need besides JSON and some command line commands. There is a grunt init command to set up. There is a initConfig file to prep too. She is going through the how-to for the Config file, replacing QUnit with Mocha, etc. watch (a portion of the config), watches the files we are to watch for... duh. I assume when a watched file changes that a process is kicked off. grunt.loadNpmTasks("grunt-stylus"); reaches to a plugin which is used for compiling stylesheets. watch tasks allow you to watch CSS and compile it. If you wildcard 2000 files for watching your computer will start to crawl. grunt.js org has a list of the plugins. We can go to something called NPM too. I have missed what NPM is. Argue the standards for your development. It is hard to get developers to care about standards. Standards should be mutable. Don't let the past to date and technical debt keep you from changing gears. Automation tools make standards enforcement easier. To get started, move to a modular .js system and start moving CSS to LESS. What is IEFE? For quality control use a unit test runner. Peer reviews are important. Any tool is just a tool and automation is no different. Yomin (spelling?) mostly does what Grunt does but is more painful to use. grunt-contrib-move and grunt-contrib-copy are examples of plugins. BrowserLink does browser testing from IE6 up. GRUNT automates project scaffolding and make things like a backbone boiler plate project. 

No comments:

Post a Comment