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


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

Tipp.

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 cover thumbnail.

A ASP.NET Web Forms-keretrendszer a .NET webfejlesztés egyik alapeleme, mivel a .NET-keretrendszer 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álisan ferde webűrlapok tervezője egyszerű húzá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 nehezen nyernek vontatást. ASP.NET Web Forms csak Windows-összetevőként tartalmazza a .NET-keretrendszer, 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 barátságos licencek, a törzskönyvi vizsgálatok és a támogató alapok.

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 Xamarin a .NET nyílt forráskódú verzióját, a Mono-t biztosítja. A Mono Androidon, iOS-en és számos más formai tényezőn fut, 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 ASP.NET webes űrlapok nem lesznek a .NET Core-ba vagy a .NET 8-ba portként. Miért?

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é lett téve referenciaűrlapon. 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épezik, a 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 nem rendelkezik a platformfüggetlen támogatás, a nyílt forráskódú vagy a .NET Core vagy a .NET 8 bármely más új funkciójával, akkor a Windows ASP.NET Webes űrlapok használata 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űrlapok fejlesztői is kihasználhatják az ügyfél használatát, és akár beépített JavaScript-keretrendszerekkel, például ASP.NET AJAX-tal is támogathatják.

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. Emellett nehéz lépést tartani a JavaScript-ökoszisztémával is, amelynek története a szűk keresztmetszeti 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íti a szükséges

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 A web bájtkódja. Ha lefordíthatja a kódot WebAssembly, az bármilyen platformon futtatható, natív sebességgel. A kezdeti erőfeszítések a C/C++-ra összpontosítottak. Az eredmény egy drámai bemutatója futó natív 3D grafikus motorok közvetlenül a böngészőben beépülő modulok 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 egy ASP.NET Webes űrlapok háttérrendszerből származik, sok Blazor minden ismerősnek fogja érezni magát. 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 bemutatja Blazor , hogy ez gondoskodik kifejezetten ASP.NET Web Forms fejlesztők. 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:

  • Alkalmazások létrehozása Blazor .
  • 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 első lépések egyszerűek Blazor . 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.