Overview
Syllabus
Intro
We have a plethora of tools that are bound to make our lives easier and tasks completed faster.
Creatives aren't good at their art because of their tools; their talent stems from the skills and knowledge they've acquired while using their tools.
We live in superabundance of information and the most crucial skill isn't multi-tasking but single-threading our attention.
The strive for simplicity is superficial.
Complexity is a fact of the world, simplicity is in the mind.
TESLER'S LAW OF CONSERVATION OF SIMPLICITY
We need to automate tasks to stay productive and focus on problem-solving that simply cannot be delegated.
AUTOPREFIXER Worry-free vendor prefixing.
LINTING Checking for bad patterns
MEDIA OPTIMISATION Strip unnecessary bytes
MINIFICATION Strip unnecessary characters
CODE BLOAT Search and remove unused declarations
TESTING PERFORMANCE Find specific elements hindering performance
TESTING PERFORMANCE Yslow, Chrome Developer Tools Audit, Google Page Speed
DEBUGGING LAYOUT ISSUES Find problems with the box model
GUIS FOR AUTOMATION
npm provides a native ecosystem for task automation.
The current support in npm for front- end packaging isn't good enough. npm loves you, front-enders, and we care about your use cases.
start": "npm run watch-styles & npm run watch- jade & npr run server
bit.ly/leveldb-example bit.ly/npm-task-automation
GULP & GRUNT
bit.ly/building-static
COLLABORATION
Every single person joins a team with their own set of biases, predispositions and preferences.
Breaking down data in modules makes it more digestible and controllable.
Good tools, especially command line based, don't fail nor succeed silently.
The aim to build bullet-proof software is profound but almost impossible to achieve.
It's relatively easy to build overcomplicated solutions but it's hard to maintain them.
It's easy to introduce unnecessary complexity by adding tools that manage other tools.
The right set of tools or lack thereof sets apart a craftsman from an operator.
Taught by
JSConf