SlideShare une entreprise Scribd logo
1  sur  28
REST API, React &
TypeScript
WP Weekend, 28. 5. 2016
Proč
Historie WP UIs
Historie WP UIs
Historie WP UIs
Budoucnost WP UIs
WP REST API
REST
• Data namísto prezentace
• (JSON namísto HTML)
• Prezentace je starostí klienta
• … nebo nemusí být vůbec
WP REST API
• Infrastruktura
• V jádře od v4.4
• Umožňuje psát vlastní endpointy
• 4 hlavní endpointy
• Zatím plugin (trable s mergnutím do jádra)
• Posts, terms, comments, users
React
• https://facebook.github.io/react/
• View knihovna od Facebooku
• „V“ v „MVC“
• Potřebuje k sobě další věci: flux / Redux, webpack,
relay, práce s daty, …
Proč zrovna React
• Jednoduchost, rychlost
• Flexibilita – webový DOM, React Native, statické
stránky, …
• Silná komunita
• (a Automattic ho tlačí)
Čím je jiný
• Oproti jQuery apod.:
• vývojář nemanipuluje s DOMem (Virtual DOM)
• lepří z pohledu programování
• … a výkonu
• Oproti Angularu apod.:
• React není rozsáhlý framework
• Nemá „názor“ na práci s daty
• Brutálně jednoduchý
Use casy pro WP vývojáře
• Frontend
• „Headless CMS“
• Nomadbase, mobilní apky
• Lepší administrace
• Okamžitá odezva
• Příjemnější pro uživatele
• Calypso, VersionPress, ManageWP apod.
React
React
React
React
React
React
• Komponentový přístup
• Komponenta je funkce
• f(data)  prezentace
• JSX
• Neporušuje separation of concerns
• Užitečné zjednodušení
React
Source: http://www.slideshare.net/AndrewHull/react-js-and-why-its-awesome
React a data
• React data neřeší
• Na fetch dat: `fetch()` nebo třeba jQuery
• Na správu dat lokálně: flux, Redux
Action Reducer Store View
Redux
TypeScript
TypeScript
• Transpiler ve stylu CoffeeScriptu, ClojureScript,
Babelu apod.
• ALE: velmi blízko JavaScriptu
• „Každý JavaScript je validní TypeScript“
• Od Microsoftu, resp. skvělého týmu kolem C#
(Anders Hejlsberg…)
Nejlákavější vlastnosti TypeScriptu
1. Datové typy
2. Novější ES6/7 features transpilované do ES5/3
3. Čitelný generovaný kód
Demo
Díky!
@borekb
@versionpress

Contenu connexe

Similaire à WordPress REST API + React + TypeScript

Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Pavel Růžička
 
vSphere automation workshop python
vSphere automation workshop pythonvSphere automation workshop python
vSphere automation workshop pythonVladan Laxa
 
Oxygen Builder - Kyslík pro WordPress
Oxygen Builder - Kyslík pro WordPressOxygen Builder - Kyslík pro WordPress
Oxygen Builder - Kyslík pro WordPressAleš Sýkora
 
Použití Next.js a Reactí UI khinihovny v aplikaci
Použití Next.js a Reactí UI khinihovny v aplikaciPoužití Next.js a Reactí UI khinihovny v aplikaci
Použití Next.js a Reactí UI khinihovny v aplikaciMartin Krištof
 
Spring framework - J2EE S Lidskou Tvari
Spring framework - J2EE S Lidskou TvariSpring framework - J2EE S Lidskou Tvari
Spring framework - J2EE S Lidskou TvariRoman Pichlík
 
Výběr vhodných technologii pro startup v prostředí cloudu
Výběr vhodných technologii pro startup v prostředí clouduVýběr vhodných technologii pro startup v prostředí cloudu
Výběr vhodných technologii pro startup v prostředí clouduJan Kodera
 
Generátory statických webů
Generátory statických webůGenerátory statických webů
Generátory statických webůMichal Doležel
 
Moderní Server Side UI Rendering v PHP
Moderní Server Side UI Rendering v PHPModerní Server Side UI Rendering v PHP
Moderní Server Side UI Rendering v PHPMichalMajer2
 

Similaire à WordPress REST API + React + TypeScript (20)

Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)Rich Internet Applications 2009 (Czech)
Rich Internet Applications 2009 (Czech)
 
vSphere automation workshop python
vSphere automation workshop pythonvSphere automation workshop python
vSphere automation workshop python
 
Oxygen Builder - Kyslík pro WordPress
Oxygen Builder - Kyslík pro WordPressOxygen Builder - Kyslík pro WordPress
Oxygen Builder - Kyslík pro WordPress
 
TNPW2-2012-07
TNPW2-2012-07TNPW2-2012-07
TNPW2-2012-07
 
Použití Next.js a Reactí UI khinihovny v aplikaci
Použití Next.js a Reactí UI khinihovny v aplikaciPoužití Next.js a Reactí UI khinihovny v aplikaci
Použití Next.js a Reactí UI khinihovny v aplikaci
 
TNPW2-2013-07
TNPW2-2013-07TNPW2-2013-07
TNPW2-2013-07
 
TNPW2-2012-02
TNPW2-2012-02TNPW2-2012-02
TNPW2-2012-02
 
TNPW2-2013-03
TNPW2-2013-03TNPW2-2013-03
TNPW2-2013-03
 
TNPW2-2012-03
TNPW2-2012-03TNPW2-2012-03
TNPW2-2012-03
 
TNPW2-2013-02
TNPW2-2013-02TNPW2-2013-02
TNPW2-2013-02
 
TNPW2-2012-05
TNPW2-2012-05TNPW2-2012-05
TNPW2-2012-05
 
TNPW2-2013-05
TNPW2-2013-05TNPW2-2013-05
TNPW2-2013-05
 
Spring framework - J2EE S Lidskou Tvari
Spring framework - J2EE S Lidskou TvariSpring framework - J2EE S Lidskou Tvari
Spring framework - J2EE S Lidskou Tvari
 
Axure RP training
Axure RP trainingAxure RP training
Axure RP training
 
TNPW2-2016-02
TNPW2-2016-02TNPW2-2016-02
TNPW2-2016-02
 
TNPW2-2014-02
TNPW2-2014-02TNPW2-2014-02
TNPW2-2014-02
 
Výběr vhodných technologii pro startup v prostředí cloudu
Výběr vhodných technologii pro startup v prostředí clouduVýběr vhodných technologii pro startup v prostředí cloudu
Výběr vhodných technologii pro startup v prostředí cloudu
 
Generátory statických webů
Generátory statických webůGenerátory statických webů
Generátory statických webů
 
Moderní Server Side UI Rendering v PHP
Moderní Server Side UI Rendering v PHPModerní Server Side UI Rendering v PHP
Moderní Server Side UI Rendering v PHP
 
TNPW2-2014-05
TNPW2-2014-05TNPW2-2014-05
TNPW2-2014-05
 

Plus de Borek Bernard

Git in 10 minutes (WordCamp London 2018)
Git in 10 minutes (WordCamp London 2018)Git in 10 minutes (WordCamp London 2018)
Git in 10 minutes (WordCamp London 2018)Borek Bernard
 
Jak tu věc dostat do produkce (WordCamp Praha 2018)
Jak tu věc dostat do produkce  (WordCamp Praha 2018)Jak tu věc dostat do produkce  (WordCamp Praha 2018)
Jak tu věc dostat do produkce (WordCamp Praha 2018)Borek Bernard
 
Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)Borek Bernard
 
VersionPress: představení & kam se za rok posunul
VersionPress: představení & kam se za rok posunulVersionPress: představení & kam se za rok posunul
VersionPress: představení & kam se za rok posunulBorek Bernard
 
WordPress, React, oh my! (DevelCZ 2016)
WordPress, React, oh my! (DevelCZ 2016)WordPress, React, oh my! (DevelCZ 2016)
WordPress, React, oh my! (DevelCZ 2016)Borek Bernard
 
React for WordPress developers
React for WordPress developersReact for WordPress developers
React for WordPress developersBorek Bernard
 
Update o VersionPressu 2.0
Update o VersionPressu 2.0Update o VersionPressu 2.0
Update o VersionPressu 2.0Borek Bernard
 
WordPress jako příležitost (@Frontendisti 03/2015)
WordPress jako příležitost (@Frontendisti 03/2015)WordPress jako příležitost (@Frontendisti 03/2015)
WordPress jako příležitost (@Frontendisti 03/2015)Borek Bernard
 
Verzování WordPress webů (#wpkonference 11/2014)
Verzování WordPress webů (#wpkonference 11/2014)Verzování WordPress webů (#wpkonference 11/2014)
Verzování WordPress webů (#wpkonference 11/2014)Borek Bernard
 
VersionPress - jak dělat WP weby lépe
VersionPress - jak dělat WP weby lépeVersionPress - jak dělat WP weby lépe
VersionPress - jak dělat WP weby lépeBorek Bernard
 

Plus de Borek Bernard (13)

Gatsby vs. Next.js
Gatsby vs. Next.jsGatsby vs. Next.js
Gatsby vs. Next.js
 
WordPress + Gatsby
WordPress + GatsbyWordPress + Gatsby
WordPress + Gatsby
 
Git in 10 minutes (WordCamp London 2018)
Git in 10 minutes (WordCamp London 2018)Git in 10 minutes (WordCamp London 2018)
Git in 10 minutes (WordCamp London 2018)
 
Jak tu věc dostat do produkce (WordCamp Praha 2018)
Jak tu věc dostat do produkce  (WordCamp Praha 2018)Jak tu věc dostat do produkce  (WordCamp Praha 2018)
Jak tu věc dostat do produkce (WordCamp Praha 2018)
 
Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)
 
VersionPress: představení & kam se za rok posunul
VersionPress: představení & kam se za rok posunulVersionPress: představení & kam se za rok posunul
VersionPress: představení & kam se za rok posunul
 
WordPress, React, oh my! (DevelCZ 2016)
WordPress, React, oh my! (DevelCZ 2016)WordPress, React, oh my! (DevelCZ 2016)
WordPress, React, oh my! (DevelCZ 2016)
 
React for WordPress developers
React for WordPress developersReact for WordPress developers
React for WordPress developers
 
Update o VersionPressu 2.0
Update o VersionPressu 2.0Update o VersionPressu 2.0
Update o VersionPressu 2.0
 
WordPress jako příležitost (@Frontendisti 03/2015)
WordPress jako příležitost (@Frontendisti 03/2015)WordPress jako příležitost (@Frontendisti 03/2015)
WordPress jako příležitost (@Frontendisti 03/2015)
 
Verzování WordPress webů (#wpkonference 11/2014)
Verzování WordPress webů (#wpkonference 11/2014)Verzování WordPress webů (#wpkonference 11/2014)
Verzování WordPress webů (#wpkonference 11/2014)
 
Markdown
MarkdownMarkdown
Markdown
 
VersionPress - jak dělat WP weby lépe
VersionPress - jak dělat WP weby lépeVersionPress - jak dělat WP weby lépe
VersionPress - jak dělat WP weby lépe
 

WordPress REST API + React + TypeScript