Python a Django
Python je pro Eluviany denním chlebem
Pythonové backendy jsme vytvořili a dodnes provozujeme u mnoha našich klientů z oblasti automotive, např. e-commerce řešení odbavující tisíce objednávek denně; event managementu, např. synchronizace tisíců kalendářových událostí denně napříč velkou korporací; nebo financí, např. internet banking pro správu cizoměnových (forexových) účtů. Python máme fakt rádi, proto ho využíváme i u vlastních projektů a interních aplikací, které dennodenně usnadňují rutinní práci našim vývojářům.
Python nás oslovil především pro jeho ohromné vyjadřovací schopnosti, rozsáhlou bázi knihoven i nevídanou podporu komunity. Díky tomu je vývoj v tomto jazyce velice efektivní a rychlý, výsledný kód pak snadno pochopitelný a přehledný. Navíc se hodí pro různé typy aplikací, od jednoduchých servisních skriptů až po komplexní backendy databázových aplikací, REST API, integrační služby, zpracování dat nebo AI a machine-learningové komponenty.
Jenže samotný programovací jazyk bez silného frameworku by byl jako zbloudilý vesmírný modul bez mateřské základny. My Eluviané rádi kombinujeme Python s frameworkem Django. To nám umožní ještě efektivněji využít hotových řešení, architektury, návrhových vzorů a knihoven, které daný framework nabízí. Kdybychom to hodně zjednodušili, nesnažíme se vynalézt kolo, ale necháme se vést zkušenostmi, které open source komunita za bezmála 15 let (v případě Djanga), resp. 30 let (v případě Pythonu), nasbírala a nesčetněkrát ověřila v praxi.
Co nám Django konkrétně dává
Django je open-source webový framework pro Python s ověřenou architekturou a hotovými komponentami pro typické části webových aplikací – práci s databází a datovým modelem, autentizaci a správu uživatelů, oprávnění, administrační rozhraní, formuláře a validaci dat, bezpečnostní mechanismy i API. Framework ale vždy vybíráme podle konkrétního problému: když se lépe hodí lehčí řešení (například FastAPI nebo Flask) nebo úplně jiná technologie, sáhneme po ní. Technologie má sloužit produktu, ne naopak.
Python a Django pohánějí i naši platformu Habarico
Python a Django nepoužíváme jen na klientských projektech – stojí na nich také Habarico, naše model-driven platforma pro rychlejší vývoj podnikových informačních systémů. Habarico je sada implementačních knihoven a volitelných hotových mikroslužeb: habarico převede byznysová data do datového modelu – tedy popisu toho, co aplikace ukládá, v jakém formátu, pod jakými názvy a v jakých vztazích – a z něj automaticky vygeneruje informační systém včetně moderního, reaktivního uživatelského rozhraní. Změny v datovém modelu se do UI promítají prakticky okamžitě, takže odpadá velká část frontendové práce a mizí nutnost kooperace backendového a frontendového týmu. V praxi to znamená méně vývojářů, rychlejší dodání a méně chyb (řádově až o třetinu nižší náklady na vývoj).
Na frontendu Habarico generuje rozhraní v Reactu (s Material UI) – viz JavaScript, TypeScript a React. Na backendu nativně podporuje právě Python + Django; alternativně umí i Ruby on Rails – viz Ruby (možné jsou i porty pro Java, .NET a další backendové jazyky). Součástí jsou i hotové mechanismy jako autentizace a oprávnění nebo mikroslužby pro transakční e-maily a notifikace.
Zjistit více o platformě: habarico.com
