.Net Desktop App-oknak van még piaca?

Fórumok

Sziasztok!

A .Net Desktop App-oknak van még piaca? Szoktak még kérni cégek WPF/Winforms/Avalonia Desktop programokat?

Vannak olyan programok mint Java-ban az ANYK, ami desktop app, multiplatform és van rá piaci igény?

Hozzászólások

Igen, bár egyre inkább átveszi a helyét a web alapú megoldások (electron és társai) egyszerűen azért, mert webfejlesztő van dögivel.

Szerintem már a legtöbb helyen azt kérik, hogy a program legyen webböngészőből elérhető.

Ahol kimondottan desktop appot kérnek, ott sem szokták nagyon megmondani, hogy .Net vagy Delphi legyen, amivel elkészül. Olyannal viszont már találkoztam, hogy az volt a kérés, hogy olyan Windows alkalmazást kérnek, ami fut Wine alatt is.

Nagy Péter

Az ANYK-t a NAV (pontosabban a fejlesztőpartnere) cseréli az ONYK-ra, ami reszponzív web.

A MÁV most kikerült automatái még .NET UWP alapúak, de 2015-ben indult a fejlesztés. A BKK utaskijelzők talán QT.

Nyilván vannak már megírt, népszerű appok (MedMax Pro), amiknek néha kell egy-egy új modul, vagy bele kell nyúlni törvényváltozás miatt, ill. vannak heavy adatfeldolgozó appok, amik reggelire megeszik a videókártyát, és azok szoktak .NET UI-val rendelkezni.

Amúgy .NET core, meg webservice-é refaktorolás, és webes UI aggatása rá, nekünk is van olyan ügyfelünk ahol a webre portolás a feladatunk.

Egyre több edge-case is megvalósítható web "alatt" vagy a dolog idejétmúlt lett. Még néha jön egy-egy ilyen megkeresés, de nem is től komoly: vonalkódolvasók, soros portos mérőműszerek, párhuzamos portos kapuvezérlő. Na ilyenre még talán desktop.

Lassan minden a webre költözik. A mobilapp-os megoldások kaptak egy kis lökést pár éve, de a kijelző méret miatt elég kicsi maradt a célszegment. Nem kezdesz el ügyvitelezni mobilon, max a lejárt számlákat megnézed.

A webnél van egy másik fontos szegmens, az üzemeltetés. A desktopot meg tudod vásárolni, fel tudod telepíteni. A webes dolgokat pedig használati díjért szokták adni, mert a www-n elérhetőség (azaz mindenhonnan minden dolgozó (10-100) vagy az ügyfelek is (10-1000)) nem egy next-next-next dolog. Az árazása, a konstrukció is emiatt más jellegű.

Manapság már lehet úgy is asztali alkalmazást készíteni, hogy nem, vagy csak minimálistan kiegészítésként használod a felsorolt technológiákat.

Úgy hívják, hogy Blazor. HTML a UI, CSS a design, C# a kód.

Nagyon nehéz a HTML tudatában úgy gondolkodni mintha XAML app lenne, pedig úgy kell. El kell felejteni a klasszikus HTML DOM manipulálást.

Sokan ezt nem értik, vitatkoznak vele, hiányolják, felháborodnak rajta, nekik nem a Blazor a barátjuk. De itt a XAML gondolkodás dominál.

Én ebben dolgozok, mert fut szerveren, böngészőben wasm. WebView2-val minden platformon elérhető lesz, de Electron.NET-el már most is.

Ez csak egy módja hogy ne úgy írj asztali alkalmazást ahogy említetted.

Simán, ipari környezetben most is csinálunk ilyeneket és évekre előre vannak tervek új projektekre.

Vannak helyzetek, ahol semmi előnye a web-nek, csak hátránya. Egy normálisan megirt .net alkalmazást pont úgy nem kell telepiteni, mint a webes-t. Egy share-re felkerül az exe, onnan egy shortcuttal futtatják a kliensek és kész. Upgrade meg annyi, hogy a share-en lecseréled.

És nem kell webszervert üzemeltetni, kliens oprendszerre sincs túl nagy megkötés, akár egy linux is lehet, bár ezerből egy ilyennel találkozunk, a windows az általános.

Vannak olyan területek, ahol nem a UI a lényeg, hanem a lokális backend.

1. Nagy számításigényű adatfeldolgozás interaktív megjelenítéssel és GUI vezérelt feldolgozással (pl interaktív orvosi képfeldolgozás). Válaszidő követelmény miatt webes felület eléggé kilőve.

2. Lokális dolgokat bizgató programok (pl üzem hardvereinek, adatgyűjtéseinek felkonfigurálása). Mi a túrónak kéne ezért webre kimenni?

3. Biztonsági szempontok. Ha szóba se jöhet, hogy az adat elhagyja az intézményt / országot (pénzügy, kutatási adatok stb).

Csinálnak, de ez a tipikus rossz megközelítés nagy teljesítményű alkalmazásokra: "válasszuk a legdivatosabb platformot, aztán ahol szűk keresztmetszet van, majd ott optimalizálunk".

Nagy teljesítményigényű appoknál ez a bukás biztos receptje, mert nem tudsz pl. akkora 3D teljesítményt kifacsarni a webes appból, amennyire szükség van, és közben belevezetted a projektet a zsákutcába, ahonnan nem tudsz kijönni.

3. Biztonsági szempontok. Ha szóba se jöhet, hogy az adat elhagyja az intézményt / országot (pénzügy, kutatási adatok stb).

Házon belül is lehet hostolni webes appot, pénzügyi, vagy éppen államigazgatási területen is van rá bőven példa. Igazából attól, hogy webes, még nem kell kívülről elérhetővé tenni.

Hagyományosan el szoktam zárkózni a desktop fejlesztéstől, mert kevés új desktop projekt indul. A munka gyakran azt jelenti, hogy egy nyugatról megörökölt, a fejlesztők ötödik generációja által tákolt monolitikus monstrumot kell életben tartani. Láttam kivéetlt is, de összesen egy helyen.

Aki desktop fejlesztésre adja a fejét, nagy valószínűséggel kimarad a modern-pezsgő szakmai életből: egy desktop apphoz rirkán kell backendet hosztolni akár felhőben, akár Kubernetesen, nem kell massaging, nem kell log aggregáció, metrikák, még talán rendes adatbázis sem.
Kíváncsian várom, a MAUI hoz-e majd egy kis színt a fejlesztől életébe. Mobilon esetleg érdekes lehet.

Nyugdíjas állásnak viszont jó.

Desktop app? Amióta a toolkitekbe integrálták a html motort meg a js-t, azóta nehéz ilyenről beszélni.

mindenre van igény, még a legalja Xbase-re is. De a jövő a webapp. Ha valamit tanulni akarsz akkor az a php meg a mysql legyen. Rackforesten bérelsz egy kis szerót aztán kalandra fel.

GPLv3-as hozzászólás.