Vstupte do světa vývoje společně se seniorními JAVA vývojáři Adamem a Vítkem. Dva vývojářští mistři nám odhalí tajemství MULTIMA Frameworku, kterého jsou spoluautoři. Ponoříme se do jejich každodenního pracovního života, odhalíme, jakým výzvám čelí, a rozkryjeme jejich plány do budoucna.
Adam je nadšený vývojář se zájmem o tvorbu software jak na straně backendu, tak i frontendu. Své dovednosti rozšiřuje i do oblasti DevOps. S láskou ke kódování a neustálým hledáním nových výzev se snaží přinášet inovace a efektivní řešení. Jeho přitažlivost k nápadu vytvoření vlastního frameworku je jedním z témat, která probíráme v rozhovoru. Vítejte na jeho vývojářské cestě!
Vítek se profesionálnímu vývoji v Javě věnuje více než 15 let. Za tu dobu prošel mnohými technologiemi a projekty, kde si mj. opakovaně ověřil, že neblahou realitou programování je často psaní stejných funkcí stále dokola.
V MULTIMĚ dostal prostor tyto zkušenosti uplatnit, a dělat věci lépe – stal se duchovním otcem Java Multima Frameworku (JMF).
Již přes rok tak společně s kolegy aktivně pracuje na vývoji a zdokonalování JMF, aby ulehčili práci programátorům, zefektivnili vývoj a tím i dodávku aplikací.
Jak se máte, co děláte?
A: „Stejně jako balón na párty – nafouknutý a připravený na akci!“
V: Asi můžu mluvit za oba a říct, že po pracovní stránce se nenudíme 😊 Nedávno jsme uvedli na trh naši DOKLADOVNA | Digitalizace účetních dokladů, chystáme zdokonalení pro Nathana a pomalu se připravujeme i na další projekty, kde nejspíš také využijeme náš Java MULTIMA Framework.
Co je to ten Java MULTIMA Framework? (JMF)
A: Je to náš vlastní framework, ve kterém jsme už vytvořili několik aplikací, a chceme ho využít i na dalších. Poskytuje efektivní podporu pro backend i frontend, a to při vývoji i při použití konečným uživatelem.
V: Framework stavíme na moderních technologiích – máme nejnovější verzi Spring Boot, a velmi rychle jsme přešli na nejnovější verzi Java 21. Využíváme všechny výhody těchto technologií – výkon, bezpečnost i nové funkce.
Proč framework vznikl?
V: Byl to logický krok s ohledem na typy a množství aplikací, které MULTIMA vyvíjí nebo k jejichž vývoji směřuje. Nemá smysl pokaždé vymýšlet a programovat to, co už jednou vymyšleno a naprogramováno bylo – například správa uživatelů, rolí a oprávnění přístupu k datům, to je jedna z věcí, které se objevují v drtivé většině systémů.
A: Doplnil bych ještě automatizované spouštění plánovaných úloh, auditování dat, práci se souborovými přílohami, e-maily atd.
Dalo by se říct, že si frameworkem zjednodušujeme práci, zrychlujeme, a šetříme náklady, takže framework se líbí svým způsobem i našemu vedení.
Jaké jsou hlavní výhody využití JMF?
A: Ověřili jsme si, že s JMF je vytvoření nové agendy v aplikaci rychlé a jednoduché – v řádu několika minut. Dalšími silnými stránkami je dynamické filtrování, správa příloh, nastavení a odesílání e-mailů a notifikací v aplikaci. To vše pomůže jak při vývoji, tak i uživatelům, kteří tak budou mít v aplikaci silné nástroje.
V: Správci aplikací postavených na JMF získají díky naší správě uživatelů, rolí a oprávnění nástroj pro řízení přístupu uživatelů k datům, což je jedním z prvků zabezpečení dat. S tím souvisí i auditování dat – tj. sledování kdy kdo co na jakém záznamu jaké evidence změnil.
Další mocná funkce je podpora zpracování hromadných úloh a jejich konfigurace.
A: A když zaznělo to zabezpečení, tak bych rád vyzdvihl, že nedílnou součástí našeho frameworku je i autentizace – podporujeme moderní metody včetně OAuth a JWT, díky čemu můžeme zajistit bezpečný přístup k systému.
Pozná uživatel nebo zákazník na aplikaci, že byla vytvořena s JMF?
A: Máme předpřipravený základní projekt pro frontend, pro grafické uživatelské rozhraní. Je to takový dobrý základ, který se jednoduše “přebarví” a dozdobí tak, aby odpovídal firemnímu vizuálnímu stylu. Díky tomuto základu dokážeme zákazníkovi velmi rychle ukázat, že aplikace už je „skoro“ na světě, a o dalších funkcích a rozvoji se už můžeme bavit nad reálnými obrazovkami.
V: Pokud by uživatel používal více našich aplikací postavených na JMF, jako my a naši testeři, tak by si určitě všiml toho, že si jsou velmi podobné, což je ale pro uživatele šikovné – nemusí hledat kde co je a ovládání už zná odjinud. Takže i tady vidíme jistou optimalizaci a efektivitu.
A: Pro úplnost ještě doplním, že pro frontend využíváme populární technologii ReactJS a vycházíme z MaterialUI.
Objevily se nějaké nesnáze při vývoji?
V: Ano, tomu se člověk asi nevyhne. Řešili jsme například to, že zákazník u jednoho projektu trval na technologiích, které jsou už pomalu zastaralé, což by nám prakticky znemožnilo využít JMF. Ale daří se nám poměrně úspěšně vysvětlovat přínosy, které využití moderních technologií a přístupů bezesporu má.
A: Další věc je, že jak používáme moderní technolgie, tak to klade jisté nároky i na nás, musíme se vyznat a nesmíme se bát, ale shodneme se na tom, že touto cestou chceme jít a že to v důsledku ocení i naši uživatelé.
V: A ještě doplním to, že tvorba frameworku, jako polotovaru nebo nástroje, může být některými vnímána jako riziková investice. Ale nám se už teď, po necelém roce, ukazuje, že to má smysl, a že jsme díky němu schopni velmi rychle dodat požadované jádro aplikace se základním frontendem, a to ve vysoké kvalitě – a to je něco, co naše obchodní sekce vidí ráda.
Máte s frameworkem nějaké plány do budoucna?
V: Samozřejmě, framework není něco, co by se 9 měsíců tvořilo a pak nechalo bez povšimnutí – je potřeba ho rozvíjet. Zmínil bych třeba modul pro workflow, podporu zpracování plateb, a pohráváme si s myšlenkou ještě více zefektivnit naši práci s využitím AI.
A: Hodila by se určitě i vyšší výkonnost a škálovatelnost.