Low code platformy – Power Platform

6. 12. 2021clock Vývoj - 5 minut čtení

Tak jsme se rozhodli, že do toho taky praštíme. Propustíme všechny vývojáře a aplikace nám naklikají třeba i recepční. Bomba, to se bude konečně dělat software! A za zlomek nákladů, co teď. Pustíme se do vývoje pomocí low code platforem.

Podlehli jste podobným marketingovým řečem? My naštěstí zas až tolik ne a vývojáře jsme taky žádné nepropustili. To ale nemění nic na tom, že téma low code platforem není nezajímavé a už delší dobu se jím ve firmě zabýváme. Nebudu vás tu unavovat řečmi, jaké ty všechny low code platformy jsou a jak se v nich programuje, protože na to je spousta tutoriálů a snadno dostupných informací na webu. Zaměřím se na jednu konkrétní platformu, která se mi jeví v poslední době jako stále perspektivnější a to Power Platform od Microsoftu. Pokusím se tu zodpovědět jednu ze základních otázek, která vás napadne jako první.

Na co se to vůbec hodí?

Nevím, jak moc jste v low code platformách zběhlí, a tak to vezmu z trochu větší šíře. Low code platforma vám jednoduše dovoluje naklikat nějaký typ úlohy. Některé umožňují vytvářet široké spektrum aplikací, jiné jsou úzce specializované na určitou oblast. Například i WordPress je také určitým způsobem low code platforma, která vám ale umožní naklikat si v podstatě jen, i když obsahově i funkčně bohaté) webové stránky a nic víc. Power Platform od Microsoftu dovolují řešit mnohem obecnější úlohy, ale i tak mají určitá omezení.

    Zde si dovolím malou vsuvku. Jestliže jste se s Power Platform doposud nesetkali, tak vězte, že se jedná o rodinu několika produktů. Do ní kromě například Power Automate, Power BI a dalších, patří hlavně Power Apps, se kterými se budete jako začátečník setkávat zřejmě nejvíc. V textech, které jsem četl, se pojem Power Apps často zobecňuje a slouží jako synonymum pro celou low code platformu. Takže si ho dovolím nadále používat v tomto významu i já.
    A teď už se vrátím zpět k otázce, pro co se hodí. To jsem se snažil, co nejlépe popsat v následujícím textu. Můžete ho použít i jako checklist, až se budete rozhodovat, zda v této aplikaci budete nějakou zakázku realizovat či nikoliv.

    Ve vztahu k potřebám organizace

  • Chcete vyřešit nějaký vnitropodnikový proces nebo podobnou úlohu.
  • Nejvhodnějšími aplikacemi pro Power Apps se zdají následující: vyplňování dovolených, bookování firemních akcí, zapisování výdajů, žádanky, řešení onboardingu, požadavky na IT, helpdesk, sledování stavu jednotlivých úkolů, poskytování informací, sledování workflow firemních procesů, docházka, schvalování výdajů, hodnocení, sledování workflow nějakého výrobku, předávání do dalších fází výroby, evidence kontrol, notifikace o jednotlivých krocích, přístup k informacím pro zaměstnance, kteří vyjíždí “do terénu”, podpora u zákazníka (vidí na objednávky, může je sjednat), podpora kontrolní činnost na místě (například developer na stavbě – vytvoření zápisu o kontrole, přidání videa, fotografie, … )

    • Vlastníte už dostatečné licence (například pro office 365).
    • Nákup licencí (jsou potřeba jak pro vývojáře, tak i pro uživatele) a jejich pravidelná platba bude pravděpodobně největší náklad na tvorbu aplikace. Pokud ale již licence platíte, je to silný argument pro rozhodnutí jít touto cestou.

      • Jste dostatečně flexibilní a schopní hradit náklady na aplikaci měsíčně.
      • Cena aplikace v Power Apps se dost odvíjí od poměrně složitého licenčního modelu, u kterého záleží na konkrétní aplikaci a jejím účelu. Zákazník musí být připravený při zvýšení počtu uživatelů za tyto uživatele zaplatit. Při potřebě nové funkcionality, kterou nepokrývají dosavadní licence, tyto licence přikoupit.

        • Aplikace není pro vás kritická na rychlost a dostupnost.
        • Tj. není pro vás důležitá provozuschopnost/vysoká dostupnost. – Nemáte plnou kontrolu nad prostředím, kde je aplikace nasazená. Prostředí je omezené spoustou limitů, počtem akcí, requestů, rychlostními omezeními, … vyplývajících například z licencí. Prostředí se čas od času aktualizuje. Nasazují se na něj nové nebo změněné funkcionality platformy. Je potřeba proto počítat s tím, že některé funkcionality nepoběží příliš rychle a nebudou vždy (i když třeba v minimální míře) dostupné. Aplikace, u kterých by vám vadila třeba i několikasekundová odezva, nejsou vhodným kandidátem pro Power Apps.

          Ve vztahu k uživateli

        • Uživatel musí být pro používání aplikace vždy připojen k internetu.
        • Power Apps jsou aplikace běžící na prostředí provozovaném Microsoftem (v cloudu). Pokud budete tedy chtít aplikaci spustit, musíte se k ní na internetu připojit.

          • Uživatel bude zaměstnanec dané organizace nebo někdo z jasně vymezené skupiny osob.
          • Power Platform sice umožňuje vytvořit i aplikaci typu portál, kam může i anonymní uživatel, nicméně kvůli licencování je to spíš systém určený pro omezenou skupinu registrovaných uživatelů, která má zakoupené příslušné licence.

            Funkční nároky na aplikaci

          • Aplikace má být webová nikoliv tlustý klient na desktopu.
          • Ne, že by to úplně nešlo, protože i pro Windows existuje desktopová aplikace pro Power Apps a za určitých okolností můžete být i offline, ale není to úplně jednoduchá a snadná cesta.

            • Aplikace má být dostupná pro mobilní zařízení.
            • Power apps umožňuje snadnou tvorbu aplikace pro mobilní zařízení, bez nějakého úsilí navíc nebo potřeby znalostí mobilních platforem.

              • Aplikace nevyžaduje speciální funkcionalitu.
              • Se vší funkčností se musíte vejít do možností poskytnutých danými licencemi, které vám stanovují určité limity. Na tyto limity naráží například upload souborů nad 50MB , který není možný. Další omezení jsou v uživatelském rozhraní, atd.

                • Aplikace má být co nejlépe zabezpečená.
                • V rámci Power Apps je bezpečnost zajištěná, prověřena a otestovaná mnohem víc, než když takovou aplikaci bude dělat někdo sám. K dispozici jsou i různá administrativní rozhraní, kde můžete sledovat, co se v rámci systému děje. Naprogramovat něco podobného by v rámci klasického vývoje stálo spoustu úsilí navíc. Microsoft navíc průběžně sleduje nové trendy a způsoby ohrožení aplikací, na které reaguje a začleňuje příslušná opatření do platformy. Bezpečnost aplikace tedy za vás hlídá a aktualizuje i po jejím vývoji, což se u většiny klasicky vytvářených systémů samo neděje.

                  Rychlost vývoje

                • Hlavním smyslem vývoje je rychlý návrh méně komplexní aplikace.
                • Rychlý návrh aplikací s menší složitostí. Power Apps nejsou určeny pro tvorbu rozsáhlých komplexních řešení.

                  • Potřebujete rychle vytvořit aplikaci s relativně user-friendly rozhraním.
                  • Bez znalostí UI/UX můžete vytvořit aplikaci, které nebude vypadat jako „od programátora“.

                    • Rychlá tvorba nekomplikovaného standardního UI.
                    • Pokud bude zákazník chtít něco silně nestandardního, bude vyžadovat přesné rozmístění jednotlivých ovládacích prvků nebo bude-li chtít nějaké prvky, které byste museli customizovat, abyste jeho požadavky splnili, pak Power Apps nejsou vhodné. CSS a JavaScript není například možné použít.

                      • Je třeba snížit náklady na samotný vývoj.
                      • Ať už jeho cenu nebo čas vývoje. Pro to jsou Power Apps ideální. Platí se sice měsíčně, ale nové funkcionality nebo změny stávající funkčnosti je možné naklikat rychleji než při standardním vývoji.

                        Průběh vývoje

                      • Vývoj zvládne spíše jeden vývojář, není to nic pro velký team.
                      • Vyvíjená aplikace pro Power Apps má být spíše menšího rozsahu. Prostředí Power Apps neposkytuje oproti klasickému vývoji mnoho možností pro podporu práce ve větším týmu.

                        • Při vývoji není nutné používat výhod, jaké mají klasická IDE.
                        • Power Apps se vyvíjí v browseru, kde jsou omezené možnosti a není to tam úplně user/developer-friendly .

                          • Není potřeba mít klasický kód aplikace.
                          • Z Power Apps nezískáte zdrojový kód, na jaký jste zvyklí z klasického programování. Někteří zákazníci v poptávkách však vyžadují přímo předání zdrojového kód aplikace, který se stane jejich vlastnictvím. Tento bod asi není příliš kritický, ale i tak je vhodné si v případě volby Power Apps předem sladit vzájemná očekávání.

                            • Vyvíjet bude všestrannější člověk.
                            • Power Apps snižují potřebu vývojářského času. Na druhou stranu, vzhledem k tomu, že se vyvíjí většinou aplikace menšího rozsahu jedním člověkem, měl by mít dostatek znalostí o byznysu a analytické myšlení. Měl by být ale i trochu architekta tester, schopný se sám úkolovat a řídit.

                              • Není potřeba řešit znovupoužitelnost kódu.
                              • Psát si nějaké knihovny sdílených metod a funkcí není podporované. Možnost tvorby znovupoužitelných celků je až na vyšší úrovni.

                                • Nehrozí vám, že bude při psaní aplikace docházet ke konfliktům při psaní v kódu.
                                • Pokud by mělo na aplikaci pracovat více vývojářů najednou, je potřeba, aby si práci rozvrhli už dopředu. Není možné, aby dva dělali nad jednou věcí současně. Kód se píše většinou přímo k jednotlivým prvkům, ze kterých aplikaci tvoříte, a když pak tu část někdo omylem smaže, přijdete i o kód. Vzhledem k tomu, že není velká podpora při verzování, musí se to následně znovu dopisovat.

                                  Provozní prostředí

                                • Nevyžadují se řízené releasy a aktualizace.
                                • V Power Apps se nedá udělat takový balíček jako u klasického programování, který se následně nasadí. V podstatě se dělají změny jen přímo na daném prostředí.

                                  • Není třeba mít plnou kontrolu nad prostředím.
                                  • Je možnost a dříve se to prý stávalo, že když Microsoft nainstaloval upgrade Power Apps, tak to v některých případech vedlo i k „rozbití“ dosud funkční aplikace. Otázka ale je, zda za to mohly Power Apps nebo špatně zvolené postupy v aplikaci.

                                    Datové zdroje

                                  • Data v aplikaci budou pocházet z různých datových zdrojů.
                                  • V tomto vám (při zakoupení příslušné licence) poskytují Power Apps velkou výhodu. Nabízí širokou škálu datových konektorů na různé datové zdroje. Místo složitého vývoje a ladění vám pak stačí jen pár kliknutí a jste k nim připojeni.

                                      Aplikace má být integrovaná s Microsoftím prostředím (Dynamics 365, SharePoint, Office 365, …) To je zamýšlený účel a přednost právě Power Platformy.

                                      Jedno upozornění na závěr. Jak už jsem v textu psal, Microsoft neustále přidává do Power Platform nové možnosti a vylepšuje je. Za poslední rok se například značně rozšířila nabídka stavebních prvků, které má programátor k dispozici (a to i takové, za které byste si v klasickém vývoji hodně připlatili). Přibývají postupně i další funkčnosti. Je proto možné, že až budete tento článek číst, budou na tom Power Apps zase mnohem lépe.

                                      Sdílet:

                                      Autor článku

                                      Miroslav Kopecký

                                      Miroslav Kopecký