front-end tooling

53
FRONT-END TOOLING "For Smarter web developers " #GDG Blida #DEVFEST

Upload: houssem-yahiaoui

Post on 12-Jul-2015

212 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Front-End Tooling

FRONT-ENDTOOLING

"For Smarter web developers "

#GDG Blida #DEVFEST

Page 2: Front-End Tooling

HOUSSEM YAHIAOUI

AKA : EL-CODE

Student & GDG Blida member

&

MEAN stack lover & AngularJS indoor speacker

Page 3: Front-End Tooling

NO AGENDA !So Let's Rock in !

Page 4: Front-End Tooling

WE ALL DO AGREE THAT <WEB />

Become a frustrating place for newbies !

Page 5: Front-End Tooling

BUT NOT IF YOU WORKED SMARTER

Page 6: Front-End Tooling

But why exatcly it's So !

Page 7: Front-End Tooling

REASONS

1. More time doing Stupid Stuff like : downloading libs andmaking directories ...

2. More Time on updating and managing lib versions

3. More time on tedious stuff like trying to figuring out whystuff dont work together !

Page 8: Front-End Tooling

IN OUR BIZ TIME = $$

&

TIME IS THE KEY FACTOR TO STAYPRODUCTIVE

Page 9: Front-End Tooling

That's was our problimatic

Let's fix the problem

Page 10: Front-End Tooling

1 - Automate your workflow !

"Automation is having tools do the tedious work, so you don'thave to."

Page 11: Front-End Tooling
Page 12: Front-End Tooling

That' exactly what i'm trying to say !

Let's Start dig in!

Page 13: Front-End Tooling

1 - EMBRACE THE POWER OF : $ / #

Page 14: Front-End Tooling

A - In the MAC / iTerm2

Page 15: Front-End Tooling

A - In the MAC / Zsh

Page 16: Front-End Tooling

B - In Windows / Cmder :console with enhancements spiced with Monokai colours and a custom prompt layout

Page 17: Front-End Tooling

2 - Question :

What is the most used Tool by the Developers / Designersor even End user?

Page 18: Front-End Tooling

Trivial answer :

Simply your Web Broswers !

Page 19: Front-End Tooling

Our Browser of choice : Google chrom

Cause Chrom include all the new and great spec +extensions so for web develop/designers is the right tool

Page 20: Front-End Tooling

DEV Tool !

Page 21: Front-End Tooling

Angular Batarang !

Page 22: Front-End Tooling

Page Speed test !

Page 23: Front-End Tooling

And many more !

Page 24: Front-End Tooling

That was the tip of the iceberg !

Let's dive in ...

Page 25: Front-End Tooling

3 - EXTEND YOUR TOOLS !

Page 26: Front-End Tooling

CAN'T LIVE WITHOUT SUBLIME !

Pligunize IT !

Page 27: Front-End Tooling

You have to </3 the Package Control

Page 28: Front-End Tooling

Emmet for The WEB </3body>section*3>h3{Hello GDG}+p{Nice To Be HERE!}

And We'll get the following !

<body>   <section>    <h3>Hello GDG</h3>    <p>Nice To Be HERE!</p>   </section>   <section>    <h3>Hello GDG</h3>    <p>Nice To Be HERE!</p>   </section>   <section>    <h3>Hello GDG</h3>    <p>Nice To Be HERE!</p>   </section></body>

Page 29: Front-End Tooling

Navigate Using Ctrl + p

Page 30: Front-End Tooling

Git for commit lovers

Page 31: Front-End Tooling

MarkDown Editing for conf writers

Page 32: Front-End Tooling

And more !

1. Code Snippets

2. Themes

3. Additional Language Support such : jade / less / scss /sass ...

Page 33: Front-End Tooling

4 - BUILD TOOLS !

Page 34: Front-End Tooling

You use CSS ?

Are you sufring from vendor-prefixes ? and the lack offunctionality ?

Did you heard about CSS Pre-processors !

1. SASS / SCSS 2. LESS 3. Stylus

Page 35: Front-End Tooling

You use JS ?

Are you sufring ? and you think that it's just overwelming ?

Did you heard about Language Transpilers !

1. Coffee Script 2. TypeScript

Page 36: Front-End Tooling

We talked about Speed !

Statistique : 98% of the over all rendring is due to the JS /CSS / HTML rendring ..

We need a serious Solution !

Page 37: Front-End Tooling

Two Words !

Files Minification

Page 38: Front-End Tooling

But the process can be just overwelming !

Page 39: Front-End Tooling

Did you heard about the Task Runners ?

Page 40: Front-End Tooling

What's That !

it's a tool that :

1. Improve Your Code quality.

2. Make your User Happy.

3. It’s easily repeatable. - we will discuss this point later on -

Page 41: Front-End Tooling

Examples !

Let's Check Grunt out !

Page 42: Front-End Tooling

Grunt is a task runner !, he use a set of configuration

principales in order to do his WORK ! those conf are savedin a key file called Gruntfile.js

Page 43: Front-End Tooling

Gruntfile.js

Page 44: Front-End Tooling

Grunt use the module pattern to the max !and we can download them using Node Package Manager

aka : npm

Then we load those plugins using grunt api !

Page 45: Front-End Tooling

Let's minify using Grunt-Concat + Grunt-uglify

Download it through the following commande :

than we configure the tasks and load them in theGruntfile.js

Page 46: Front-End Tooling
Page 47: Front-End Tooling
Page 48: Front-End Tooling

No Time for Downloading / Updating / Configuringpackages !

Use a package manager !

Personal Choice : Bower !

Page 49: Front-End Tooling

Bower how To !

We have in fact two ways to do the job !

Page 50: Front-End Tooling

1. From the Bower.json (manifest file) :

+

2. From the Cli :

Page 51: Front-End Tooling

The Result :

Page 52: Front-End Tooling

Yeoman !

But we will see that in practise in our Code Lab

Page 53: Front-End Tooling

Keep in touch with me !

G+ : +HoussemYahiaoui

Twittre : @free_g33k

Facebook : fcb.com/houssem.intern0t#peace