Programia - Tvorba e-shopů, shop, eShop, e-shop, B2C, B2B

MENUZAVŘÍT
Úvod Novinky ROZHOVOR: Náš kolega Václav Pekárek si posvítil na framework Blazor a vydal o tom knihu

ROZHOVOR: Náš kolega Václav Pekárek si posvítil na framework Blazor a vydal o tom knihu

Pekárková Sylvie 12.1. 2023

Budeme se trošku chlubit. Náš kolega Václav Pekárek totiž koncem minulého roku vydal knihu. Pro mnohé z vás bude pravděpodobně už samotný název knihy španělskou vesnicí, kdežto vývojáři mají skvělou příležitost k tomu, dozvědět se více o jedné z nejnovějších technologií pro vývoj softwaru.

Představení knihy

Název: Building Blazor WebAssembly Applications with gRPC

Jazyk: Angličtina

Autor: Mgr. Václav Pekárek je zkušený vývojář s 10letou praxí v oblasti vývoje webu pomocí .NET a C# a rovněž certifikovaným odborníkem s titulem Microsoft Certified Professional (MCP).

Obsah: Kniha má za cíl ukázat možnosti implementace gRPC do Blazor aplikace jako alternativu ke klasickým REST službám, a zároveň představit generátory zdrojových kódů a ukázat, jak mohou ulehčit a zrychlit vývoj.

Publikováno v listopadu 2022.


Obal knihy od Václava Pekárka


Co je Blazor

Blazor je opensource framework od společnosti Microsoft, který umožňuje vývoj webových aplikací pomocí C# a HTML.

Dnešní aplikace využívají k dynamickým akcím (přenačtení části stránky, přechod mezi stránkami bez probliknutí apod.) technologie/frameworky postavené ve většině případů na JavaScriptu. To ale vede k nutnosti znát další programovací jazyk pro vývoj webových aplikací. Proto se také svět vývojařů rozdělil na frontendové (to, co je vidět) a backendové (to, co se děje na pozadí) vývojáře.

S pomocí Blazoru je možné využít stejnou technologii pro vývoj jak frontendu, tak backendu.

Rozhovor o knize

Ahoj Vašku. Předně ti gratulujeme k úspěšnému vydání tvé první knihy a hned na tebe budeme mít několik otázek, které čtenářům přiblíží tvé záměry.

Řekni nám prosím na úvod něco o sobě. Proč sis vybral právě profesi programátora? Kdy sis k programování poprvé přičichl a jaké byly tvé začátky?

Když si moji rodiče před více než 20 lety pořídili první počítač, hrál jsem na něm samozřejmě počítačové hry, ale ještě více mě zajímalo jeho fungování a práce na internetu.

Svůj první web jsem vytvořil ještě před nástupem na střední školu a od té doby se weby staly mým koníčkem a zároveň prací. V té době to ale ještě nebylo programování, jak jej známe teď, ale většina kódování probíhala pomocí HTML a CSS. 

Po střední škole (všeobecné gymnázium) jsem pracoval s CMS systémy na PHP, ale moc mě to nebavilo. Naštěstí mě před více než deseti lety vysvobodila příležitost pracovat s jazykem C#. Okamžitě se mi to zalíbilo, začal jsem se úzce zaměřovat na vývoj webových stránek a aplikací právě v tomto programovacím jazyce a u C# už jsem zůstal. Od roku 2013 jsem se mohl podílet na vývoji e-shopů v Programii a posunout se tak ještě mnohem dál. 

Co tě vedlo k tomu, abys usedl ke klávesnici a vedle kódu začal psát také knihu?

O Blazor technologii jsem se zajímal hned od jejího začátku – tuším, že v roce 2019 to byla verze 0.8 – a testoval ji na svých vlastních projektech „do šuplíku“. Postupně jsem se dozvídal více a více a objevoval výhody této moderní technologie.

Počátkem roku 2022 mě zaujala publikace zaměřená na vývoj v Blazor WebAssembly. Přečetl jsem ji velmi rychle, protože se jednalo spíše o základy, a na konci knihy upoutala mou pozornost poznámka od vydavatele Packt, v níž stálo: „každý může být autorem“.

Ve stejné době jsem navíc pracoval na projektu, který kombinoval Blazor WebAssembly spolu s gRPC a source generátory a napadlo mě, že by to mohlo být zajímavé téma, o kterém zatím není mnoho informací. Oslovil jsem tedy vydavatelství, ale nedoufal v nějakou odpověď. Nicméně po vyplnění úvodních informací o mém nápadu na knihu se již rozběhlo plánování kapitol, korektur a všeho dalšího, a tak jsem v březnu 2022 věděl, že bych měl na přelomu října a listopadu tuto knihu dopsat.

Komu je kniha určena? Je spíše pro začátečníky nebo pro pokročilé vývojáře?

Stanovení cílového publika bylo jedním z prvních a nejdůležitějších kroků před samotným psaním knihy. Původně jsem chtěl totiž knihu směřovat pro úplné začátečníky a k Blazor technologii přivést co nejvíce lidí. Ukázalo se ale, že bych se musel mnohem více věnovat problematice programování než samotné Blazor technologii, takže jsem knihu připravil pro všechny, kdo mají alespoň základní zkušenosti s programováním v jazyce C#. 

Kniha se skvěle hodí také pro všechny ty, kteří mají technologické vzdělání nebo zkušenosti se starší technologií WebForms nebo MVC. Těmto programátorům může pomoci v dalším kariérním postupu a ukázat jim, jak převést starší technologie do nových.

Proč je pro programátory webových aplikací výhodné používat technologii Blazor WebAssembly?

Osobně si nemyslím, že by se kvůli Blazor WebAssembly někdo začal učit programovat v jazyce C#. Zejména, když existují velmi rozšířené JavaScriptové frameworky, jako je React, Angular a Vue. Na druhou stranu, možnost psát frontend aplikace ve stejném jazyce jako backend rozšiřuje možnosti uplatnění stávajícím backend programátorům.

Další výhodou může být i sdílení komponent, datových modelů a mechanismů mezi backend aplikací (standardně API) a frontend aplikací. To vede ke zvýšení rychlosti vývoje a snížení chybovosti (eliminují se chyby v přepsání se u názvů proměnných apod.).

Nespornou výhodou WebAssembly technologie je také to, že kód běží v prohlížeči uživatele. V aplikacích tedy můžeme dělat složitější operace, které bez problémů zpracuje počítač uživatele, ale při zpracování na serveru pro všechny uživatele naráz to může být problematické a pomalé. 

Kniha také popisuje použití gRPC spolu s Blazor WebAssembly. Co je gRPC a jak se liší oproti tradičnímu způsobu komunikace, jako je REST API?

Ve zkratce se jedná o vzdálené volání procedur (google Remote Procedure Call), tedy o mechanismus podobný starému WCF (Windows Communication Foundation). Oproti REST API nabízí gRPC násobně rychlejší binární serializaci a deserializaci a snížený datový tok. Podporuje také http/2, kde se rychlost této technologie ukazuje například při streamování dat jak od uživatele na server, tak ze serveru k uživateli.

gRPC vzniklo pro komunikaci mezi servery a pro webové aplikace nebylo nikdy dostupné. Jelikož je ale Blazor WebAssembly kompilovaný C# kód, je zde možné použít tuto technologii a využívat její rychlost. 

Rozsáhlejší popis gRPC si můžete přečíst na webových stránkách https://grpc.io/ nebo stručněji i v mé knize.

Proč je kniha pouze v anglickém jazyce? Plánuješ její překlad do češtiny, případně i do jiných světových jazyků? 

Toto rozhodnutí není přímo na mně, ale spíš na vydavateli. Jelikož je však programování primárně v anglickém jazyce, její překlad nepředpokládám.

Kde je možné knihu pořídit, v jakých formátech a za jakou cenu?

Cena se pohybuje od 13 do 30 EUR. Záleží na formátu a na tom, zda je ve speciální akci. Někdy tedy může být cena ještě nižší.

Přemýšlel jsi už o pokračování či rozšířeném vydání své knihy? Případně máš v plánu vydat knihu na zcela jiné téma?

Uvidíme, jak se budou vyvíjet technologie. Pokud Microsoft přijde se změnou, která by znemožnila aplikovat příklady uvedené v knize, pak bych ji určitě rád aktualizoval. Nebo alespoň uvedené doprovodné kódy.

Musím se přiznat, že jsem si psaní docela užil a rozhodně to byla zkušenost, za kterou jsem rád. Jestli se ale pustím do psaní jiného tématu, to si nejsem jistý. Blazor technologie je mi blízká. Je tedy možné, že bych se v budoucnu pustil do psaní další knihy o této technologii.

Co se z knihy člověk naučí? Je potřeba si pak ještě něco dostudovat? Pokud ano, doporučíš nějaké zdroje?

Kniha není určena nováčkům. Spíš lidem v oboru, kteří si chtějí rozšířit možnosti v programování a ve tvorbě webových stránek. Kniha by jim měla ukázat, že mohou vytvářet dynamické stránky bez znalosti JavaScriptu. Pokud umí HTML a C# je to dostatečné.

O gRPC a generátorech zdrojových kódů, které také zmiňuji v knize, by se dalo vydat množství samostatných knih. Prostor pro další studium zde tedy určitě je. Navíc, svět programování se rychle vyvíjí a je potřeba se neustále učit novým věcem v různých oblastech. Osobně sleduji pár profilů věnujících se C# a programování na YouTube. Skvělý obsah zde tvoří například Nick Chapsas a Milan Jovanović.

Vašku, moc děkujeme za rozhovor a přejeme ti mnoho kariérních úspěchů a další vydané knihy, pokud budeš v publikaci pokračovat.

Také děkuji za rozhovor.

Žádná nudná teorie. Tu už umíte

V žádném případě nečekejte hromadu nezáživné teorie. Kniha je zaměřená především technicky. Pokud ji přečtete od začátku do konce a dodržíte všechny zmíněné kroky, měli byste dané téma dokonale pochopit a umět jej aplikovat do praxe. Je to taková kuchařka, podle které se naučíte Blazor WebAssembly s gRPC velmi kvalitně uvařit.

Pokud by vás zajímalo něco více, najdete Vaška na LinkedIn, Twitteru (@vaclavpekarek) nebo se mu můžete ozvat na e-mail v.pekarek@gmail.com.


Václav Pekárek, autor knihy a nové technologii Blazor