Ezen vaskos iromány átolvasása után remélhetőleg az olvasó képet kapott egy kicsit a C# programozási nyelv és a .NET alapjairól vagy talán még egy picivel többet is. Azonban ezek tényleg csak az alapok voltak a .NET keretrendszert illetően.
A .NET a megjelenése pillanatában is igen nagy méretű volt, de az évek alatt még nagyobbra nÅ‘tt, teljesen kiismerni szinte lehetetlen feladat és sok esetben felesleges is. Ha csak asztali alkalmazásokkal foglalkozunk, akkor felesleges a webes szolgáltatások ismerete. Ugyanez fordÃtottan is igaz.
A könyv készÃtésekor nem volt célunk a különbözÅ‘ felhasználói felületek létrehozására alkalmas alrendszerek bemutatása, mert ezek felesleges "zajt" jelentettek volna a programozás alapjaival ismerkedÅ‘k számára, valamint nincs univerzális megoldás minden célra. Azonban stabil C# és .NET alapismeretekkel ezek használata sokkal könnyebben elsajátÃtható.
Jelen pillanatban a következő felhasználói felület létrehozására alkalmas részei léteznek a keretrendszernek:
- Windows Forms
- Windows Presentation Foundation
- UWP
- ASP.NET
- Blazor
A Windows Forms gyökerei egészen a Windows 95-ig nyúlnak vissza. Akkoriban újdonságnak számÃtott a grafikus felület és a C++ nyelv se volt elterjedve. A Windows API1 éppen ezért a C nyelvű programozásra lett kitalálva. Ennek egy része a GDI, ami a Windows grafikus alrendszeréhez biztosÃtott hozzáférést. A Windows 2000-ben ezt némileg felturbózták és nagy részét C++ segÃtségével újra Ãrták. Ez lett a GDI+. A Windows Forms lényegében egy erre épülÅ‘ megoldás, ami elrejti a felhasználó elÅ‘l a platform invoke hÃvások sokaságát. Legnagyobb hátránya, hogy igencsak idÅ‘s, valamint az, hogy csak CPU-t képes használni a rajzoláshoz, ami nagyobb, komplexebb grafikus felületek létrehozását ellehetetlenÃti a lassú rajzolás miatt.
A lassú rajzolás problémájára született megoldásnak a Windows Presentation Foundation, röviden a WPF. Ez 2006-ban mutatkozott be a Vista verzióban a .NET 3.0 kiadással. A GDI lassúságának a fÅ‘ oka a grafikus kártyák hiányában keresendÅ‘. 1995-ben nem igen volt jellemzÅ‘, hogy egy számÃtógép 3D rajzolásra képes grafikus kártyával rendelkezzen. Éppen ezért a 3D rajzoláshoz szükséges API nem is volt része a Windows rendszernek, külön kellett telepÃteni. Ez volt a DirectX. Ennek fejlesztése egészen a Vista megjelenéséig teljesen függetlenül zajlott az operációs rendszertÅ‘l. 2006-ra szinte minden számÃtógépben megtalálható volt egy DirectX kompatibilis grafikus kártya. Éppen ezért újragondolták a teljes Windows grafikus API-t. A képességek kihasználásához alkották meg a WPF keretrendszert, ami az alkalmazások grafikus felületét egy XML alapú (XAML) nyelv segÃtségével Ãrja le és gyors megjelenÃtést tesz lehetÅ‘vé.
Az UWP a Windows 8.1-ben mutatkozott be, mint a korosodó Windows API alternatÃvája. Ez egy teljesen objektumorientált megközelÃtést alkalmazó .NET alapján létrehozott keretrendszer, ami igazán a Windows 10-ben teljesedett ki. A WPF kapcsán kifejlesztett XAML nyelv segÃtségével Ãrja le a grafikus felületeket. A WPF és az UWP között éppen emiatt nagy az átjárhatóság.
Az ASP.NET a .NET szerver oldali keretrendszere, amivel weboldalakat, interaktÃv webes alkalmazásokat tudunk készÃteni. A .NET Core megjelenésekor az ASP.NET volt az elsÅ‘, amit a Microsoft platformfüggetlenre átÃrt.
A Blazor keretrendszer a könyv Ãrásának pillanatában még erÅ‘sen fejlesztés alatt van. Ez egy modern webes kliens oldali keretrendszer lesz, ami a modern böngészÅ‘kben fog működni, amik támogatják a Web Assembly2 technológiát.
A fenti keretrendszerek közül a Windows Forms programozásában már csak akkor érdemes elmerülni, ha egy korábban Ãrt alkalmazást szeretnénk tovább bÅ‘vÃteni, vagy módosÃtani. Ezen kÃvül azonban bármelyik keretrendszerben érdemes elmélyedni.
-
Az alkalmazásprogramozási felület vagy alkalmazásprogramozási interfész (angolul Application Programming Interface, röviden API) egy program vagy rendszerprogram azon eljárásainak (szolgáltatásainak) és azok használatának dokumentációja, amelyet más programok felhasználhatnak. Egy nyilvános API segÃtségével lehetséges egy programrendszer szolgáltatásait használni anélkül, hogy annak belsÅ‘ működését ismerni kellene. – https://hu.wikipedia.org/wiki/Alkalmaz%C3%A1sprogramoz%C3%A1si_fel%C3%BClet↩
-
A Web Assembly egy virtuális gépet definiál, ami lehetÅ‘vé teszi olyan programok létrehozását, amelyek futtatókörnyezettÅ‘l függetlenül bárhol működnek. Hosszú éveken át interaktÃv weboldalak megkerülhetetlen velejárója volt a JavaScript, ami annó két hét alatt nem arra lett tervezve, hogy több százezer soros programok szülessenek benne. A kompatibilitás megtartása végett azonban nem lehetett radikálisan átalakÃtani a nyelvet, ami Ãgy bonyolult, lassú és sok esetben hibákkal teli JavaScript futtatókörnyezeteket eredményezett a böngészÅ‘kben.↩