Edit: there's a lengthier blog post with more tips and a little more about Yeoman here http://addyosmani.com/blog/improved-developer-tooling-and-yeoman/ in case you're interested :)
Did you guys enjoy 's talk at Google I/O?
In case you missed it, today we announced Yeoman (http://yeoman.io) - a project we've been working on to greatly help improve developer workflow. It's not been released just yet, but we're hoping to get it out the door sometime in the next month or so.
In this supplemental video, I discuss some more tips for developer tooling and ways in which Yeoman (and related projects) help us spend less time on process and more time building more awesome applications.
Developer Tooling And Yeoman
tl;dr: do what you can to automate as much of your workflow as possible.
(With special thanks to Grunt, HTML5 Boilerplate and more.)
Notes and links:
- Know your text editor inside out
* What key bindings/shortcuts can help you complete tasks more quickly? Do you know them all?
* How can your editor be extended? Packages?
-- Zen coding (st2: ZenCoding package )
-- Automatic linting (st2: SublimeLinter)
-- Source style formatting (st2: Sublime Closure Linter, jsBeautifier)
- Your command-line build process and editor can integrated. Are you doing this?
(for Sublime users, do you actually use this built in feature?)
Wes has a guide for it here: http://wesbos.com/sublime-text-build-scripts/
- Do you have a scaffolding tool?
-- if not, you're missing out. Scaffolding tools save you time creating
parts of your application.
-- grunt-bbb (backbone) https://github.com/backbone-boilerplate/grunt-bbb
-- brunch (backbone) http://brunch.io/
-- brunch for ember https://github.com/icholy/ember-brunch
-- angular + grails https://github.com/robfletcher/grails-angular-scaffolding
-- ember + grails https://github.com/robfletcher/grails-ember-scaffolding
- Are you still manually refreshing your apps/pages on every change? Still
having to compile CoffeeScript etc. each time too? Get a file watcher in place to automatically reload for you.
-- LiveReload, CodeKit, Brunch and Grunt also do this well:
-- LiveReload: https://chrome.google.com/webstore/detail/jnihajbhpnppcggbcgedagnkighmdlei -- Grunt: https://github.com/cowboy/grunt -- Brunch: http://brunch.io/ -- CodeKit: http://incident57.com/codekit/
- Mocha http://visionmedia.github.com/mocha/ - Grunt Mocha task https://github.com/kmiyashiro/grunt-mocha - Jasmine http://pivotal.github.com/jasmine/ - and its Grunt task https://github.com/creynders/grunt-jasmine-task - From Pauls talk (thanks to Ryan). Automated client-side testing in the cloud
- We all need a solid build process for production
- The basics:
* Unit testing
- These days also might need:
- Using AMD? Need to run modules through r.js
- Headless unit testing (PhantomJS, Zombie.js)
- Compile Compass, LESS, CoffeeScript files
- Image optimization (OptiPNG, JPEGTran)
- File revisioning
- Generating an application cache manifest
Interested in automated distributed CI for JS?
I mention linting during a build process, but I mean to say running any scripts against linting whether its outside of this process in a pre-step or otherwise.
The content should really be nothing surprising for anyone who's heard me talk about anything at all in the last few months, but I think it turned out well as a summary of the things I care about at the moment.
Here are a few of the core tenets:
* HTTPS everything: serving data over a secure transport layer is the only way to have any measure of protection against the evils of the web. It's an absolute prerequisite for any discussion of client-side security, and it's easier than you think to get started: https://StartSSL.com/ is literally giving away certificates. There's really no excuse for any application to be served over HTTP. Also, use Strict Transport Security to mitigate the risk of SSL stripping and other such attacks (http://tools.ietf.org/html/rfc6797).
* Escaping content correctly is possible, but hard. It seems like a simple problem, but years of practical experience teaches us that we are seriously bad at it as a community. In a quite well done presentation at AppSecUSA (http://infrequently.org/2012/12/original-sins/), elegantly phrases this as "discount[ing] the probability of perfection". I'll just call it naked cynicism: we are simply terrible at being perfect, and we need help.
* Use Content Security Policy (http://goo.gl/QcuaK). It's the single best defense against content injection attacks (like XSS) that I know of. The HTML5Rocks article linked above is excellent, and the spec has just advanced to Candidate Recommendation in the W3C: http://www.w3.org/TR/CSP/
* Sandbox components of your applications using the `sandbox` attribute of `iframe` elements. This allows you to run dangerous portions of your application in a low-privilege environment, reducing their value to attackers, and making your application as a whole a less interesting target for attackers.
That's it! Security is easy! Sorta.
HTML Codes - Table of ascii characters and symbols
HTML Codes - Table for easy reference of ascii characters and symbols in HTML format. With indication of browser support
Improving the DOM : Dart : Structured web programming
Improving the DOM. Written by Bob Nystrom October 2011. One of the great opportunities a new language gives you is a chance to also define a
Augmented Reality for Marketers and Developers: Analysis of the Lea...
Augmented Reality forMarketers and Developers:Analysis of the Leaders, theChallenges and the FutureWritten by Chris Cameron
Expert Cheat Sheets & Tutorial Guides for Developers | Refcardz
150+ FREE cheat sheets and quick reference guides for developers & IT professionals. Written by experts, used by millions. Get them all!
Larry Page Wants To Be The Next Steve Jobs (AAPL, GOOG)
It's becoming clearer by the day that Google CEO Larry Page deeply admires Apple and that he would like to be the kind of CEO that Steve Job
Group buying sites urged to adopt code of conduct | The Australian
MAJOR group buying websites Cudo and Spreets have called on rivals to adopt an industry code of conduct.
Founders reveal books that changed their lives. Part 2 | Business Tips
Andrew is still on vacation, so instead of a new interview, here's a follow up to the popular post that I recently published about influ