TOOLING &
WORKFLOWS

ACHAL VARMA

CS196, SP'16

TOOLING &
WORKFLOWS

AKA:
How not to hate yourself for being
a front-end developer in 2016

what front-end
development should be:

what front-end development IS LIKE:

Most COMMON COMPLAINTS:

Most COMMON COMPLAINTS:

  • Time consuming

Most COMMON COMPLAINTS:

  • Time consuming

  • Mundane

Most COMMON COMPLAINTS:

  • Time consuming

  • Mundane

  • Debugging is usually hell

DEVELOPER PRODUCTIVITY
IS IMPORTANT!

DEVELOPER PRODUCTIVITY
(and sanity)
IS IMPORTANT!

The Usual workflow

The Usual workflow

Scaffolding/Structuring the proJect

The Usual workflow

Scaffolding/Structuring the proJect

Adding libraries and dependencies

The Usual workflow

Scaffolding/Structuring the proJect

Adding libraries and dependencies

adding frameworks and hooking them in

ACTUALLY WRITING CODE

TESTING YOUR CODE

OPTIMIZING IMAGES, SCRIPTS AND CSS

DEPLOYING

ACTUALLY WRITING CODE

TESTING YOUR CODE

OPTIMIZING IMAGES, SCRIPTS AND CSS

DEPLOYING

RINSE AND REPEAT

Automate!

Don't pet sweaty things.

Automate!

Don't pet sweaty things.

Automate!

Don't SWEAT PETTY things.

The IDEAL workflow

SCAFFOLD

WRITE CODE

AUTOMATE THE BORING STUFF

DEPLOY

WHAT A WORKFLOW SHOULD DO:

  • Limit time spent writing boilerplate code

  • Improve OVERALL productivity

  • REDUCE TIME B/W DEVELOPMENT and TESTING

AutomatION

ISN'T JUST ABOUT EFFICIENCY AND SPEED

AutomatION

ISN'T JUST ABOUT EFFICIENCY AND SPEED

IT'S ALSO ABOUT CONVENIENCE

CONVENIENCE

USE TOOLS WHICH DO SOME
HEAVY LIFTING FOR YOU

SASS

  • Extension of CSS meant to make dev. easier

  • Variables, Nested Rules, @Extend!

  • easier to debug because of encapsulation

SASS

  • Extension of CSS meant to make dev. easier

  • Variables, Nested Rules, @Extend!

  • easier to debug because of encapsulation
     

  • reduces the amount of times you feel like bashing your head in

GULP

  • simplE & Smart NODE.JS-based task runner 

  • Use it to automate repetitive tasks

  • EASY TO BUILD UPON AND EXTEND

GULP

  • simplE & Smart NODE.JS-based task runner 

  • Use it to automate repetitive tasks

  • easy to build upon and Extend
     

  • Also reduces the amount of times you feel like bashing your head in

Browsersync

  • Live reload your changes!

  • inject new content without reloading

  • Test Across devices without deploying after every change!

Browsersync

  • Live reload your changes!

  • inject new content without reloading

  • Test Across devices without deploying after every change!!!

Browsersync

  • Live reload your changes!

  • inject new content without reloading

  • Test Across devices without deploying after every change!!!!!!!!!

Aight.
let's write
some code.

CS196 – Front-end Tooling and Workflows

By Achal Varma

CS196 – Front-end Tooling and Workflows

  • 798