Hurá do frontendu

Bejvaly doby, kdy jsem jako backendový vývojář převážně microsoftích technologií tvrdil, že Java je hnusnej jazyk. Pak jsem v ní nějaký čas dělal a zjistil, že oproti C# fakt je. A taky bejvaly doby, kdy jsem trvdil, že Javascript je nepoužitelný a nyní zjišťuji, že se toho hodně změnilo. Matně si vzpomínám, že jsem ironicky komentoval pokrok, když se do Javascriptu dostal forEach. Ale teď? Aktuální ES6 je docela fajn a hlavně díky Babelu jste absolutně nezávislí na tom, co je implementováno v prohlížečích a můžete používat nejnovější vlastnosti jazyka. Pokud jsem dřív k něčemu používal Javascript, tak maximálně ke vložení nějakého jQuery pluginu a pár řádek jeho konfigurace. Ale abych nekecal. Na jednom projektu jsem si vyzkoušel kombinaci tehdejších novinek Angularu 1 a Typescriptu, ale použitou tím nejvíc blbým způsobem: Ne jako SPA, ale částečně renderované backendem a použité jenom na kousky UI (vlastně jenom nahrazení jQuery). Donutit to spolupracovat s ASP.NET MVC bylo peklo, stejně jako samotný Angular.

Nyní máme před sebou pár intranetových projektů, u kterých bude hodně záležet na uživatelském rozhraní. A protože už nás v týmu ten ASP.NET MVC moc nebaví a máme radši Scalu, tak jsme si řekli, že ji doplníme něčím na frontendu. Rozhodli jsme se pro React. Ne kvůli tomu, že je cool, ale právě kvůli tomu, že už okolo něj není takový hype a existuje mnoho dokumentace, návodů a zodpovězených otázek na StackOverflow.

Školení React JS od Blueberry

Velký problém frontendu a Javascriptového světa je, že je hodně živý. Je skoro nemožné se něco naučit svépomocí, protože je internet plný starých článků a jedna věc se dá udělat kombinacemi spousty knihoven a nástrojů. Taky nastavit vývojový stack je pro člověka, který se v oboru nepohybuje, těžké. A tak jsme poprosili kluky z Blueberry, jestli by nám nepomohli proniknout do Reactu, Reduxu a ukázali nám, jak to dělají oni.

Nechtěli jsme ztrácet čas a tak jsme dostali domácí úkoly, co se naučit dopředu: ES6 katy, pročíst dokumentace a nějaké články pro začátečníky. Formát školení jsme domluvili předem: Z části prezentační a z části nějaký workshop, abychom si sáhli na kód a trochu si to zažili.

Zase tak vyčerpávající to nebylo, když jsme se dokázali i usmívat na fotce... :)

Zase tak vyčerpávající to nebylo, když jsme se dokázali i usmívat na fotce… :) Foto: www.khiria.com

Nebudu vás napínat. Byly to 3 vyčerpávající dny, ve kterých jsme prošli všechno od nejdůležitějcích vlastností ES6 přes React, Redux až po best practices a nastavení stacku. Ondra Bartas a Tonda Hackenberg byli neuvěřitelně sehraní až to chvilkami vypadalo, že si celé to školení dopředu dlouho nacvičovali (a přitom měli na přípravu jenom víkend! :D). A hlavně nám svým nadšením neustále ukazovali, že ten javascriptový svět frontendu musí být dobrý, i když tomu jakožto backendoví vývojáři v silně typových jazycích moc nevěříme. Celé školení a Ondru s Tondou rozhodně doporučuji. Dokázali nám odpovědět na jakoukoliv otázku a ukázat směr, jakým by se různé scénáře řešily.

Hackaton

Abychom si ověřili, že kombinace React a Redux na fontendu a Scala (Play) na backendu bude ta pravá kombinace pro náš další projekt, rozhodli jsme udělat si týmový hackaton. Nakoupili jsme Redbully, zásobili se sladkostmi a kafem a dali si téměř 24 hodin nepřetržitého programování v celém týmu (9 lidí) a snažili se přepsat stávající projekt do nových technologií. Výsledkem byl kousíček budoucí Single page aplikace, na kterém jsme zjistili, že to sice není tak růžové jako na školení, ale nějak to půjde. Alespoň ze mě ten počáteční strach z neznámého dost opadl a myslím, že tahle cesta bude dobrá.

Budu konečně “fullstack” vývojář? :)

Až budu mít ten React pořádně zažitý, tak na opravdového fullstack vývojáře mi budou pořád chybět znalosti o Linuxu, abych byl schopný svoje výtvory i někam nasazovat a nějak provozovat. A používat cloud nebo docker je srabárna! :D

Ale ono je to jedno, beztak bych si “fullstack” vývojář nikdy neříkal. :D