- 12/01/2020
- 6 minute pentru a citi
-
- un
- s
- Y
- g
- P
-
+1
„Atwood-i Legea: Orice aplicație care poate fi scris în JavaScript, în cele din urmă va fi scris în JavaScript.,există două abordări generale pentru construirea aplicațiilor web astăzi: aplicații web tradiționale care efectuează cea mai mare parte a logicii aplicației pe server și aplicații cu o singură pagină (spa-uri) care efectuează cea mai mare parte a logicii interfeței cu utilizatorul într-un browser web, comunicând cu serverul web folosind în principal API-uri web. O abordare hibridă este de asemenea posibilă, cea mai simplă fiind găzduirea uneia sau mai multor subapplicații bogate în SPA în cadrul unei aplicații web tradiționale mai mari.,
utilizați aplicații web tradiționale atunci când:
cerințele aplicației dvs. din partea clientului sunt simple sau chiar read-only.aplicația dvs. trebuie să funcționeze în browsere fără suport JavaScript.
echipa dvs. nu este familiarizată cu tehnicile de dezvoltare JavaScript sau TypeScript.utilizați un SPA atunci când:
aplicația dvs. trebuie să expună o interfață de utilizator bogată, cu multe caracteristici.echipa dvs. este familiarizată cu dezvoltarea JavaScript, TypeScript sau Blazor WebAssembly.,
aplicația dvs. trebuie să expună deja un API pentru alți clienți (interni sau publici).în plus, cadrele SPA necesită o expertiză arhitecturală și de securitate mai mare. Ei experimentează o mai mare schimbare datorită actualizărilor frecvente și a cadrelor noi decât aplicațiile web tradiționale. Configurarea proceselor automate de construire și implementare și utilizarea opțiunilor de implementare precum containerele pot fi mai dificile cu aplicațiile SPA decât aplicațiile web tradiționale.îmbunătățirile în experiența utilizatorului făcute posibile prin abordarea SPA trebuie cântărite în funcție de aceste considerente.,
Blazor
ASP.NET de Bază include un model pentru construirea bogat, interactiv, și composable interfețe utilizator numit Blazor. Blazor server-side permite dezvoltatorilor să construiască UI cu C # și Razor pe server și pentru UI să fie conectat interactiv la browser-ul în timp real, folosind o conexiune SignalR persistentă. Blazor WebAssembly introduce o altă opțiune pentru Blazor aplicații, permițându-le pentru a rula în browser-ul folosind WebAssembly. Pentru că e real .NET rulează pe WebAssembly, puteți reutiliza codul și biblioteci de server-side părți ale aplicației.,
Blazor oferă o nouă, a treia opțiune să ia în considerare atunci când se evaluează dacă pentru a construi o aplicație web pur Server-prestate sau un SPA. Puteți construi comportamente bogate, asemănătoare SPA-ului, folosind Blazor, fără a fi nevoie de o dezvoltare JavaScript semnificativă. Aplicațiile Blazor pot apela API – uri pentru a solicita date sau pentru a efectua operațiuni din partea serverului. Ei pot interopera cu JavaScript acolo unde este necesar pentru a profita de bibliotecile și cadrele JavaScript.,
luați în Considerare construirea de aplicații web cu Blazor când:
aplicația Dumneavoastră trebuie să expune o interfață de utilizator bogat
echipa Ta este mult mai confortabil cu .NET de dezvoltare decât JavaScript sau mașina de Scris de dezvoltare
Dacă aveți deja un web formulare de aplicație sunteți în vedere migrarea sa .NET Core sau mai recente .NET, ați putea dori să revizuiască gratuit de e-carte, Blazor pentru Formulare Web Dezvoltatorii pentru a vedea dacă are sens să ia în considerare migrarea să Blazor.
Pentru mai multe informații despre Blazor, consultați începeți cu Blazor.,
când să alegeți aplicațiile web tradiționale
următoarea secțiune este o explicație mai detaliată a motivelor menționate anterior pentru alegerea aplicațiilor web tradiționale.multe aplicații web sunt consumate în principal într-o manieră numai în citire de către marea majoritate a utilizatorilor lor. Read-only (sau read-cea mai mare parte) aplicațiile tind să fie mult mai simple decât acele aplicații care mențin și manipulează o mare parte din stat., De exemplu, un motor de căutare poate consta dintr-un singur punct de intrare cu o casetă de text și o a doua pagină pentru afișarea rezultatelor căutării. Utilizatorii anonimi pot face cu ușurință solicitări și nu este nevoie de logică din partea clientului. De asemenea, aplicația publică a unui blog sau a unui sistem de gestionare a conținutului constă, de obicei, în principal din conținut cu un comportament mic din partea clientului. Astfel de aplicații sunt ușor de construit ca aplicații web tradiționale bazate pe server, care efectuează logica pe serverul web și fac HTML pentru a fi afișat în browser., Faptul că fiecare pagină unică a site-ului are propria adresă URL care poate fi marcată și indexată de motoarele de căutare (implicit, fără a fi nevoie să adăugați această funcționalitate ca o caracteristică separată a aplicației) este, de asemenea, un beneficiu clar în astfel de scenarii.aplicațiile Web care trebuie să funcționeze în browsere cu suport JavaScript limitat sau fără suport JavaScript trebuie să fie scrise folosind fluxurile de lucru tradiționale ale aplicațiilor web (sau cel puțin să poată reveni la un astfel de comportament)., Spa-urile necesită JavaScript din partea clientului pentru a funcționa; dacă nu este disponibil, spa-urile nu sunt o alegere bună.
echipa dvs. nu este familiarizată cu tehnicile de dezvoltare JavaScript sau TypeScript
dacă echipa dvs. nu este familiarizată cu JavaScript sau TypeScript, dar este familiarizată cu dezvoltarea aplicațiilor web din partea serverului, atunci probabil că vor putea livra o aplicație web tradițională mai rapid decât un SPA., Cu excepția cazului în care învățarea programării spa – urilor este un obiectiv sau este necesară experiența utilizatorului oferită de un SPA, aplicațiile web tradiționale sunt o alegere mai productivă pentru echipele care sunt deja familiarizate cu construirea lor.
când să alegeți spa-uri
următoarea secțiune este o explicație mai detaliată a momentului în care să alegeți un stil de dezvoltare a aplicațiilor pe o singură pagină pentru aplicația dvs. web.,aplicația dvs. trebuie să expună o interfață de utilizator bogată, cu multe caracteristici
spa-urile pot suporta funcționalități bogate din partea clientului, care nu necesită reîncărcarea paginii, deoarece utilizatorii iau măsuri sau navighează între zone ale aplicației. Spa-urile se pot încărca mai rapid, preluând date în fundal și acțiunile individuale ale utilizatorilor sunt mai receptive, deoarece reîncărcările complete ale paginilor sunt rare. Spa – urile pot suporta actualizări incrementale, salvând formulare sau documente parțial completate fără ca utilizatorul să fie nevoit să facă clic pe un buton pentru a trimite un formular., Spa – urile pot suporta comportamente bogate din partea clientului, cum ar fi drag-and-drop, mult mai ușor decât aplicațiile tradiționale. Spa-urile pot fi proiectate pentru a rula într-un mod deconectat, făcând actualizări la un model din partea clientului care sunt în cele din urmă sincronizate înapoi la server odată ce o conexiune este restabilită. Alegeți o aplicație în stil SPA dacă cerințele aplicației dvs. includ funcționalități bogate care depășesc ceea ce oferă formele HTML tipice.,frecvent, spa – urile trebuie să implementeze funcții încorporate în aplicațiile web tradiționale, cum ar fi afișarea unei adrese URL semnificative în bara de adrese care reflectă operația curentă (și permiterea utilizatorilor să marcheze sau să facă o legătură profundă la această adresă URL pentru a reveni la ea). De asemenea, spa-urile ar trebui să permită utilizatorilor să utilizeze butoanele Înapoi și înainte ale browserului cu rezultate care nu le vor surprinde.echipa dumneavoastră este familiarizată cu dezvoltarea JavaScript și/sau TypeScript
scrierea spa-urilor necesită familiarizare cu JavaScript și / sau TypeScript și tehnici de programare client-side și biblioteci., Echipa dvs. ar trebui să fie competentă în scrierea JavaScript-ului modern folosind un cadru SPA precum Angular.
aplicația dvs. trebuie să expună deja un API pentru alți clienți (interni sau publici)
dacă deja acceptați un API Web pentru a fi utilizat de alți clienți, poate fi nevoie de mai puțin efort pentru a crea o implementare SPA care utilizează aceste API-uri în loc să reproducă logica în formă de server. Spa – urile utilizează extensiv API-urile web pentru a interoga și actualiza datele pe măsură ce utilizatorii interacționează cu aplicația.,
când să alegeți Blazor
următoarea secțiune este o explicație mai detaliată a momentului în care să alegeți Blazor pentru aplicația dvs. web.aplicația dvs. trebuie să expună o interfață de utilizator bogată ca și spa-urile bazate pe JavaScript, aplicațiile Blazor pot suporta comportamentul clientului bogat fără reîncărcări de pagini. Aceste aplicații sunt mai receptive la utilizatori, preluând doar datele (sau HTML) necesare pentru a răspunde la o anumită interacțiune cu utilizatorul. Proiectate corect, aplicațiile blazor din partea serverului pot fi configurate pentru a rula ca aplicații blazor din partea clientului, cu modificări minime odată ce această caracteristică este acceptată.,
echipa Ta este mult mai confortabil cu .NET de dezvoltare decât JavaScript sau mașina de Scris de dezvoltare
Multi dezvoltatori sunt mai productive cu .NET si Ras mult cu client-side limbi, cum ar fi JavaScript sau mașina de Scris. De la partea de server a aplicației este deja în curs de elaborare .NET, folosind Blazor asigură fiecare .NET developer de pe echipa poate înțelege și potențial de a construi comportamentul de front-end a cererii.,tabelul de decizie următorul tabel de decizie rezumă unii dintre factorii de bază care trebuie luați în considerare atunci când alegeți între o aplicație web tradițională, un SPA sau o aplicație Blazor.,
Necesar Echipei de Familiaritate cu JavaScript/Script Minim Necesar Minim Suport Browsere fără Scripting a Sprijinit Nu sunt Acceptate a Sprijinit Minim Aplicație Client-Side Comportament Bine-Potrivite Nejustificată Viabile Bogat, Interfață complexe Cerințe Limitat Bine-Potrivite Bine-Potrivite