Potřebujete desktop aplikace pro Linux?

5 minut čtení

...a nevíte, jak na to?

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
MP Elektronik Dry Cabinet app
MP Elektronik Dry Cabinet app
MP Elektronik Dry Cabinet app

Existuje i jiná cesta

Alternativou řešení pro vývoj desktopových aplikací pro Linux je framework Electron. Electron je moderní multiplatformní framework pro tvorbu desktopových aplikací. Jsou v něm vytvořeny aplikace jako je VS Code, Slack nebo WhatsApp. Pro vytváření 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íž vám nic nebrání využít tyto dvě technologie pro tvorbu desktopových aplikací pro Linux.

Jak už jsme zmiňovali, samotný electron je významně modifikovatelný. Pro jednoduché aplikace lze využít základní webové technologie HTML, CSS a JavaScript. Pro komplexní aplikace lze využít většinu dnes nejpoužívanějších JavaScriptových frameworků jako jsou React nebo Angular. Nabízí i takové vychytávky pro fajnšmekry, jako možnost vybrat si, 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ě. Naši programatoři se s Vámi setkají, prodiskutují funkcionality a design desktop aplikace. Během vývoje jsou naši  programatoři neustále s Vámi v kontaktu a diskutují například případné změny v zadání. Na konci vývoje poskytujeme beta-verzi pro testování a případné zaučení. Následně poskytneme finální verze desktop aplikace.