Megosztás a következőn keresztül:


Bevezetés ASP.NET Blazor Web Forms-fejlesztőknek

Jótanács

Ez a tartalom egy részlet az eBookból, Blazor az Azure-hoz készült ASP NET Web Forms Developers számára, amely elérhető a .NET Docs-on vagy egy ingyenesen letölthető PDF-fájlként, amely offline is olvasható.

Blazor-for-ASP-NET-Web-Forms-Developers eBook borító miniatűr.

A ASP.NET Web Forms-keretrendszer a .NET-webfejlesztés egyik alapeleme, mivel a .NET-keretrendszert először 2002-ben szállították. Még akkor, amikor a web még nagyrészt még gyerekcipőben járt, ASP.NET webes űrlapok egyszerűvé és hatékonyabbá tették a webalkalmazások készítését azáltal, hogy számos, az asztali fejlesztéshez használt mintát alkalmaztak. A ASP.NET webes űrlapokon a weblapok gyorsan összeállíthatók újrahasználható felhasználói felületi vezérlőkből. A felhasználói interakciókat a rendszer természetesen eseményekként kezeli. A Web Forms felhasználói felületi vezérlőinek gazdag ökoszisztémája áll rendelkezésre a Microsoft és a forgalmazók számára. A vezérlők megkönnyítik az adatforrásokhoz való csatlakozást és a gazdag adatvizualizációk megjelenítését. A vizuális beállítottságú felhasználók számára a Web Forms tervező egyszerű húzási és ejtési felületet biztosít a vezérlők kezeléséhez.

Az évek során a Microsoft új ASP-t vezetett be. NET-alapú webes keretrendszerek a webfejlesztési trendek kezelésére. Ilyen webes keretrendszerek közé tartozik ASP.NET MVC, ASP.NET weblapok és újabban ASP.NET Core. Az egyes új keretrendszerek némelyike előrejelezte a ASP.NET Webes űrlapok közelgő hanyatlását, és azt elavult, elavult webes keretrendszerként bírálta. Ezeknek az előrejelzéseknek ellenére sok .NET-webfejlesztő továbbra is egyszerű, stabil és hatékony módszert talál a ASP.NET Web Formsra a munkájuk elvégzéséhez.

Az íráskor közel félmillió webfejlesztő használja havonta ASP.NET Webes űrlapokat. A ASP.NET Webes űrlapok keretrendszere olyan szinten stabil, hogy az egy évtizeddel ezelőtti dokumentumok, minták, könyvek és blogbejegyzések továbbra is hasznosak és relevánsak maradnak. Sok .NET-webfejlesztő számára a "ASP.NET" még mindig a "ASP.NET Webes űrlapok" szinonimája, mint a .NET első fogantatásakor. A ASP.NET webes űrlapok előnyeire és hátrányára vonatkozó érvek a többi új .NET webes keretrendszerhez képest tovább tombolhatnak. ASP.NET Web Forms továbbra is népszerű keretrendszer a webalkalmazások létrehozásához.

Ennek ellenére a szoftverfejlesztés innovációi nem lassulnak. Minden szoftverfejlesztőnek lépést kell tartania az új technológiák és trendek terén. Különösen két trendet érdemes figyelembe venni:

  1. Váltás nyílt forráskódúra és platformfüggetlenre
  2. Az alkalmazáslogika áthelyezése az ügyfélre

Nyílt forráskódú és platformfüggetlen .NET

A .NET és ASP.NET Webes űrlapok első kiszállításakor a platform ökoszisztémája sokkal másnak tűnt, mint ma. Az asztali és a kiszolgálói piacokat a Windows uralta. Az olyan alternatív platformok, mint a macOS és a Linux, továbbra is nehézségekkel küzdenek, hogy széles körben elterjedjenek. ASP.NET Web Forms a .NET-keretrendszert csak Windows-összetevőként tartalmazza, ami azt jelenti, hogy ASP.NET Web Forms-alkalmazások csak Windows Server rendszerű gépeken futtathatók. Számos modern környezet most már különböző platformokat használ kiszolgálókhoz és fejlesztői gépekhez, így sok felhasználó platformfüggetlen támogatása abszolút követelmény.

A legtöbb modern webes keretrendszer már nyílt forráskódú is, amelynek számos előnye van. A felhasználók nem egyetlen projekttulajdonoshoz kerülnek a hibák kijavításához és a funkciók hozzáadásához. A nyílt forráskódú projektek jobb átláthatóságot biztosítanak a fejlesztési folyamat és a közelgő változások szempontjából. A nyílt forráskódú projektek teljes közösség közreműködését élvezik, és támogatják a nyílt forráskódú ökoszisztémát. A nyílt forráskódú kockázatok ellenére számos fogyasztó és közreműködő talált megfelelő kockázatcsökkentést, amelyek lehetővé teszik számukra, hogy biztonságos és ésszerű módon élvezzék a nyílt forráskódú ökoszisztéma előnyeit. Ilyen megoldások például a közreműködői licencszerződések, a közérthető licencek, a származási vizsgálatok, valamint a támogató alapítványok.

A .NET-közösség platformfüggetlen és nyílt forráskódú támogatást is igénybe vett. A .NET Core a .NET nyílt forráskódú és platformfüggetlen implementációja, amely számos platformon fut, beleértve a Windowst, a macOS-t és a különböző Linux-disztribúciókat. A Mono a .NET egy nyílt forráskódú verziója, amely Androidon, iOS-en és számos más formában működik, beleértve az órákat és az intelligens tévéket. 2020-ban a Microsoft kiadta a .NET 5-öt , amely összeegyeztette a .NET Core-t és a Mono-t "egyetlen .NET-futtatókörnyezetbe és keretrendszerbe, amely mindenhol használható, és amely egységes futtatókörnyezeti viselkedéssel és fejlesztői élményekkel rendelkezik."

A ASP.NET webes űrlapok kihasználják-e a nyílt forráskódú és platformfüggetlen támogatásra való áttérés előnyeit? A válasz sajnos nem, vagy legalábbis nem olyan mértékben, mint a többi platform. A .NET csapata egyértelművé tette, hogy az ASP.NET Web Forms nem lesz átültetve a .NET Core-ra vagy a .NET 8-ra. Miért van ez így?

A .NET Core korai napjaiban erőfeszítéseket tettek ASP.NET webes űrlapok portjára. A szükséges kompatibilitástörő változások száma túl drasztikusnak bizonyult. Itt van egy bevallása is, hogy még a Microsoft esetében is korlátozva van az egyidejűleg támogatott webes keretrendszerek száma. Lehet, hogy a közösség egy tagja fogja elvégezni a ASP.NET Webes űrlapok nyílt forráskódú és platformfüggetlen verziójának létrehozását. A ASP.NET webes űrlapok forráskódja nyilvánosan elérhetővé vált referenciaformában. Egyelőre azonban úgy tűnik, ASP.NET Webes űrlapok csak Windows rendszerűek maradnak, nyílt forráskódú hozzájárulási modell nélkül. Ha a platformfüggetlen támogatás vagy a nyílt forráskódú megoldás fontossá válik a forgatókönyvek szempontjából, akkor valami újat kell keresnie.

Ez azt jelenti, hogy ASP.NET webűrlapok már nem használhatók? Persze, hogy nem! Mindaddig, amíg a .NET-keretrendszer a Windows részét képezi, ASP.NET Webes űrlapok támogatott keretrendszer lesznek. Számos webűrlap-fejlesztő esetében a platformfüggetlen és nyílt forráskódú támogatás hiánya nem jelent problémát. Ha nincs szüksége a platformfüggetlen támogatásra, nyílt forráskódú megoldásokra, vagy a .NET Core, illetve a .NET 8 bármely más új funkciójára, akkor az ASP.NET Webes űrlapok használata Windows rendszeren teljesen rendben van. ASP.NET webűrlapok még hosszú éveken át hatékony módszert fognak használni a webalkalmazások írására.

De van egy másik trend, amit érdemes megfontolni, és ez az ügyfél felé való váltás.

Ügyféloldali webfejlesztés

Az összes . A NET-alapú webes keretrendszerek, köztük a ASP.NET Webes űrlapok, korábban egy közös dologban voltak: a kiszolgálói renderelésük. A kiszolgáló által renderelt webalkalmazásokban a böngésző kérést küld a kiszolgálónak, amely végrehajt néhány kódot (.NET-kódot ASP.NET alkalmazásokban), hogy választ adjon. Ezt a választ a rendszer visszaküldi a böngészőnek a kezeléshez. Ebben a modellben a böngészőt vékony renderelő motorként használják. A felhasználói felület létrehozásának, az üzleti logika futtatásának és az állapot kezelésének kemény munkája a kiszolgálón történik.

A böngészők azonban sokoldalú platformokká váltak. Egyre több nyílt webes szabványt implementálnak, amelyek hozzáférést biztosítanak a felhasználó gépének képességeihez. Miért nem használja ki az ügyféleszköz számítási teljesítményét, tárhelyét, memóriáját és egyéb erőforrásait? A felhasználói felületi interakciók különösen gazdagabbak és interaktívabbak lehetnek, ha legalább részben vagy teljesen ügyféloldalon kezelik. A kiszolgálón kezelendő logika és adatok továbbra is kezelhetők kiszolgálóoldalon. Webes API-hívások vagy akár valós idejű protokollok, például WebSocketek is használhatók. Ezek az előnyök ingyenesen érhetők el a webfejlesztők számára, ha hajlandók JavaScriptet írni. Az ügyféloldali felhasználói felületi keretrendszerek, például az Angular, a React és a Vue leegyszerűsítik az ügyféloldali webfejlesztést, és egyre népszerűbbek. ASP.NET Web Forms fejlesztői kihasználhatják a kliens oldali funkciókat, és még azonnali támogatást is kaphatnak beépített JavaScript-keretrendszerekkel, például az ASP.NET AJAX-szal.

Két különböző platform és ökoszisztéma (.NET és JavaScript) áthidalása azonban költséggel jár. Szakértelemre van szükség két párhuzamos világban, különböző nyelvekkel, keretrendszerekkel és eszközökkel. A kód és a logika nem osztható meg könnyen az ügyfél és a kiszolgáló között, ami duplikációt és mérnöki többletterhelést eredményez. Nehéz lépést tartani a JavaScript-ökoszisztémával is, amelynek története veszett sebességgel fejlődik. Az előtérbeli keretrendszer és a buildelési eszközök beállításai gyorsan változnak. Az iparág megfigyelte a Grunt és a Gulp közötti előrehaladást a Webpackig, és így tovább. Ugyanez a nyugtalan változás történt olyan előtérbeli keretrendszerekkel, mint a jQuery, a Knockout, az Angular, a React és a Vue. De tekintettel a JavaScript böngésző monopóliumára, kevés választás volt ebben a kérdésben. Vagyis, amíg a webes közösség össze nem jött, és csodát nem okozott!

WebAssembly kielégít egy szükségletet

2015-ben a fő böngészőgyártók összefogtak egy W3C közösségi csoportban, hogy létrehozzák a nyílt webes szabványt.WebAssembly WebAssembly egy bájtkód a web számára. Ha lefordíthatja a kódot WebAssembly, az bármilyen böngészőn bármilyen platformon futtatható, közel natív sebességgel. A kezdeti erőfeszítések a C/C++-ra összpontosítottak. Az eredmény egy drámai bemutató volt arról, hogy hogyan lehet natív 3D grafikus motorokat közvetlenül a böngészőben futtatni bővítmények nélkül. WebAssembly azóta minden nagyobb böngésző szabványosította és implementálta.

A .NET on futtatásával WebAssembly kapcsolatos munkát 2017 végén jelentették be, és 2020-ban adták ki, beleértve a .NET 5 és azon túli támogatást is. A .NET-kód közvetlenül a böngészőben való futtatásának lehetősége lehetővé teszi a .NET-tel való teljes körű webes fejlesztést.

Blazor: teljes körű webfejlesztés a .NET-tel

Önmagában a .NET-kód böngészőben való futtatásának lehetősége nem nyújt végpontok közötti élményt az ügyféloldali webalkalmazások létrehozásához. Itt Blazor jön be. Blazor Egy ügyféloldali webes felhasználói felületi keretrendszer, amely JavaScript helyett C#-alapú. Blazor futhat közvetlenül a böngészőben keresztül WebAssembly. Nincs szükség böngésző beépülő modulra. Másik lehetőségként az alkalmazások kiszolgálóoldalon is futtathatók a .NET-en, Blazor és kezelhetik a böngészővel való valós idejű kapcsolaton keresztüli felhasználói interakciókat.

Blazor a Visual Studio és a Visual Studio Code nagyszerű eszköztámogatással rendelkezik. A keretrendszer egy teljes felhasználói felületi összetevőmodellt is tartalmaz, és beépített létesítményekkel rendelkezik a következőkhöz:

  • Űrlapok és ellenőrzés
  • Függőséginjektálás
  • Ügyféloldali útválasztás
  • Elrendezések
  • Böngészőn belüli hibakeresés
  • JavaScript interop

Blazor sok közös van a ASP.NET webes űrlapokkal. Mindkét keretrendszer összetevőalapú, eseményvezérelt, állapotalapú felhasználói felületi programozási modelleket kínál. A fő architektúrabeli különbség az, hogy ASP.NET webes űrlapok csak a kiszolgálón futnak. Blazor futhat az ügyfélen a böngészőben. Ha azonban ASP.NET Web Forms háttérrel rendelkezik, sok minden ismerősnek fog tűnni a Blazor-ben. Blazor természetes megoldás ASP.NET Web Forms-fejlesztők számára, akik szeretnék kihasználni az ügyféloldali fejlesztés előnyeit és a .NET nyílt forráskódú, platformfüggetlen jövőjét.

Ez a könyv bevezetést nyújt Blazor-ba, kifejezetten az ASP.NET Web Forms fejlesztők számára. Minden Blazor fogalom az analóg ASP.NET Webes űrlapok funkcióinak és eljárásainak kontextusában jelenik meg. A könyv végére megértheti a következőt:

  • Hogyan készítsünk Blazor alkalmazásokat.
  • Hogyan Blazor működik.
  • Hogyan Blazor kapcsolódik a .NET-hez?
  • Ésszerű stratégiák a meglévő ASP.NET Web Forms-alkalmazások adott helyre való migrálásához Blazor .

Első lépések Blazor

Az Blazor val való kezdés egyszerű. Nyissa meg https://blazor.net és kövesse a hivatkozásokat a megfelelő .NET SDK és Blazor projektsablonok telepítéséhez. Útmutatást talál az eszköz beállításához a Visual Studióban vagy a Blazor Visual Studio Code-ban is.