SlideShare a Scribd company logo
1 of 12
Download to read offline
Równoległy rozwój
Aplikacji Webowych
czyli jak stworzyć pełnowartościowy produkt przynajmniej 2x szybciej
Chris Ozog - Codesushi CTO
Agenda:
● Coś o mnie…
● Podejście standardowe -
czyli jak to robiliśmy kiedyś
● Podejście zrównoleglone -
czyli jak to robimy teraz
● Narzędzia które nam w tym pomagają
● Case study
● Podsumowanie
Coś o mnie...
● Od ponad dekady twórca aplikacji
webowych
● Uzależniony od czystego kodu
● Lider techniczny w Codesushi
● CodeReviewer z zamiłowania
● Filozof i Developer w jednym…
i co gorsza jest to udokumentowane dwoma dyplomami
Podejście standardowe:
1. User stories
2. Rozpisanie Endpointów
3. Implementacja Endpointów
4. Przekazanie udokumentowanych
Endpointów do FrontEndu
5. Prace Frontowe
6. …
7. Profit
Podejście zrównoleglone:
1. User stories
2. FrontEnd i BackEnd wspólnie ustalają
Endpointy - powstaje kontrakt
3. Tworzymy Mock Api
4. FrontEnd i BackEnd zaczynają pracę
równocześnie
5. W miarę postępu w Api, FrontEnd
przepinia Endpointy z Mock Api na “żywe” Api
6. …
7. Profit
Narzędzia których używamy: Apiary
● Używamy gdy FrontEnd i BackEnd mogą wystartować
równocześnie, lub BackEnd ma opóźniony start
● Zalety
○ Bogate możliwości dokumentowania
○ Dokumentacja i Mock Api w jednym
○ Mock Api nie wymaga dodatkowego setupu
● Wady
○ Konieczność nauczenia się nowego narzędzia
○ Konieczność przepinania frontu
Narzędzia których używamy: Symfony + bundle
● Symfony + FOSRestBundle + NelmioAPIDocBundle
○ Używamy gdy FrontEnd startuje z opóźnieniem
○ Backend zwraca na sztywno dane [czasem przydaje się: Faker]
● Zalety
○ Dokumentacja i kod w jednym miejscu
○ Autogeneracja Swaggera + Webowy klient to testowania Api
○ Brak konieczności podmiany Endpointa
● Wady
○ Konieczne jest zaangażowanie developera
○ Dłuższy start projektu
○ Zmiana w Mock Api wymaga zaangażowania BackEndowca
Narzędzia których używamy: Json-server
● Json-server (https://github.com/typicode/json-server)
○ Używamy w momencie gdy FrontEnd rozpoczyna pracę jako pierwszy
○ Prosty server który zwraca pliki json
● Zalety
○ Prostota
○ Mock Api może być wersjonowane wraz z projektem
○ Każdy developer może dokonać poprawek
● Wady
○ Wymaga zaangażowania developera do zmiany Mock Api
○ Oferuje tylko Mock Api, o dokumentację trzeba zadbać osobno
○ Zmiany w kontrakcie mogą pozostać niezauważone
Case study:
● Projekt dotyczył zbudowania od nowa mechanizmu zamawiania obozów sportowych
● Zespół
○ 1x BackEnd od klienta
○ 1.5x BackEnd Codesushi
○ 1x FrontEnd Codesushi
● Poprzednia wersja z mniejszą ilością funkcjonalności powstała w 12 miesięcy, a
wersja przy której pracowaliśmy powstała w 3 miesiące
● FrontEnd: Angular 1.5.11
● BackEnd: Symfony 2.8
● Apiary zostało wykorzystane w pierwszym etapie projektu
● W późniejszym etapie wykorzystaliśmy: Symfony + bundle
Równoległy rozwój Aplikacji
Webowych - Podsumowanie:
● Umożliwia atak na wielu frontach
● Developerzy działają w oparciu o kontrakt - co daje większą
swobodę w planowaniu
● FrontEnd nie jest blokowany przez BackEnd
● Zastosowanie jedynie wtedy gdy możemy całkowicie odseparować
FrontEnd od BackEndu (Angular, Ember, Backbone, React)
● Doskonale nadaje się do tworzenia Minimum Viable Product [MVP]
Dziękuję za uwagę :)
e-mail: hello@codesushi.co
www: codesushi.coKrzysztof Ożóg
Codesushi CTO

More Related Content

Similar to Równoległy rozwój Aplikacji Webowych | Codesushi

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
 
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side developmentTomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side developmentSharePoint Saturday Warsaw
 
DevOps - what I have learnt so far
DevOps - what I have learnt so far DevOps - what I have learnt so far
DevOps - what I have learnt so far Wojciech Barczyński
 
CI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieCI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieGrzegorz Godlewski
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...
Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...
Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...Piotr Biegun
 
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
 
Projektowanie stron www dla ngo i projektow eko - case study
Projektowanie stron www dla ngo i projektow eko - case studyProjektowanie stron www dla ngo i projektow eko - case study
Projektowanie stron www dla ngo i projektow eko - case studyKrakweb
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymDariusz Jagieło
 
Architektura serwisu gg.pl 2 przemek łącki (2)
Architektura serwisu gg.pl 2   przemek łącki (2)Architektura serwisu gg.pl 2   przemek łącki (2)
Architektura serwisu gg.pl 2 przemek łącki (2)Cendoo
 
Strona w rękach klienta: o czym pamiętać, aby ułatwić pracę edytorom treści [PL]
Strona w rękach klienta: o czym pamiętać, aby ułatwić pracę edytorom treści [PL]Strona w rękach klienta: o czym pamiętać, aby ułatwić pracę edytorom treści [PL]
Strona w rękach klienta: o czym pamiętać, aby ułatwić pracę edytorom treści [PL]Droptica
 
Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2intive
 
ES2015 / ES6 Podstawy nowoczesnego JavaScriptu
ES2015 / ES6 Podstawy nowoczesnego JavaScriptuES2015 / ES6 Podstawy nowoczesnego JavaScriptu
ES2015 / ES6 Podstawy nowoczesnego JavaScriptuWojciech Dzikowski
 
4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...
4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...
4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...PROIDEA
 
4Developers 2018: Sagi na frontendzie - czyli jak ułatwić sobie pracę ze skom...
4Developers 2018: Sagi na frontendzie - czyli jak ułatwić sobie pracę ze skom...4Developers 2018: Sagi na frontendzie - czyli jak ułatwić sobie pracę ze skom...
4Developers 2018: Sagi na frontendzie - czyli jak ułatwić sobie pracę ze skom...PROIDEA
 
Programowanie na wiele platform mobilnych - 2012
Programowanie na wiele platform mobilnych - 2012Programowanie na wiele platform mobilnych - 2012
Programowanie na wiele platform mobilnych - 2012Cezary Walenciuk
 
4Developers 2015: "Eksperckość" pułapka na UX Designera - Arkadiusz Smółko...
4Developers 2015: "Eksperckość" pułapka na UX Designera - Arkadiusz Smółko...4Developers 2015: "Eksperckość" pułapka na UX Designera - Arkadiusz Smółko...
4Developers 2015: "Eksperckość" pułapka na UX Designera - Arkadiusz Smółko...PROIDEA
 

Similar to Równoległy rozwój Aplikacji Webowych | Codesushi (20)

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ąć
 
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side developmentTomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
 
DevOps - what I have learnt so far
DevOps - what I have learnt so far DevOps - what I have learnt so far
DevOps - what I have learnt so far
 
Od zera do Automattica
Od zera do AutomatticaOd zera do Automattica
Od zera do Automattica
 
CI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieCI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecie
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...
Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...
Jak stworzyć aplikacje mobilne wysoko ocenianie przez użytkowników? - Case St...
 
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)
 
Projektowanie stron www dla ngo i projektow eko - case study
Projektowanie stron www dla ngo i projektow eko - case studyProjektowanie stron www dla ngo i projektow eko - case study
Projektowanie stron www dla ngo i projektow eko - case study
 
university day 1
university day 1university day 1
university day 1
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
 
Architektura serwisu gg.pl 2 przemek łącki (2)
Architektura serwisu gg.pl 2   przemek łącki (2)Architektura serwisu gg.pl 2   przemek łącki (2)
Architektura serwisu gg.pl 2 przemek łącki (2)
 
Strona w rękach klienta: o czym pamiętać, aby ułatwić pracę edytorom treści [PL]
Strona w rękach klienta: o czym pamiętać, aby ułatwić pracę edytorom treści [PL]Strona w rękach klienta: o czym pamiętać, aby ułatwić pracę edytorom treści [PL]
Strona w rękach klienta: o czym pamiętać, aby ułatwić pracę edytorom treści [PL]
 
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
 
Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2Techniczna organizacja zespołu cz 2
Techniczna organizacja zespołu cz 2
 
ES2015 / ES6 Podstawy nowoczesnego JavaScriptu
ES2015 / ES6 Podstawy nowoczesnego JavaScriptuES2015 / ES6 Podstawy nowoczesnego JavaScriptu
ES2015 / ES6 Podstawy nowoczesnego JavaScriptu
 
4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...
4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...
4Developers 2015: Rozpraszanie offline aplikacji zcentralizowanej online - Łu...
 
4Developers 2018: Sagi na frontendzie - czyli jak ułatwić sobie pracę ze skom...
4Developers 2018: Sagi na frontendzie - czyli jak ułatwić sobie pracę ze skom...4Developers 2018: Sagi na frontendzie - czyli jak ułatwić sobie pracę ze skom...
4Developers 2018: Sagi na frontendzie - czyli jak ułatwić sobie pracę ze skom...
 
Programowanie na wiele platform mobilnych - 2012
Programowanie na wiele platform mobilnych - 2012Programowanie na wiele platform mobilnych - 2012
Programowanie na wiele platform mobilnych - 2012
 
4Developers 2015: "Eksperckość" pułapka na UX Designera - Arkadiusz Smółko...
4Developers 2015: "Eksperckość" pułapka na UX Designera - Arkadiusz Smółko...4Developers 2015: "Eksperckość" pułapka na UX Designera - Arkadiusz Smółko...
4Developers 2015: "Eksperckość" pułapka na UX Designera - Arkadiusz Smółko...
 

More from Krzysztof (Chris) Ozog

Code Camp NYC 2017 - How to deal with everything... | Chris Ozog - Codesushi
Code Camp NYC 2017 - How to deal with everything... | Chris Ozog - Codesushi Code Camp NYC 2017 - How to deal with everything... | Chris Ozog - Codesushi
Code Camp NYC 2017 - How to deal with everything... | Chris Ozog - Codesushi Krzysztof (Chris) Ozog
 
21st century problem… the cost of it department!
21st century problem… the cost of it department!21st century problem… the cost of it department!
21st century problem… the cost of it department!Krzysztof (Chris) Ozog
 
Codesushi: Code review z korzyściami dla recenzenta i recenzowanego
Codesushi: Code review z korzyściami dla recenzenta i recenzowanego Codesushi: Code review z korzyściami dla recenzenta i recenzowanego
Codesushi: Code review z korzyściami dla recenzenta i recenzowanego Krzysztof (Chris) Ozog
 
Why I stopped worrying and loved PHP | Codesushi - Krakow 2017
Why I stopped worrying and loved PHP | Codesushi - Krakow 2017Why I stopped worrying and loved PHP | Codesushi - Krakow 2017
Why I stopped worrying and loved PHP | Codesushi - Krakow 2017Krzysztof (Chris) Ozog
 
Parallel development of Web Apps | Codesushi - Gliwice 2017
Parallel development of Web Apps | Codesushi - Gliwice  2017Parallel development of Web Apps | Codesushi - Gliwice  2017
Parallel development of Web Apps | Codesushi - Gliwice 2017Krzysztof (Chris) Ozog
 
How to create a WordPress not understanding WordPress, so more on the headles...
How to create a WordPress not understanding WordPress, so more on the headles...How to create a WordPress not understanding WordPress, so more on the headles...
How to create a WordPress not understanding WordPress, so more on the headles...Krzysztof (Chris) Ozog
 
Asynchronous PHP | Codesushi - Warsaw 2017
Asynchronous PHP | Codesushi - Warsaw 2017Asynchronous PHP | Codesushi - Warsaw 2017
Asynchronous PHP | Codesushi - Warsaw 2017Krzysztof (Chris) Ozog
 
The automation of the process of caring for the quality of the code in PHP an...
The automation of the process of caring for the quality of the code in PHP an...The automation of the process of caring for the quality of the code in PHP an...
The automation of the process of caring for the quality of the code in PHP an...Krzysztof (Chris) Ozog
 
How to protect your code against a destructive influence of client | Codesush...
How to protect your code against a destructive influence of client | Codesush...How to protect your code against a destructive influence of client | Codesush...
How to protect your code against a destructive influence of client | Codesush...Krzysztof (Chris) Ozog
 
Headless approach and acquia - case study | Codesushi
Headless approach and acquia  - case study | CodesushiHeadless approach and acquia  - case study | Codesushi
Headless approach and acquia - case study | CodesushiKrzysztof (Chris) Ozog
 
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
 
Why I stopped worrying and LOVED PHP | Codesushi
Why I stopped  worrying and  LOVED PHP | CodesushiWhy I stopped  worrying and  LOVED PHP | Codesushi
Why I stopped worrying and LOVED PHP | CodesushiKrzysztof (Chris) Ozog
 
Speed up your zombies! - Bootstrap dev environment in 5 minutes!
Speed up your zombies! - Bootstrap dev environment in 5 minutes!Speed up your zombies! - Bootstrap dev environment in 5 minutes!
Speed up your zombies! - Bootstrap dev environment in 5 minutes!Krzysztof (Chris) Ozog
 

More from Krzysztof (Chris) Ozog (16)

Code Camp NYC 2017 - How to deal with everything... | Chris Ozog - Codesushi
Code Camp NYC 2017 - How to deal with everything... | Chris Ozog - Codesushi Code Camp NYC 2017 - How to deal with everything... | Chris Ozog - Codesushi
Code Camp NYC 2017 - How to deal with everything... | Chris Ozog - Codesushi
 
21st century problem… the cost of it department!
21st century problem… the cost of it department!21st century problem… the cost of it department!
21st century problem… the cost of it department!
 
Codesushi: Code review z korzyściami dla recenzenta i recenzowanego
Codesushi: Code review z korzyściami dla recenzenta i recenzowanego Codesushi: Code review z korzyściami dla recenzenta i recenzowanego
Codesushi: Code review z korzyściami dla recenzenta i recenzowanego
 
Why I stopped worrying and loved PHP | Codesushi - Krakow 2017
Why I stopped worrying and loved PHP | Codesushi - Krakow 2017Why I stopped worrying and loved PHP | Codesushi - Krakow 2017
Why I stopped worrying and loved PHP | Codesushi - Krakow 2017
 
Parallel development of Web Apps | Codesushi - Gliwice 2017
Parallel development of Web Apps | Codesushi - Gliwice  2017Parallel development of Web Apps | Codesushi - Gliwice  2017
Parallel development of Web Apps | Codesushi - Gliwice 2017
 
How to create a WordPress not understanding WordPress, so more on the headles...
How to create a WordPress not understanding WordPress, so more on the headles...How to create a WordPress not understanding WordPress, so more on the headles...
How to create a WordPress not understanding WordPress, so more on the headles...
 
Asynchronous PHP | Codesushi - Warsaw 2017
Asynchronous PHP | Codesushi - Warsaw 2017Asynchronous PHP | Codesushi - Warsaw 2017
Asynchronous PHP | Codesushi - Warsaw 2017
 
The automation of the process of caring for the quality of the code in PHP an...
The automation of the process of caring for the quality of the code in PHP an...The automation of the process of caring for the quality of the code in PHP an...
The automation of the process of caring for the quality of the code in PHP an...
 
How to protect your code against a destructive influence of client | Codesush...
How to protect your code against a destructive influence of client | Codesush...How to protect your code against a destructive influence of client | Codesush...
How to protect your code against a destructive influence of client | Codesush...
 
Migration from drupal 7 to drupal 8
Migration from drupal 7 to drupal 8Migration from drupal 7 to drupal 8
Migration from drupal 7 to drupal 8
 
Headless approach and acquia - case study | Codesushi
Headless approach and acquia  - case study | CodesushiHeadless approach and acquia  - case study | Codesushi
Headless approach and acquia - case study | Codesushi
 
Asynchroniczny PHP | Codesushi
Asynchroniczny PHP | CodesushiAsynchroniczny PHP | Codesushi
Asynchroniczny PHP | Codesushi
 
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
 
Why I stopped worrying and LOVED PHP | Codesushi
Why I stopped  worrying and  LOVED PHP | CodesushiWhy I stopped  worrying and  LOVED PHP | Codesushi
Why I stopped worrying and LOVED PHP | Codesushi
 
Inner Symfony’s Daemons
 Inner Symfony’s Daemons Inner Symfony’s Daemons
Inner Symfony’s Daemons
 
Speed up your zombies! - Bootstrap dev environment in 5 minutes!
Speed up your zombies! - Bootstrap dev environment in 5 minutes!Speed up your zombies! - Bootstrap dev environment in 5 minutes!
Speed up your zombies! - Bootstrap dev environment in 5 minutes!
 

Równoległy rozwój Aplikacji Webowych | Codesushi

  • 1. Równoległy rozwój Aplikacji Webowych czyli jak stworzyć pełnowartościowy produkt przynajmniej 2x szybciej Chris Ozog - Codesushi CTO
  • 2. Agenda: ● Coś o mnie… ● Podejście standardowe - czyli jak to robiliśmy kiedyś ● Podejście zrównoleglone - czyli jak to robimy teraz ● Narzędzia które nam w tym pomagają ● Case study ● Podsumowanie
  • 3. Coś o mnie... ● Od ponad dekady twórca aplikacji webowych ● Uzależniony od czystego kodu ● Lider techniczny w Codesushi ● CodeReviewer z zamiłowania ● Filozof i Developer w jednym… i co gorsza jest to udokumentowane dwoma dyplomami
  • 4. Podejście standardowe: 1. User stories 2. Rozpisanie Endpointów 3. Implementacja Endpointów 4. Przekazanie udokumentowanych Endpointów do FrontEndu 5. Prace Frontowe 6. … 7. Profit
  • 5. Podejście zrównoleglone: 1. User stories 2. FrontEnd i BackEnd wspólnie ustalają Endpointy - powstaje kontrakt 3. Tworzymy Mock Api 4. FrontEnd i BackEnd zaczynają pracę równocześnie 5. W miarę postępu w Api, FrontEnd przepinia Endpointy z Mock Api na “żywe” Api 6. … 7. Profit
  • 6. Narzędzia których używamy: Apiary ● Używamy gdy FrontEnd i BackEnd mogą wystartować równocześnie, lub BackEnd ma opóźniony start ● Zalety ○ Bogate możliwości dokumentowania ○ Dokumentacja i Mock Api w jednym ○ Mock Api nie wymaga dodatkowego setupu ● Wady ○ Konieczność nauczenia się nowego narzędzia ○ Konieczność przepinania frontu
  • 7.
  • 8. Narzędzia których używamy: Symfony + bundle ● Symfony + FOSRestBundle + NelmioAPIDocBundle ○ Używamy gdy FrontEnd startuje z opóźnieniem ○ Backend zwraca na sztywno dane [czasem przydaje się: Faker] ● Zalety ○ Dokumentacja i kod w jednym miejscu ○ Autogeneracja Swaggera + Webowy klient to testowania Api ○ Brak konieczności podmiany Endpointa ● Wady ○ Konieczne jest zaangażowanie developera ○ Dłuższy start projektu ○ Zmiana w Mock Api wymaga zaangażowania BackEndowca
  • 9. Narzędzia których używamy: Json-server ● Json-server (https://github.com/typicode/json-server) ○ Używamy w momencie gdy FrontEnd rozpoczyna pracę jako pierwszy ○ Prosty server który zwraca pliki json ● Zalety ○ Prostota ○ Mock Api może być wersjonowane wraz z projektem ○ Każdy developer może dokonać poprawek ● Wady ○ Wymaga zaangażowania developera do zmiany Mock Api ○ Oferuje tylko Mock Api, o dokumentację trzeba zadbać osobno ○ Zmiany w kontrakcie mogą pozostać niezauważone
  • 10. Case study: ● Projekt dotyczył zbudowania od nowa mechanizmu zamawiania obozów sportowych ● Zespół ○ 1x BackEnd od klienta ○ 1.5x BackEnd Codesushi ○ 1x FrontEnd Codesushi ● Poprzednia wersja z mniejszą ilością funkcjonalności powstała w 12 miesięcy, a wersja przy której pracowaliśmy powstała w 3 miesiące ● FrontEnd: Angular 1.5.11 ● BackEnd: Symfony 2.8 ● Apiary zostało wykorzystane w pierwszym etapie projektu ● W późniejszym etapie wykorzystaliśmy: Symfony + bundle
  • 11. Równoległy rozwój Aplikacji Webowych - Podsumowanie: ● Umożliwia atak na wielu frontach ● Developerzy działają w oparciu o kontrakt - co daje większą swobodę w planowaniu ● FrontEnd nie jest blokowany przez BackEnd ● Zastosowanie jedynie wtedy gdy możemy całkowicie odseparować FrontEnd od BackEndu (Angular, Ember, Backbone, React) ● Doskonale nadaje się do tworzenia Minimum Viable Product [MVP]
  • 12. Dziękuję za uwagę :) e-mail: hello@codesushi.co www: codesushi.coKrzysztof Ożóg Codesushi CTO