Moderni frontend workflow

46

Transcript of Moderni frontend workflow

Page 1: Moderni frontend workflow
Page 2: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Ivan DorićSenior Front-End Developer / Team Leader

Gauss Development

@ivan_doric

http://gledaj-uci.com

http://watch-learn.com

Page 3: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Kako je to bilo prije...

Page 4: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Page 5: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

CSSCSS 1 - završen 1996

2000 - IE 5.0 za Mac prvi browser sa potpunom impementacijom

CSS 2.1 potpuno prihvaćen tek 2011

CSS 3 predložen 1999 počeo se koristiti tek nedavno

Nek i browseri još uvijek nemaju potpunu podršku za CSS3

Page 6: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

CSS Zen Garden

2003 Popularizacija CSS-a

Page 7: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Web standardi

Page 8: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

CSS3 & HTML 5

Korištenje počelo prije nekoliko godina

Browseri još uvijek ne podržavaju cijelu specifikaciju

Bit će bolje.... možda.

Page 9: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Kako smo došli do front-enda?

Razvojem web standarda i web tehnologija internet postaje sve kompleksniji

Prije: web dizajner, web master

Danas: web dizajner (samo dizajn), UI/UX dizajner, back-end developer, front-end developer, SEO stručnjak, social media stručnjak...

Page 10: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Front-end developer? Što to znači?

Page 11: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Što moderni front-end developer mora znati?

Nije strašno...

Page 12: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

... osim što bi trebali znati još i ovo...

Kako radi internet

Osnove *nix sustava

Git

SSH

Korištenje konzole/terminala

Osnove back-end programiranja

CMS: WordPress, Drupal, Magento....

Photoshop / Sketch / Illustrator

Angular.js, Node.js, Ruby on Rails...

Sass, Stylus, Less, Gulp.js, Grunt.js, Haml, Jade, Yeoman....

Osnove dizajna, UI/UX-a

Page 13: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Page 14: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

***ŽELJA ZA UČENJEM***

Page 15: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

PREDPROCESORI

Page 16: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Page 17: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Svi su dobri... ali Sass

Velika zastupljenost

Kontinuirani razvoj

Opcije

Brzina (libsass)

Tata svih ostalih predprocesora

Page 18: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Sass mogućnostiVariables

Mixins

Nesting

Extends

Partials

Matematika

Funkcije

Page 19: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Problemi sa predprocesorima.hint: većinom ste vi krivi ;)

Prvo dobro naučiti vanilla CSS!

Page 20: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Kako kompajlirati Sass?

Codekit (https://incident57.com/codekit/)

PrePros (https://prepros.io/)

Ili ako se želite družiti sa velikim dečkima komandna linija + Sass / node.js / RoR / Task Runner / Guardfile / Compass

Page 21: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

SASS MIXIN LIBRARIES

Page 22: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Page 23: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

CompassCSS Authoring Framework (?)

Može kompajlirati Sass

Ima GUI aplikaciju (http://compass.kkbox.com/)

Sprajtovi

Velika količina Mixina

Spoooooooor... (libcompass možda popravi stvari)

http://compass-style.org/

Page 24: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

BourbonVelika količna mixina

Neat (Grid framework)

Brži od compassa

Manje opcija i helpera nego Compass

http://bourbon.io/

Page 25: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

BEM, OOCSS, SMACSSMetodologije pisanja i organizacije CSS-a za bolje održavanje i skalabilnost koda

Može se koristiti sa predprocesorima

Zasniva se većinom na modularnom kodu i ponovnom korištenju koda (reusability, DRY)

BEM (https://en.bem.info/)

OOCSS (http://oocss.org/)

SMACSS (Scalable and Modular Architecture for CSS - https://smacss.com/)

Page 26: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

GIT

Page 27: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Git

Pomaže u radu timova

Verzionira kod

Zamjenjuje FTP

Feature testing

Page 28: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

GitIako Git na prvu izgleda zastrašujuće sa ovih nekoliko komandi ćete moći napraviti većinu stvari za male projekte

$> git init$> git add -A$> git commit -m "Napravio sam nešto"$> git push origin master

Page 29: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Hosting mi ne podržava Git, i/ili SSH!

Nađite bolji hosting ;) (npr. Small Orange)

Prebacite datoteke sa SFTP-om

git-ftp (https://github.com/git-ftp/git-ftp)

Say no to FTP

$> git-ftp push

Page 30: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

TASK RUNNERS

Page 31: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Page 32: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Gulp.js

Zato što nikad nisam koristio Grunt.js :)

Kažu ljudi da je brži

Definitivno jednostavniji kod

Grunt je isto dobar

Page 33: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Čemu služe task runneri?Kompilacija Sassa

Minimiziranje i konkatinacija datoteka

LiveReload

Optimizacija slika

Auto prefiksiranje

i još mnogo toga (http://gulpjs.com/plugins/)

Trenutno 1500 plugina

Page 34: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Page 35: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

CSS Frameworks

Page 36: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Page 37: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Dali mi to stvarno treba?

Ubrzava izradu često korištenih komponenti

Brži razvoj layouta

Sve stranice izgledaju isto

Overhead

Dobri za izradu administracije i prototyping

Automatski responzivno

Koristiti na vlastitu odgovornost

Page 38: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

WORDMOVE

Page 39: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Što je to?RoR gem za automatiziranje prijenosa WordPress specifičnih podataka i baze na server i sa servera

Odlično komplementira Git (pošto on nema prijenos baze), ali se može koristiti samostalno

Podrška za razvojna okruženja

Say no to FTP - again

https://github.com/welaika/wordmove

$>wordmove init $>wordmove push -dupw$>wordmove pull -dupw

Page 40: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

APPS

Page 41: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Editori koda

Sublime text (Hayaku, Emmet)

Brackets (ako radite većinom samo HTML i CSS)

GitHub - Atom

Page 42: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Grafika

Photoshop (duh!)

Sketch 3

Illustrator

Page 43: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Ako se još uvijek bojite komandne linije

CodeKit, PrePros

Source Tree (Free) - https://www.sourcetreeapp.com/)

Tower ($59) http://www.git-tower.com/

MAMP, XAMP, WAMP

Page 44: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

TIPS & TRICKS

Page 45: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow

Tips & TricksMinimalizam

Osobna WordPress Starter Tema (https://github.com/ivandoric/olympos)

Osobni starter scaffolding

DRY

Učenje, učenje, učenje

Page 46: Moderni frontend workflow

Ivan Dorić Moderni front-end workflow