Pandemie covidu‑19 urychlila digitální transformaci ve firmách o tři až čtyři roky a až o sedm let oproti původním předpokladům poskočil podíl digitálních nebo digitálními technologiemi podporovaných produktů v portfoliích podniků. Alespoň to tedy uvádí průzkum společnosti McKinsey, provedený mezi manažery firem po celém světě. Co ale pandemie v žádném případě neurychlila, je „přísun“ nových vývojářů. Právě naopak – nutnost zrychlit digitalizaci vysála z trhu prakticky všechny dostupné vývojové kapacity. A v nejbližších letech jistě nebude situace jiná, protože digitalizace a rozvoj digitálních služeb, na které si během pandemie zákazníci zvykli, budou pokračovat i dále.

Pro podniky to znamená pokračování přetahované o vývojáře i delší čekání na vyvinutí aplikací externími dodavateli a všechna rizika s tím spojená – především zaostávání za náskokem konkurence a očekáváním zákazníků. Existuje ale jiné řešení?

Vývoj aplikací bez programování

V oblasti IT jsme často svědky toho, jak původně velmi složitá technologie projde evolucí, na jejímž konci je její daleko širší zpřístupnění uživatelům bez expertních znalostí. A nejinak je to s vývojem podnikových aplikací. V poslední době totiž přibývají nástroje a celé platformy, které umožňují vytváření podnikových aplikací i bez znalostí programovacích jazyků a vývojářských postupů. Hovoříme o model driven přístupu, respektive low‑code způsobu vývoje podnikových aplikací.

K rychlému vývoji aplikací (rapid development), které podniky nutně potřebují pro pokračování své digitální transformace, už nejsou nutné znalosti vývojáře. Namísto toho je vytvářejí modeláři, kteří mají jasnou představu, jaké má mít aplikace funkce a jak má vypadat, ale obejdou se bez znalosti programování. „Zatímco vychovat dobrého vývojáře zabere roky, na vyškolení modeláře v práci s low‑code platformou pro rapid development podnikových aplikací stačí několik týdnů. Modelář potřebuje znalosti na rozhraní IT analytika a byznysového přístupu, aby mohl vytvářet jednoúčelové aplikace napojené na databáze a další řešení, jež se už v rámci podniku používají,“ vysvětluje Petr Majer, obchodní ředitel společnosti Metada, která vyvíjí podnikovou low‑code platformu Metada Platform.

Zjednodušeně řečeno představují low‑code platformy uživatelsky přívětivé prostředí, v rámci kterého lze prostým poskládáním stavebních bloků (například databází, datových zdrojů, vzorců pro zpracování dat či formulářů) postavit zcela nové aplikace nebo různé nástavby nad stávajícími podnikovými řešeními. Tvorba aplikací na low‑code platformách je velmi rychlá. To podporuje flexibilitu při digitalizaci a zavádění nových služeb pro zákazníky nebo aplikací, které ušetří zaměstnancům podniků spoustu času. V rámci platformy je navíc rovnou otestována funkčnost modelované aplikace, která pak může rovnou zamířit do provozu. I díky tomu low‑code vývoj aplikací v současné době intenzivně využívají například banky a pojišťovny, které potřebují rychle uvádět nové produkty pro své klienty, aniž by bylo nutné je složitě vyvíjet nebo zasahovat do core systémů. Zároveň mají kompletní vývoj pod kontrolou, což je důležité především z hlediska bezpečnosti.

České banky využívají low‑code vývoj aplikací například pro digitální procesy spojené s investičními produkty, hypotékami nebo stavebním spořením. „V souladu s naší digitální strategií vždy usilujeme o využití pokročilých technologií. Při implementaci nového produktu v podobě kompletně online refinancování spotřebitelských úvěrů Refixo jsme od začátku věděli, že chceme low‑code/no‑code řešení. Vedla nás k tomu zkušenost, že implementace změn je v takovém případě dramaticky rychlejší a jednodušší. To v konečném důsledku znamená kvalitnější a v neposlední řadě levnější řešení,“ říká Ondřej Makovec, head of retail loans v Expobank CZ. „Platforma, kterou jsme si vybrali, předčila naše očekávání založené na předchozích zkušenostech. Dává nám obrovskou pružnost jak v řízení procesů a obchodních pravidel, tak v jednoduchosti připojování datových zdrojů nebo v úpravách uživatelského rozhraní. Podobných výsledků bychom jinak dosáhli jen s mnohem větším týmem a za mnohem delší dobu,“ dodává Makovec.

S low‑code vývojem aplikací experimentuje například také společnost Red Hat, především v integračním řešení Red Hat Fuse. „Low‑code platformy vnímám jako pravidelně se opakující trend, který se snaží přinést výrazné zjednodušení do tvorby softwaru. Obecně však lze říci, že i když low‑code platformy na první pohled výrazně zjednodušují vývoj, jejich slabinou je z našeho pohledu náročnější úprava a další rozvoj tímto způsobem vytvořených aplikací a integrací. To, co mohu v klasickém přístupu opravit změnou několika řádků kódu, se může v low‑code přístupu ukázat jako velmi náročná úprava. Ale platí to i opačně,“ říká David Bečvařík, technology lead pro Česko a Slovensko ve společnosti Red Hat.

Aplikace nezávislé na tvůrci

Je ale opravdu možné vyvinout celé aplikace bez programování? „Modelář aplikací by kromě znalosti práce s low‑code platformou měl mít schopnost strukturovaného přemýšlení o aplikaci, která musí poskytovat konkrétní výstupy. O vše ostatní se postará low‑code platforma, která prostřednictvím API dalších systémů získá potřebná data, zpracuje je požadovaným způsobem a prezentuje je ve zvolené podobě. A právě front‑endu (prezentační vrstva softwaru, pozn. red.) modelované aplikace (pokud tedy nějaký potřebuje) se týká jediná potřeba kódování, kdy je nutné připravit kaskádové styly CSS pro popis způsobu zobrazení elementů v uživatelském rozhraní. Další už ale opět zajistí low‑code platforma, která například přizpůsobí front‑end aplikace různým koncovým zařízením – nejčastěji obrazovkám počítačů a smartphonů,“ popisuje low‑code vývoj aplikací Petr Majer ze společnosti Metada. Pokud by snad možnosti low‑code platformy a napojení na datové zdroje a podnikové systémy nebyly pro danou aplikaci dostačující, je možné do aplikace připojit komponenty vytvořené v libovolném programovacím jazyce. Příkladem může být napojení aplikace na platební bránu, které lze snadno vyřešit právě vložením již existujícího programového kódu.

Low‑code tvorba podnikových aplikací navíc řeší i další problém, se kterým se podniky při vývoji na zakázku potýkají. Platformy jako Metada Platform vytvářejí přímo v modelu i dokumentaci, na základě které je možné aplikaci kdykoli později upravit a podle potřeby aktualizovat. V údržbě a úpravách jednotlivých komponent aplikace může pokračovat kterýkoli jiný modelář, což takto vyvinutým aplikacím značně prodlužuje životní cyklus a podnikům výrazně šetří náklady. „Na modelování v oblasti integrací vsadila Česká spořitelna již před 20 lety, byli jsme tehdy jedni z průkopníků tohoto přístupu. Současná technologie low‑code nám umožňuje nezávisle na dodavateli modelovat integrační služby a kompozitní operace v celé šíři potřebné pro náš IT provoz,“ dodává k využití low‑code technologie Miroslav Lhotský, CoE integration and internal services lead České spořitelny.

Existuje i možnost přenosu aplikace na jiné technologie nebo low‑code platformy, protože čím méně programového kódu aplikace obsahuje, tím lépe je možné ji převádět mezi různými technologiemi. To znamená, že firma není omezena na jediného dodavatele technologií, na kterých již nějaké aplikace vytvořila.

Zrychlení vývoje

Zásadní výhodou modelování aplikací na low‑code platformách je především mnohem rychlejší a pružnější reakce na byznysové potřeby podniku oproti tradičnímu vývoji. „Kromě samotného vývoje se mnoho času ušetří i ve fázi analýzy a modelování aplikace. V podstatě stačí jen souhra mezi zadavatelem, který jasně popíše, co má nová aplikace dělat, a modelářem aplikace, jenž na low‑code platformě namodeluje funkční a otestovanou aplikaci. V porovnání s klasickým vývojem, do kterého je nutné zapojit mnoho různých profesí, jde o úsporu v řádu týdnů až měsíců,“ vypočítává Petr Majer ze společnosti Metada.

S přínosem low‑code technologií pro zrychlení vývoje aplikací souhlasí také David Bečvařík z Red Hatu: „Největší benefit low‑code přístupu vidím v oblasti prototypování aplikací a tvorby minimálních životaschopných produktů, tedy produktů s nejmenší možnou funkcionalitou, které jsou ale plně použitelné a umožňují rychle získat zpětnou vazbu od zákazníků pro další vývoj. Zde tyto platformy opravdu velmi výrazně pomáhají a umožní rychle a efektivně prozkoumat nové možnosti.“

Low‑code platformy lze využívat formou cloudové služby nebo jako klasické podnikové řešení, instalované na vlastním aplikačním serveru. Pokud firma nemá vlastní modeláře, může jejich služby poptat u tvůrce low‑code platformy či jeho partnerů a postupem času, s vývojem dalších aplikací, si vlastní modeláře nechat vyškolit. „Jsme přesvědčeni, že modeláři budou mít daleko větší smysl pro byznysové potřeby našich zákazníků než členové běžných vývojových týmů. Díky rychlosti vývoje a samodokumentační schopnosti low‑code platformy můžeme našim zákazníkům předávat aplikace za velmi krátkou dobu. Navíc díky rychlosti zaškolení nového modeláře se zákazníci o další rozvoj dodaných aplikací již mohou postarat efektivně i vlastními silami,“ říká Lukáš Pešl, senior consultant ve společnosti Principal engineering.

ICT revue

Stáhněte si přílohu v PDF

Aplikace bez programování

Součástí rozhodování o způsobu vývoje podnikových aplikací je samozřejmě i ekonomická stránka. Low‑code platformy pro modelování vlastních aplikací jsou zpravidla dostupné na základě ročních licenčních poplatků a jejich pořízení se vyplatí v případě, že se podnik chce vlastní tvorbě aplikací věnovat dlouhodobě nebo když má vysoce specifické potřeby.

„Low‑code vývoj aplikací není pro jednotlivé firmy vhodný pro komoditizovaná řešení, jako jsou například účetní, ERP nebo CRM řešení, neuvažujeme‑li například o vývoji nového CRM řešení jako produktu, který budeme dále na trhu nabízet. Stejně tak nemá ekonomický smysl pořídit si podnikovou low‑code platformu pro vývoj jedné či dvou drobných aplikací. K tomu existují vhodnější nástroje. Pokud ale firma nad svými současnými systémy potřebuje vyvíjet stále nové aplikace a efektivně je rozvíjet, je low‑code jasnou a ekonomicky velmi výhodnou volbou,“ dodává Petr Majer, obchodní ředitel společnosti Metada.

Vývoj aplikací pro každého

Platforma pro low‑code vývoj aplikací musí tvůrcům poskytovat možnost vytvářet přesně to, co potřebují, ale také musí být co nejjednodušší, aby bylo možné pracovat rychle, efektivně a s co největší radostí, říká v rozhovoru Petr Smolík, generální ředitel a zakladatel společnosti Metada.

Petr Smolík generální ředitel a zakladatel společnosti Metada
Petr Smolík generální ředitel a zakladatel společnosti Metada
Foto: Metada

Jaká byla evoluce low‑code platforem?

Napřed se nástroje používaly k vygenerování koster, do kterých se pak doprogramovávala logika aplikací. To zrychlovalo počáteční vývoj, ale protože se pak generovaný kód měnil, aplikace se špatně udržovaly. Další fází bylo generování kódu, který se už následně neměnil. To bylo lepší, ale generátory bylo složité udržovat a aplikace se špatně ladily. Nejpokročilejší fází je interpretace, která umožňuje aplikaci ihned spustit, testovat a ladit.

Na jaké parametry je vhodné se při výběru zaměřit?

Důležité je si napřed ujasnit, jak složité aplikace jsou potřeba a kdo bude low‑code platformu reálně používat. Jsou platformy, které umožní laikům rychle sestavit jednoduchou aplikaci z předpřipravených dílů. Pak jsou platformy, které umožňují programátorům vyvíjet aplikace rychleji. Posledním typem jsou profesionální platformy, které umožňují IT analytikům vytvářet celé aplikace bez programování.

Jaká jsou úskalí low‑code vývoje aplikací?

V případě platforem pro laiky může nastat situace, kdy se všechny potřebné díly musí stejně napřed naprogramovat, protože ještě neexistují. V případě platforem pro programátory je problém s nedostatkem programátorů. Profesionální modelovací nástroje zase mají určitou složitost, kterou je potřeba na začátku překonat.

Kde vidíte prostor pro další vývoj low‑code platforem?

Účelem platforem je co nejvíce zefektivnit vývoj aplikací a jejich následný rozvoj a údržbu. Platforma musí tvůrcům poskytovat sílu, aby mohli vytvářet přesně to, co potřebují, ale zároveň co největší jednoduchost, aby s nimi bylo možné pracovat rychle, efektivně a s co největší radostí.

Článek byl publikován ve speciální příloze HN ICT revue.