SlideShare a Scribd company logo
1 of 39
Download to read offline
Sagi na frontendzie
Bartłomiej Glac
Future Processing
Kim	jestem?
• Programista
• Odkrywca
• Prelegent
Kamil	Programista
• Rok	doświadczenia
• Jeden	projekt
• Nastawiony	na	klienta
Misja
Giphy.com
Pierwszy	kontakt	z	kodem
Giphy.com
Co	jest	nie	tak?
Giphy.com
Efekt?
Wiele	zmarnowanego	czasu
Niewielkie	efekty
Frustracja
Jaki	powinien	być	dobry	kod?
Czytelny
Przewidywalny
Testowalny
Poprawmy	to!
Jak	zaradzić?Rada?
Redux
twitter.com/reactjs_news
Akcja
Redux
twitter.com/reactjs_news
Reducer
Redux
twitter.com/reactjs_news
Komponent
smalldata.tech/blog/2017/08/21/writing-an-application-in-react-redux
Główne	zasady
• Jedno	źródło	prawdy
• Stan	aplikacji	jest	dostępny	tylko	do	odczytu
• Zmiana	stanu	możliwa	tylko	poprzez	czyste	funkcje	zwracające	nowy	
obiekt	stanu
Jak	redux pomaga	pisać	lepszy	kod?
• Czytelność	– stan	i	logika	wydzielone
• Przewidywalność	- stan	aplikacji	modyfikowany	w	jednym	miejscu
• Testowalność	- zmiana	stanu	możliwa	tylko	poprzez	czyste	funkcje
Kiedy	przydaje	się	redux?
• Wiele	propercji stanu	jest	współdzielona	przez	komponenty
• Wieloetapowe	przekazywanie	stanu	w	głąb	aplikacji
• Zapamiętywanie	wyborów	użytkownika	
• Wydajność
A	co	z	komunikacją	z	API?
medium.com/@aksudupa11/redux-sagas-714370b61692
Redux-thunk
Test
Promise	hell
Problem?
• Czytelność	thunk’ów
• Mockowanie asynchronicznych	akcji
• Sztuczna	komunikacja	poprzez	store
Czym	są	sagi?
redux-saga
medium.com/@aksudupa11/redux-sagas-714370b61692
Jak zaimplementować	sagę?
Benefity	redux saga
medium.com/@ruslanmalogulko/redux-saga-how-to-make-real-good-things-with-generators-7d91a8916f0e
Redux	saga	test	plan
Jak	redux-saga	pomaga	pisać	lepszy	kod?
• Czytelność	– brak	callback-hell,	piszemy	deklaratywnie
• Przewidywalność	- logika	biznesowa	w	jednym	miejscu
• Testowalność	- zmiana	stanu	możliwa	tylko	poprzez	czyste	funkcje
Kiedy	przydaje	się	redux-saga?
• Kiedy	mamy	skomplikowaną	logikę	biznesową
• Kiedy	logika	jest	rozciągnięta	w	czasie	i	wymaga	akcji	użytkownika
• Zależy	nam	na	łatwości	testowania	kodu
Kiedy	lepiej	byłoby	się	zastanowić
• Prosta	aplikacja
• Nie	chcemy	dokładać	dodatkowych	konceptów
Materiały:	bartlomiejglac.com/redux-saga
@bartlomiejglac
bartek@glac.pl
Twoja opinia na temat mojej prelekcji jest dla mnie bardzo ważna.
1. Wejdź w mój wykład znajdujący się w agendzie w aplikacji
Eventory.
2. Oceń moją prelekcję i dodaj swój komentarz.
Dzięki temu będę wiedział/a, co Ci się podobało a co
powinienem/am ulepszyć!
4Developers 2018: Sagi na frontendzie - czyli jak ułatwić sobie pracę ze skomplikowanymi procesami (Bartłomiej Glac)

More Related Content

Similar to 4Developers 2018: Sagi na frontendzie - czyli jak ułatwić sobie pracę ze skomplikowanymi procesami (Bartłomiej Glac)

Równoległy rozwój Aplikacji Webowych | Codesushi
Równoległy rozwój Aplikacji Webowych | CodesushiRównoległy rozwój Aplikacji Webowych | Codesushi
Równoległy rozwój Aplikacji Webowych | CodesushiKrzysztof (Chris) Ozog
 
4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzeb...
4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzeb...4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzeb...
4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzeb...PROIDEA
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testowWiktor Żołnowski
 
Mity, które blokują Twoją karierę
Mity, które blokują Twoją karieręMity, które blokują Twoją karierę
Mity, które blokują Twoją karieręPiotr Horzycki
 
shopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medalu
shopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medalushopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medalu
shopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medaluecommerce poland expo
 
Girls in It - Front-end & Back-end. Jak zacząć
Girls in It - Front-end & Back-end. Jak zacząćGirls in It - Front-end & Back-end. Jak zacząć
Girls in It - Front-end & Back-end. Jak zacząćmonterail
 
Grzegorz Sikorskie - "Gorsze jest lepsze", czyli o dobrych stronach złego kodu
Grzegorz Sikorskie - "Gorsze jest lepsze", czyli o dobrych stronach złego koduGrzegorz Sikorskie - "Gorsze jest lepsze", czyli o dobrych stronach złego kodu
Grzegorz Sikorskie - "Gorsze jest lepsze", czyli o dobrych stronach złego koduBusiness Link Krakow
 
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)Dariusz Kacban
 
Code Review budujące relacje w zespole
Code Review budujące relacje w zespoleCode Review budujące relacje w zespole
Code Review budujące relacje w zespoleMaciej Mortek
 
Co Ty wiesz o Magento?
Co Ty wiesz o Magento?Co Ty wiesz o Magento?
Co Ty wiesz o Magento?White Ducky
 
Jak uchronić Twój piękny kod przed destrukcyjnym wpływem klienta | Codesushi
Jak uchronić Twój piękny kod przed destrukcyjnym wpływem klienta | CodesushiJak uchronić Twój piękny kod przed destrukcyjnym wpływem klienta | Codesushi
Jak uchronić Twój piękny kod przed destrukcyjnym wpływem klienta | CodesushiKrzysztof (Chris) Ozog
 
Czy technologia w projektach internetowych jest ubogim krewnym kreacji
Czy technologia w projektach internetowych jest ubogim krewnym kreacjiCzy technologia w projektach internetowych jest ubogim krewnym kreacji
Czy technologia w projektach internetowych jest ubogim krewnym kreacjiInternetBeta
 
Wybór platformy ecommerce
Wybór platformy ecommerceWybór platformy ecommerce
Wybór platformy ecommerceTomasz Karwatka
 
Zarządzanie stronami www, czyli jak zarabiając pieniądze, pomagać społecznośc...
Zarządzanie stronami www, czyli jak zarabiając pieniądze, pomagać społecznośc...Zarządzanie stronami www, czyli jak zarabiając pieniądze, pomagać społecznośc...
Zarządzanie stronami www, czyli jak zarabiając pieniądze, pomagać społecznośc...Aleksander Kuczek
 
Domain-Driven Design workshops
Domain-Driven Design workshopsDomain-Driven Design workshops
Domain-Driven Design workshopsMariusz Kopylec
 
Wysoka skalowalność systemu e-commerce na przykładzie magento
Wysoka skalowalność systemu e-commerce na przykładzie magentoWysoka skalowalność systemu e-commerce na przykładzie magento
Wysoka skalowalność systemu e-commerce na przykładzie magentoDivante
 

Similar to 4Developers 2018: Sagi na frontendzie - czyli jak ułatwić sobie pracę ze skomplikowanymi procesami (Bartłomiej Glac) (20)

Równoległy rozwój Aplikacji Webowych | Codesushi
Równoległy rozwój Aplikacji Webowych | CodesushiRównoległy rozwój Aplikacji Webowych | Codesushi
Równoległy rozwój Aplikacji Webowych | Codesushi
 
4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzeb...
4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzeb...4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzeb...
4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzeb...
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testow
 
Mity, które blokują Twoją karierę
Mity, które blokują Twoją karieręMity, które blokują Twoją karierę
Mity, które blokują Twoją karierę
 
shopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medalu
shopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medalushopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medalu
shopcamp zabrze/tomek tybon (dreamcommerce/shoper)/saas- dwie strony medalu
 
Girls in It - Front-end & Back-end. Jak zacząć
Girls in It - Front-end & Back-end. Jak zacząćGirls in It - Front-end & Back-end. Jak zacząć
Girls in It - Front-end & Back-end. Jak zacząć
 
User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14
User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14
User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14
 
Od zera do Automattica
Od zera do AutomatticaOd zera do Automattica
Od zera do Automattica
 
Grzegorz Sikorskie - "Gorsze jest lepsze", czyli o dobrych stronach złego kodu
Grzegorz Sikorskie - "Gorsze jest lepsze", czyli o dobrych stronach złego koduGrzegorz Sikorskie - "Gorsze jest lepsze", czyli o dobrych stronach złego kodu
Grzegorz Sikorskie - "Gorsze jest lepsze", czyli o dobrych stronach złego kodu
 
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)
 
KICK ME
KICK MEKICK ME
KICK ME
 
Code Review budujące relacje w zespole
Code Review budujące relacje w zespoleCode Review budujące relacje w zespole
Code Review budujące relacje w zespole
 
Co Ty wiesz o Magento?
Co Ty wiesz o Magento?Co Ty wiesz o Magento?
Co Ty wiesz o Magento?
 
Jak uchronić Twój piękny kod przed destrukcyjnym wpływem klienta | Codesushi
Jak uchronić Twój piękny kod przed destrukcyjnym wpływem klienta | CodesushiJak uchronić Twój piękny kod przed destrukcyjnym wpływem klienta | Codesushi
Jak uchronić Twój piękny kod przed destrukcyjnym wpływem klienta | Codesushi
 
Czy technologia w projektach internetowych jest ubogim krewnym kreacji
Czy technologia w projektach internetowych jest ubogim krewnym kreacjiCzy technologia w projektach internetowych jest ubogim krewnym kreacji
Czy technologia w projektach internetowych jest ubogim krewnym kreacji
 
Wybór platformy ecommerce
Wybór platformy ecommerceWybór platformy ecommerce
Wybór platformy ecommerce
 
Lean Hardware
Lean HardwareLean Hardware
Lean Hardware
 
Zarządzanie stronami www, czyli jak zarabiając pieniądze, pomagać społecznośc...
Zarządzanie stronami www, czyli jak zarabiając pieniądze, pomagać społecznośc...Zarządzanie stronami www, czyli jak zarabiając pieniądze, pomagać społecznośc...
Zarządzanie stronami www, czyli jak zarabiając pieniądze, pomagać społecznośc...
 
Domain-Driven Design workshops
Domain-Driven Design workshopsDomain-Driven Design workshops
Domain-Driven Design workshops
 
Wysoka skalowalność systemu e-commerce na przykładzie magento
Wysoka skalowalność systemu e-commerce na przykładzie magentoWysoka skalowalność systemu e-commerce na przykładzie magento
Wysoka skalowalność systemu e-commerce na przykładzie magento
 

4Developers 2018: Sagi na frontendzie - czyli jak ułatwić sobie pracę ze skomplikowanymi procesami (Bartłomiej Glac)