Potřebujete desktop aplikace pro Linux a nevíte jak na to?

4 reading_minutes

Existuje celá řada řešení pro vývoj desktop aplikací pro linuxové operační systémy. V tomto článku Vás seznámíme se dvěma řešeními, které máme v ASN Plus vyzkoušené a využíváme je v každodenní praxi. Po přečtení článku budete mít lepší představu o tom, jaké jsou možnosti pro vývoj desktop aplikací a budete se moci rozhodnout jaké řešení využijete. 

Pokud budeme chtít využít některé z řešení pro vytváření desktop aplikace, které je mezi vývojáři poměrně populární, tak můžeme použít platformu .NET a GUI framework MAUI. Platforma .NET totiž podporuje vývoj aplikací pro většinu operačních systémů, včetně Linuxu. GUI frameworky od Microsoftu dodnes nepodporovaly Linux OS, což platí i u nejnovějšího frameworku MAUI.

Tento problém má však poměrně snadné řešení. Můžeme společně s platformou .NET využít multiplatformní framework třetí strany, který podporuje i Linux OS. Takovými frameworky jsou například  UNOPlatform a Avalonia. Pro ty, kteří mají zkušenosti s frameworkem WPF nebo nejnovějším MAUI, to nebude znamenat příliš velkou změnu. Pro vytváření uživatelského rozhraní prostřednictvím těchto frameworků slouží jazyky C# a XAML.

Obě platformy, UnoPlatform i Avalonia mají svá specifika. Tato specifika s sebou přináší výhody i nevýhody obou řešení. Obě tyto platformy však hodnotíme pozitivně a dle našeho názoru si obě zaslouží vaši pozornost.

Ukázka zdrojového kódu
Náklade nastavení aplikace

Alternativou řešení pro vývoj desktopových aplikací pro Linux je framework Electron. Pro vytváření desktop aplikací prostřednictvím Electronu se využívá JavaScript, HTML a CSS, což jistě potěší například vývojáře webových aplikací.

Technologie Electron umožňuje využít pro tvorbu desktop aplikací webové technologie. Samotný Electron pak využívá Node.js, což je prostředí, které  umožňuje spouštět JavaScriptový kód mimo webový prohlížeč. Zároveň je možné Node.js nainstalovat i přímo na Linux, tudíž nám nic nebrání  využít tyto dvě technologie pro tvorbu deskových aplikací pro Linux.

Samotný Electron je významně modifikovatelný, jak už jsme zmiňovali, pro tvorbu UI je možné použít HTML a CSS. Dále je možné využít většinu dnes nejpoužívanějších JavaScriptových frameworků jako jsou React nebo Angular. Dokonce je možné si vybrat zda budete používat JavaScript nebo TypeScript. Ve spojení s Electronem je zde ještě jedna velká výhoda a tou je npm. Npm poskytuje možnost využít balíčky, které mohou zvýšit efektivitu vývoje finální aplikace a to mnohdy až o desítky hodin.

Electron jsme ve spojení s frameworkem React a databází MongoDB využívali například pro tvorbu linuxové desktop aplikace Dry Cabinet běžící na Compute Module 4. Tento projekt jsme realizovali pro firmu MP Elektronik technologie s.r.o..

Můžete, stejně jako firma MP Elektronik technologie s.r.o. a další naši zákazníci, svěřit vývoj desktop aplikace naší firmě. Uděláme analýzu požadavků a vypracujeme zadání, následně zrealizujeme celou desktop aplikace a zajistíme testování i případné zaučení.