91
Jak nadąż yć za światem front-endu? Tomasz Dziuda WordPress Training Day - 16.07.2016

Jak nadążyć za światem front-endu - WordPress Training Day

Embed Size (px)

Citation preview

Page 1: Jak nadążyć za światem front-endu - WordPress Training Day

Jak nadążyć za światem front-endu?

Tomasz Dziuda

WordPress Training Day - 16.07.2016

Page 2: Jak nadążyć za światem front-endu - WordPress Training Day

Dlaczego warto?

Page 3: Jak nadążyć za światem front-endu - WordPress Training Day

WordPress + REST = SPA

Page 4: Jak nadążyć za światem front-endu - WordPress Training Day

WordPress + REST = SPA

Rozbudowane pluginy ~= SPA

Page 5: Jak nadążyć za światem front-endu - WordPress Training Day

WordPress + REST = SPA

Rozbudowane pluginy ~= SPA

Przyśpieszenie developmentu wtyczek i motywów

Page 6: Jak nadążyć za światem front-endu - WordPress Training Day

Przyczyna problemu

Page 7: Jak nadążyć za światem front-endu - WordPress Training Day

HTML

Page 8: Jak nadążyć za światem front-endu - WordPress Training Day

HTMLCSS JavaScript

Page 9: Jak nadążyć za światem front-endu - WordPress Training Day

HTMLCSS JavaScript

AJAX

SEO Microdata

Page 10: Jak nadążyć za światem front-endu - WordPress Training Day

HTMLCSS JavaScript

AJAX

SEO Microdata

SASSWorkflow

Automation Tools

RWD

Page 11: Jak nadążyć za światem front-endu - WordPress Training Day

HTMLCSS JavaScript

AJAX

SEO Microdata

SASSWorkflow

Automation Tools

RWDAccessibility

Motion DesignSPA

Progressive Enhancement

Performance

WebComponents NPMJSX

REST

Page 12: Jak nadążyć za światem front-endu - WordPress Training Day

HTMLCSS JavaScript

AJAX

SEO Microdata

SASSWorkflow

Automation Tools

RWDAccessibility

Motion DesignSPA

Progressive Enhancement

Performance

WebComponents NPMJSX

Houdini

TypeScript

Web WorkersService Workers

CSSXNativeScript

Offline-first

REST

Page 13: Jak nadążyć za światem front-endu - WordPress Training Day

"In programming, there is often an obsession with using the latest and greatest technology. Programmers view the use of edge technology as its own badge of honor, and are quick to throw away legacy applications."

Źródło: https://signalvnoise.com/posts/3933-a-love-for-legacy https://tommcfarlin.com/latest-and-greatest-technology/

Page 14: Jak nadążyć za światem front-endu - WordPress Training Day

Ironia losu

ES6 wprowadza klasy do JavaScript, więc nadchodzi moda na...

programowanie funkcyjne ;-)

Page 15: Jak nadążyć za światem front-endu - WordPress Training Day

Nie sztuką jest nauczyć się podstaw 10 frameworków

Sztuką jest umieć odtworzyć na swój sposób ich główne idee działania

Page 16: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: http://blog.bitovi.com/longevity-or-lack-thereof-in-javascript-frameworks/

Page 17: Jak nadążyć za światem front-endu - WordPress Training Day
Page 18: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: http://vanilla-js.com/

Najmniejszy i najwydajniejszy framework

Page 19: Jak nadążyć za światem front-endu - WordPress Training Day

Dobierz rozwiązanie do problemu i unikaj

projektowania "na zapas"

Page 20: Jak nadążyć za światem front-endu - WordPress Training Day

Rozwiązania problemu

Page 21: Jak nadążyć za światem front-endu - WordPress Training Day

2009: jQuery === JavaScript

Page 22: Jak nadążyć za światem front-endu - WordPress Training Day

2009: jQuery === JavaScript

2013: AngularJS === JavaScript

Page 23: Jak nadążyć za światem front-endu - WordPress Training Day

two-way data-binding

currying

closures

Temporal Dead Zone

Virtual DOM

hoisting

promises

AJAX

JSON

JSON-P

Regular Expressions

prototypes

inheritance

partial application

module pattern

progressive enhancement

localStorage

functional programming

chaining

callback

dirty checkingWeb Components

Page 24: Jak nadążyć za światem front-endu - WordPress Training Day

React nauczył mnie, że:

Page 25: Jak nadążyć za światem front-endu - WordPress Training Day

React nauczył mnie, że:

• łatwo go wypiąć z projektu ;-)

• wsparcie dla kilku formatów komponentów ssie (JSX, JS, ES6)

• uparte trzymanie się pewnych konwencji powoduje powstawanie nadmiarowego kodu

• pogłoski o jego wydajności są przesadzone

• trzeba go stosować z całym dobrodziejstwem inwentarza (Webpack, Babel, Redux, Jest)

• najlepiej nadaje się do bardzo prostych SPA z dużą ilością danych albo do wielkich projektów.

Page 26: Jak nadążyć za światem front-endu - WordPress Training Day

React nauczył mnie, że:

• łatwo go wypiąć z projektu ;-)

• wsparcie dla kilku formatów komponentów to zło (JSX, JS, ES6)

• uparte trzymanie się pewnych konwencji powoduje powstawanie nadmiarowego kodu

• pogłoski o jego wydajności są przesadzone

• trzeba go stosować z całym dobrodziejstwem inwentarza (Webpack, Babel, Redux, Jest)

• najlepiej nadaje się do bardzo prostych SPA z dużą ilością danych albo do wielkich projektów.

Page 27: Jak nadążyć za światem front-endu - WordPress Training Day

React nauczył mnie, że:

• łatwo go wypiąć z projektu ;-)

• wsparcie dla kilku formatów komponentów to zło (JSX, JS, ES6)

• uparte trzymanie się pewnych konwencji powoduje powstawanie nadmiarowego kodu

• pogłoski o jego wydajności są przesadzone

• trzeba go stosować z całym dobrodziejstwem inwentarza (Webpack, Babel, Redux, Jest)

• najlepiej nadaje się do bardzo prostych SPA z dużą ilością danych albo do wielkich projektów.

Page 28: Jak nadążyć za światem front-endu - WordPress Training Day

React nauczył mnie, że:

• łatwo go wypiąć z projektu ;-)

• wsparcie dla kilku formatów komponentów to zło (JSX, JS, ES6)

• uparte trzymanie się pewnych konwencji powoduje powstawanie nadmiarowego kodu

• pogłoski o jego wydajności są przesadzone

• trzeba go stosować z całym dobrodziejstwem inwentarza (Webpack, Babel, Redux, Jest)

• najlepiej nadaje się do bardzo prostych SPA z dużą ilością danych albo do wielkich projektów.

Page 29: Jak nadążyć za światem front-endu - WordPress Training Day

React nauczył mnie, że:

• łatwo go wypiąć z projektu ;-)

• wsparcie dla kilku formatów komponentów to zło (JSX, JS, ES6)

• uparte trzymanie się pewnych konwencji powoduje powstawanie nadmiarowego kodu

• pogłoski o jego wydajności są przesadzone

• trzeba go stosować z całym dobrodziejstwem inwentarza (Webpack, Babel, Redux, Jest)

• najlepiej nadaje się do bardzo prostych SPA z dużą ilością danych albo do wielkich projektów.

Page 30: Jak nadążyć za światem front-endu - WordPress Training Day

React nauczył mnie, że:

• łatwo go wypiąć z projektu ;-)

• wsparcie dla kilku formatów komponentów to zło (JSX, JS, ES6)

• uparte trzymanie się pewnych konwencji powoduje powstawanie nadmiarowego kodu

• pogłoski o jego wydajności są przesadzone

• trzeba go stosować z całym dobrodziejstwem inwentarza (Webpack, Babel, Redux, Jest)

• najlepiej nadaje się do bardzo prostych SPA z dużą ilością danych albo do wielkich projektów.

Page 31: Jak nadążyć za światem front-endu - WordPress Training Day

Wniosek

Stosując frameworki bohatersko obchodzimy problemy, które w

VanillaJS nie istnieją

Page 32: Jak nadążyć za światem front-endu - WordPress Training Day

Prowadzenie bloga

Page 33: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: https://github.com

Page 34: Jak nadążyć za światem front-endu - WordPress Training Day
Page 35: Jak nadążyć za światem front-endu - WordPress Training Day
Page 36: Jak nadążyć za światem front-endu - WordPress Training Day
Page 37: Jak nadążyć za światem front-endu - WordPress Training Day
Page 38: Jak nadążyć za światem front-endu - WordPress Training Day
Page 39: Jak nadążyć za światem front-endu - WordPress Training Day
Page 40: Jak nadążyć za światem front-endu - WordPress Training Day
Page 41: Jak nadążyć za światem front-endu - WordPress Training Day
Page 42: Jak nadążyć za światem front-endu - WordPress Training Day
Page 43: Jak nadążyć za światem front-endu - WordPress Training Day

Czysty kanał RSS :-)

Page 44: Jak nadążyć za światem front-endu - WordPress Training Day

Niech ktoś przefiltruje to za mnie!

Page 45: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: http://javascriptweekly.com/

Page 46: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: http://javascriptweekly.com/

Źródło: http://webtoolsweekly.com/

Page 47: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: http://dailyui.co/

Page 48: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: https://www.apichangelog.com/

Page 49: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: https://www.apichangelog.com/

Zbiór ciekawych newsletterów:

http://codecondo.com/weekly-newsletters-front-end-developers/

Page 50: Jak nadążyć za światem front-endu - WordPress Training Day

Zarządzanie dużą liczbą newsletterów

Page 51: Jak nadążyć za światem front-endu - WordPress Training Day

Potencjalnie ważne

Potencjalne odpady

Zarządzanie dużą liczbą newsletterów

Page 52: Jak nadążyć za światem front-endu - WordPress Training Day

Potencjalnie ważne

Oznacz jako przeczytane

Potencjalne odpady

Zarządzanie dużą liczbą newsletterów

Page 53: Jak nadążyć za światem front-endu - WordPress Training Day

Potencjalnie ważne

Oznacz jako przeczytane

Potencjalne odpady

Sprawdzane raz na 3 dni

Sprawdzane raz na tydzień

Zarządzanie dużą liczbą newsletterów

Page 54: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: https://getpocket.com/

Page 55: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: https://getpocket.com/

999+

Page 56: Jak nadążyć za światem front-endu - WordPress Training Day

Prawdopodobnie nigdy nie wykorzystamy 3/4 rozwiązań o których czytamy...

... ale warto wiedzieć, że są i jakie problemy rozwiązują.

Page 57: Jak nadążyć za światem front-endu - WordPress Training Day

Prawdopodobnie nigdy nie wykorzystamy 3/4 rozwiązań o których czytamy...

... ale warto wiedzieć, że istnieją i jakie problemy rozwiązują.

Page 58: Jak nadążyć za światem front-endu - WordPress Training Day

Środki przymusu bezpośredniego

Page 59: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: http://dziudek.github.io/wp-links/

Źródło: http://dziudek.github.io/dev-links/

Page 60: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: http://www.codewars.com/

Page 61: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: http://rosalind.info/

Page 62: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: http://es6katas.org/

Page 63: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: http://codepen.io/

Page 64: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: http://sideprojects.in/

Page 65: Jak nadążyć za światem front-endu - WordPress Training Day
Page 66: Jak nadążyć za światem front-endu - WordPress Training Day

Dlaczego projekt poboczny warto napisać w Electronie?

Page 67: Jak nadążyć za światem front-endu - WordPress Training Day

• Wsparcie dla najnowszych standardów

• Można podszkolić się w node.js

• Aplikacje w Electronie to głównie SPA

• Dostęp do systemowych API daje ciekawe

możliwości

Page 68: Jak nadążyć za światem front-endu - WordPress Training Day

• Wsparcie dla najnowszych standardów

• Można podszkolić się w node.js

• Aplikacje w Electronie to głównie SPA

• Dostęp do systemowych API daje ciekawe

możliwości

Page 69: Jak nadążyć za światem front-endu - WordPress Training Day

• Wsparcie dla najnowszych standardów

• Można podszkolić się w node.js

• Aplikacje w Electronie to głównie SPA

• Dostęp do systemowych API daje ciekawe

możliwości

Page 70: Jak nadążyć za światem front-endu - WordPress Training Day

• Wsparcie dla najnowszych standardów

• Można podszkolić się w node.js

• Aplikacje w Electronie to głównie SPA

• Dostęp do systemowych API daje ciekawe

możliwości

Page 71: Jak nadążyć za światem front-endu - WordPress Training Day

Podważaj swoją wiedzę

Page 72: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: https://google.pl

Page 73: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: http://caniuse.com/

Page 74: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: https://www.chromestatus.com/features

Page 75: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: https://dev.modern.ie/platform/status/

Page 76: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: https://platform-status.mozilla.org/

Page 77: Jak nadążyć za światem front-endu - WordPress Training Day

Źródło: https://webkit.org/status/

Page 78: Jak nadążyć za światem front-endu - WordPress Training Day

Historia wersji przeglądarek: https://upload.wikimedia.org/wikipedia/commons/7/74/Timeline_of_web_browsers.svg

6 tygodni

~6 tygodni

evergreen

Page 79: Jak nadążyć za światem front-endu - WordPress Training Day

Najważniejsi są ludzie

Page 80: Jak nadążyć za światem front-endu - WordPress Training Day
Page 81: Jak nadążyć za światem front-endu - WordPress Training Day

Efekt Krugera-Dunninga

Pew

ność

sieb

ie

Wiedza

Page 82: Jak nadążyć za światem front-endu - WordPress Training Day

Polecam: http://www.slideshare.net/ferrantes/the-human-element-47816358

Page 83: Jak nadążyć za światem front-endu - WordPress Training Day

Podsumowanie

Page 84: Jak nadążyć za światem front-endu - WordPress Training Day

• Zachowaj zdrowy rozsądek

• Unikaj programistycznego wizjonerstwa

• Opanuj bardzo dobrze VanillaJS

• Zdobywaj, podważaj i ćwicz swoją wiedzę regularnie

• Dziel się zdobytą wiedzą

• Nowe technologie testuj w projektach pobocznych

Page 85: Jak nadążyć za światem front-endu - WordPress Training Day

• Zachowaj zdrowy rozsądek

• Unikaj programistycznego wizjonerstwa

• Opanuj bardzo dobrze VanillaJS

• Zdobywaj, podważaj i ćwicz swoją wiedzę regularnie

• Dziel się zdobytą wiedzą

• Nowe technologie testuj w projektach pobocznych

Page 86: Jak nadążyć za światem front-endu - WordPress Training Day

• Zachowaj zdrowy rozsądek

• Unikaj programistycznego wizjonerstwa

• Opanuj bardzo dobrze VanillaJS

• Zdobywaj, podważaj i ćwicz swoją wiedzę regularnie

• Dziel się zdobytą wiedzą

• Nowe technologie testuj w projektach pobocznych

Page 87: Jak nadążyć za światem front-endu - WordPress Training Day

• Zachowaj zdrowy rozsądek

• Unikaj programistycznego wizjonerstwa

• Opanuj bardzo dobrze VanillaJS

• Zdobywaj i podważaj swoją wiedzę regularnie

• Dziel się zdobytą wiedzą

• Nowe technologie testuj w projektach pobocznych

Page 88: Jak nadążyć za światem front-endu - WordPress Training Day

• Zachowaj zdrowy rozsądek

• Unikaj programistycznego wizjonerstwa

• Opanuj bardzo dobrze VanillaJS

• Zdobywaj i podważaj swoją wiedzę regularnie

• Dziel się zdobytą wiedzą

• Nowe technologie testuj w projektach pobocznych

Page 89: Jak nadążyć za światem front-endu - WordPress Training Day

• Zachowaj zdrowy rozsądek

• Unikaj programistycznego wizjonerstwa

• Opanuj bardzo dobrze VanillaJS

• Zdobywaj i podważaj swoją wiedzę regularnie

• Dziel się zdobytą wiedzą

• Nowe technologie testuj w projektach pobocznych

Page 90: Jak nadążyć za światem front-endu - WordPress Training Day

Pytania?

Page 91: Jak nadążyć za światem front-endu - WordPress Training Day

[email protected]

@dziudek

http://dziudek.pl

http://www.slideshare.net/dziudek

Tomasz Dziuda