Microsoft tarjoaa työkalun alkuperäisten Android- ja iOS-sovellusten kehittämiseen eri ohjelmointikielillä, kuten .NET tai C #.
Microsoft Technology Associate pyrkii helpottamaan pisteverkkokehittäjiä hyödyntämään uusimman Blazor-työkalupaketin potentiaalia verkkosovellusten tai alkuperäisten iOS / Android-sovellusten luomiseen. Microsoft oli ilmoittanut kokeellisesta Blazor-rakennuksesta Blazorille, joka on ASP.NET-alustan ominaisuus, jonka avulla kehittäjät voivat luoda interaktiivisia verkkosovelluksia ja käyttöliittymää C #: n eikä JavaScriptin avulla. Tämä komponenttien sitominen antaa heille mahdollisuuden luoda alkuperäisiä mobiilisovelluksia .NET- tai C # -sovelluksella Android- tai iOS-laitteille tutun web-ohjelmoinnin avulla.
Vuonna 2019 Microsoft oli esittänyt ratkaisun samalla tekniikalla, jossa se kehitti työpöydälle tarkoitetun Flutter-sovelluksen, joka oli tarkoitettu mobiililaitteille ja kirjoitettu tikalla, mutta sen sijaan Blazorin ja .NET: n avulla. Microsoft Blazor on ASP.NET: n kokeellinen web-käyttöliittymäkehys, jonka tavoitteena on tuoda sovelluksia kaikkiin selaimiin WebAssemblyn kautta. Sen avulla kehittäjät voivat luoda todellisia täyden pinon sovelluksia ja jakaa koodia asiakkaiden ja palvelimien välillä ilman lisäosia tai translaatiota. Microsoft kokeilee alustaa palvelemaan kehittäjien vaatimuksia, jotka tuntevat web-ohjelmoinnin perusteet ja natiivisovellusten luomisen mallit. Tässä artikkelissa tutkitaan, kuinka Microsoft Blazor mullistaa .NET- verkkosivustojen kehittämispalvelut.
Miksi Blazor on uusi hype?
Microsoftin Blazor on viimeisin asiakaspuolen käyttöliittymäkehys, joka on johdettu ASP.NET-yhteisöstä. Tämän alustan myydyin näkökohta on sen kyky kehittää rikkaita web-käyttöliittymäkokemuksia CSS: n, HTML: n tai C #: n avulla JavaScriptin sijaan. Siinä on kaikki mitä useimmat kehittäjät ovat haaveilleet niin kauan. Microsoftin verkkosivustojen kehittäjänä tai yhteistyökumppanina, jos olet pysynyt mukana ASP.NET-kentän uusissa kehityksissä viime vuosina, olet varmasti kuullut Blazorista. JavaScript-kehys on ollut tosiasiallinen toimenpide alusta lähtien web-kehitystyön aloittamisesta, ja kehittäjät eivät koskaan näyttäneet olevan tyytyväisiä siihen. Ja parin viime vuoden aikana on syntynyt monia transpileja ja supersettejä, kuten Dart, CoffeeScript, Elm, Scala jne. JavaScript-alustan parantamiseksi ja sen ylläpidettävyyden parantamiseksi. Blazor on kuitenkin jo aloittanut prosessin, koska sillä on potentiaalia olla tehokas ja erittäin tuottava ohjelmointialusta paitsi alkuperäinen muotoilu, ja se osoittautuu suorana aikakautena JavaScriptin yhden sivun sovelluskehityskehyksille. Tämän kehyksen ensisijaiset tavoitteet ovat:
Rikkaiden ja interaktiivisten verkkosovellusten / käyttöliittymän luominen C #: n avulla JavaScriptin sijaan
Jaa tai kerää .NET-kehyksessä kehitetty palvelin- tai asiakaspuolen sovelluslogiikka
Käyttöliittymän CSS: n ja HTML: n tekeminen selaintukea varten, joka sisältää mobiiliselaimet
Uusimpien isäntäalustojen, kuten Docker ja monet muut, integrointi.
Blazor-kehys on yhden sivun sovelluskehitysratkaisu, jonka avulla käyttäjät voivat rakentaa interaktiivisen web-käyttöliittymän C #: n avulla JavaScriptin sijaan. Innoittamana JavaScript-kehyksistä, kuten Angular, Vue tai React, se käyttää samanlaisia käsitteitä interaktiivisten ratkaisujen kehittämiseen. Mikä tahansa Blazor-sovellus on kehitetty Razorin uudelleenkäytettävistä komponenteista, ts. C #: n ja HTML: n merkintäsyntaksista. Blazorin kanssa Microsoft jakaa erilaisia meneillään olevia kokeita ja poraa ne parhaiden työpöytäsovellusten kanssa Web Window -apuohjelman avulla. Mutta viimeisimmät natiivien mobiilisovellusten kehittämiseen ovat Blazor-ohjelmointi yhdistettynä Xamarin-ohjaimiin.
Lue blogi - Microsoft jatkaa työtään mobiilisovelluskehityksen kohdistamiseksi Blazorin kanssa
Mikä tekee Blazorista joustavan alustan parhaalle verkkokehitysyritykselle?
Blazor on arkkitehtuuri, koska siinä erotetaan toisistaan miten muutokset suoritetaan ja miten se laskee käyttöliittymäkomponenttimallit tai sovelluksen muutokset. Tämä ominaisuus erottaa tämän alustan nykyaikaisista eli muista käyttöliittymän kehittämisjärjestelmistä, kuten ReactJS, Angular tai React Native, jotka voivat kehittää vain käyttöliittymiin perustuvia verkkoteknologioita. Hyödyntämällä useita renderöintejä ratkaisujen kehittämiseen Blazor pystyy paitsi kehittämään verkkopohjaisia komponentteja myös kehittämään alkuperäisiä mobiilikäyttöliittymiä. Lisäksi se ei vaadi komponenttien kehittämistä eri tavalla, joten web-renderöijille kehitettyjä komponentteja ei voida käyttää muiden natiivien mobiilirenderöintien kanssa. Mutta ohjelmointimalli pysyy samana, mikä tarkoittaa, että kun kehittäjät tutustuvat malliin, joka voi helposti luoda käyttöliittymiä minkä tahansa renderöijän avulla. Sen sovellusmallin komponentit ovat
WebAssembly Renderer
Etärenderöinti
Elektronirenderöijä
Mobiili Blazor Binding Renderer
Hosting-malli - Blazorin AP-malli ytimessä on vastuussa käyttöliittymämuutosten laskemisesta ja ylläpidosta ASP.NET-kehityspalveluissa. Kehittäjät voivat kuitenkin käyttää myös muita renderöijiä näytön ja päivitysten hallitsemiseksi. Näitä sovellusrenderöintimalleja kutsutaan enimmäkseen isännöintimalleiksi, ja Blazorissa on kehitystyön aikana yleensä neljä mallia. He ovat-
Blazor-palvelin
BlazorWebAss kokoonpano
Blazor Electron
Blazor-sidokset
Näistä malleista Blazor Server on ainoa malli, joka luokitellaan kirjoituksen aikana tuettuun tuotantoon, kun taas Blazor Bindings ja Electron on merkitty kokeellisesti tuetuiksi malleiksi.
Microsoft Technology Associate: Blazorin ominaisuudet
On jo ilmoitettu, että vuosi 2020 olisi varmasti huippu Microsoftin Blazorille ja pian siitä tulee valtavirtaa. Alusta on aidosti yksinkertainen ja helppokäyttöinen, koska siinä yhdistyvät Razorin (selain + Razor) käyttömukavuus ASP.NET-käsitteiden kanssa. Blazor on myös virtaviivaistanut uskomattomia malleja suosituissa JavaScript-kehyksissä, kuten React tai Angular, hyödyntämällä Dotnet-käytäntöjen tai Razorin tarjoamia malleja. Blazor on uskomaton alusta, joka helpottaa vuorovaikutteisten asiakaspuolen web-käyttöliittymien luomista ASP.NET-kehyksen avulla. Blazor-alustan avulla kehittäjät voivat käyttää uudelleen kirjastoja ja koodeja mistä tahansa palvelinpuolen sovellusten segmentistä. Koska se käyttää myös ASP.NET-kehystä interaktiivisten asiakaspuolen sovellusten kehittämiseen, se perustuu jo tehokkaaseen kehysjoukkoon ja kirjastoihin. Joitakin tämän alustan hyödyllisiä ominaisuuksia, jotka tekevät siitä erottuvan, ovat
Siinä on paljon valmiita käyttöliittymäkomponentteja, jotta kehittäjät voivat helposti aloittaa upeiden sovellusten luomisen. Tätä ominaisuutta arvostavat kaikki mukautetut verkkokehitysyritykset tai -organisaatiot
Tämä paketti ei vaadi JavaScript-tekniikkaa tai ominaisuuksia. Sen sijaan tehtävät voidaan suorittaa helposti C #: lla. Tämä parantaa kehittäjien tai organisaatioiden kokonaistuottavuutta
sillä on sisäänrakennettu tuki sovelluskehityskomponenttien todentamiseen .NET-kehykselle
Kehittäjät voivat kutsua JavaScriptiä ASP.NET-metodologian avulla toiminnon nimeltä 'JavaScript interoperability' avulla.
Jokaisen Microsoftin verkkosivustokehittäjän mielestä Blazor on houkutteleva, koska ASP.NET-yhteisö on kehittänyt sen kehykseksi WebAss Assemblyn alla toimivien asiakaspuolen sovellusten luomiseen. Se tarjoaa modernin ja rikkaan yhden sivun sovelluskehyksen edut, jotka käyttävät ASP.NET-tekniikkaa päästä päähän. Tämän kehyksen idea voi myös yhdistää C #: n tehokkuuden, ja Razor on asiakaspuolen verkkoprojekti, joka voi toimia täysin selaimessa. Siinä on kaikki ominaisuudet, joita tarvitaan modernin verkkokehyksen luomiseen, joista osa on lueteltu alla-
Malli yhdistettävän käyttöliittymän kehittämiseksi
Selaimen suora lataus sovelluskehityksen aikana
Uusimpien verkkokehitysominaisuuksien käyttäminen
Riippuvuuden injektio
Kyky ajaa vanhoissa selaimissa
Suorita ASP.NET-virheenkorjaus
Kehitetyt avoimen verkkokehitysalustan segmentit ilman laajennuksia
Rikas älykkyys ja käyttöliittymän kehittämistyökalut
Palvelinpuolen renderointi
Lue blogi - Mikä on ero C #, .NET, ASP.NET, Microsoft.NET ja Visual Studio välillä?
Kuinka Microsoft Blazor vertaa interaktiiviseen ASP.NET-verkkokehitykseen
Mikä tahansa tavallinen ASP.NET tekee käyttöliittymästä merkkijonolohkon. Blazor puolestaan kehitti tai renderöi puun, mutta ei merkkijonoa. Tämä kehys on dokumenttiobjektimallin esitys, mikä tarkoittaa, että se pitää komponentit muistissa, kun taas Blazor pitää esityksen. Kaikki näihin komponentteihin tehtävät muutokset voivat käynnistää käyttöliittymän päivityksen samoille Document Object Model -elementeille. Näiden merkkijonojen renderoinnissa on valtava ero. Erityisesti paras verkkokehitysyritys käyttää Blazor-koodeja eikä pääse suoraan asiakirjaobjektimallikoodeihin. Tämä rajoitus toimii eri tavalla ASP.NET-ytimessä ja Razorissa, koska ne riippuvat JavaScript-kehyksestä saadakseen täydellisen pääsyn interaktiivisten sovellusten käyttöliittymäelementteihin.
Blazorin lomakeskus saa puiden siirtymään takaisin aikaisempaan DOM (Document Object Model) -esitykseen ja etsimään saman mallin tiettyjä kappaleita. Myöhemmin tämä kehys päivittää, muokkaa tai poistaa ne vastaavasti. Kehys virtaviivaistaa asiakirjan malliin tehdyt muutokset tai käsittelee renderöintipuuta muutosten suorittamiseksi. Tämä mekanismi sallii C # -kielen toimia asiakaspuolen vuorovaikutteisten sovellusten hahmontamisessa. Asiakaspuolen Blazorin edut ovat
Blazor antaa verkkosivustojen kehittämispalveluille kehittäjille mahdollisuuden suorittaa ASP.NET-koodi suoraan selaimessa. Tämä kehys rikkoo myös JavaScript-kehyksen monopolin koko pinon alustalla, koska sen avun takia .NET-ammattilaisten ei tarvitse tulla ohjelmointipolygloteiksi. He voivat myös kehittää kokonaisia ratkaisuja kirjoittamatta koodeja JavaScriptiin
Blazor-käyttöliittymäkoodit kootaan ASP.NET-välikieleksi ja se tarkoittaa, että kehyksellä on sama potentiaali kuin JavaScript-koodilla. Sen kokoamismalli voi myös luoda valtavan eron suorituskykyä ohjaavien selainten verkkoratkaisuihin.
Kehittäjät voivat helposti vahvistaa koodin palvelimen tai asiakaspuolen sovellusten välillä. Otetaan esimerkiksi huomioon, että ASP.NET-kehityspalvelualustalla on validointilogiikka, jota voidaan käyttää sekä taustalla että selaimessa. Blazor antoi heille mahdollisuuden luoda luokkakirjasto ASP.NET-standardiin ja jakaa se palvelin- tai asiakaspuolen sovellusten kesken. Myös kaikki vahvistuslogiikan muutokset otetaan automaattisesti käyttöön kullakin näistä alustoista.
Blazor-palvelin
Tämä malli on yksi virallisesti tuetuista malleista tällä hetkellä, ja sen avulla sovellukset voivat helposti toimia palvelimella, mutta eivät selaimessa. Blazor Server käyttää SignalR-yhteyttä siirtääkseen käyttöliittymän päivitykset palvelimelta selaimeen. Tämä palvelinpalvelumalli on tällä hetkellä tuotannon valtion tukemassa vaihtoehdossa Microsoftin peruskehitykseen. Tämän mallin mukaan alustakeskeiset sovellukset toimivat palvelimella ja ASP.NET-ajonaikaisen version yläosassa. Kun kehittäjät tai käyttäjät lataavat tämän sovelluksen, ensin ladataan pieni JavaScript-tiedosto, joka muodostaa kaksisuuntaisen reaaliaikaisen yhteyden palvelimeen (SignalR-yhteys). Kaikki käyttäjän ja sovelluksen väliset vuorovaikutukset välittyvät välittömästi takaisin vastaavalle palvelimelle, jossa on yhteys palvelimen käsittelyä varten. Kun palvelin on valmis, käyttöliittymän päivitykset ja muutokset lähetetään takaisin samalle asiakkaalle ja sovelletaan asiakirjaobjektimalliin. Microsoft on kehittänyt tehokkaan algoritmin erotusten laskemiseksi ja siirtämiseksi kompaktina binaarimuodossa. Toisin kuin useimmat muut interaktiiviset verkkosovellukset, jotka yleensä käyttävät valtiotonta lähestymistapaa, Blazor-palvelinsovellusmallit pitävät samaa tilaa koko palvelimessa.
Kehittäjäyhteisölle se vaatii uudelleenkäsittelyä joissakin tapauksissa, mutta yleensä he voivat käyttää samankaltaisia käsitteitä kuin ASP.NET-ydinsovelluksissa. Tämän mallin suurin etu on, että sinun ei tarvitse kehittää toista sovellusohjelmointirajapintaa palvelimen ja asiakkaan väliseen viestintään. Tämä johtuu siitä, että jokainen osa toimii palvelimella, jotta mukautettu verkkokehitysyritys tai -kehittäjä voi kutsua nämä toiminnot suoraan logiikkansa mukaisesti. Palvelimen laskennallisten prosessien ansiosta Blazor Serverin interaktiiviset verkkoratkaisut sopivat täydellisesti alemman tason laitteisiin tai ohuisiin asiakkaisiin.
BlazorWebAss kokoonpano
Se on iso juttu siitä, että hosting-mallit saavat enemmän, mutta hyvistä syistä. Tämä malli tarjoaa suoran kilpailun JavaScript-interaktiivisten sovellusten kehittämiseen, kuten React, VueJS tai Angular. WebAssemblyn avulla kehittäjät voivat helposti kirjoittaa käyttöliittymälogiikkaa ja -koodeja C #: n avulla JavaScriptin sijaan. Kun Microsoft ilmoitti alun perin Blazorista, kyse oli täysin WebAssembly-malleista. Tämä malli antoi sovelluksen ladata ensin ajoaikamuodossa ja sen jälkeen se latasi koko sovelluskokoonpanon riippuvuuksiensa kanssa. BlazorWebAssemblyn riippuvuudet sisältävät kehyksen, System.dll: n jne., Mutta ajonaika on binaarimuodossa ja muut kokoonpanot ovat samassa muodossa, jotta kehittäjät voivat käyttää sitä tavallisessa ASP.NET-sovelluskehityksessä.
Blazor WebAssembly käyttää tulkkikoodia sovelluksen suorittamiseen tai lataamiseen, ja tässä tilassa tulkki voi suorittaa interaktiivisen sovelluksen käyttöliittymän. Ainoa osa tätä prosessia, joka on yhdistetty WebAssembly-tilassa, on sen mono-ajonaika. Sen suurin etu on suorituskyky ja kompromissi suurten tai suurten tiedostojen kanssa. Joitakin Blazorin WebAss kokoonpanon etuja ovat
se kokoaa staattiset tiedostot, mikä tarkoittaa, että kehittäjiä ei vaadita ottamaan huomioon palvelimen ASP.NET-ajonaikaa
Suurin osa Blazorin tehtävistä puretaan palvelimelta sen asiakkaille
Sovelluksia voidaan käyttää myös offline-tilassa tai tilassa
Se helpottaa koodin jakamista, jossa C # -komponentit voidaan jakaa tehokkaasti palvelimen ja asiakkaiden välillä
Yleensä ASP.NET-sovelluksissa käytetään juuri oikeaan aikaan-kääntäjää, mutta WebAssembly ei tue sitä äskettäin. Se voidaan kuitenkin lisätä standardin tulevaan versioon, mutta toistaiseksi toista käytetään ASP.NET-koodin suorittamiseen. Microsoftin liitännäisalusta kehittää suunnitelmia ja Ahead Of Time -kokoelmaa (AOT) kokoamaan sovelluksia tai kehyskokoonpanoja suoraan WebAssemble-palveluun. Tämä kokoelma johtaa tehokkaaseen vuorovaikutteiseen sovelluskehitysaikaan ja osoittautuu suoritussuuntautuneeksi ajon aikana.
Bottom Line
Tällä hetkellä, kun Blazorin .NET-kehitystyöhön liittyy jo paljon huomiota ja keskustelua, kehittäjillä on paljon valinnanvaraa. Tässä artikkelissa olemme käyneet läpi Microsoftin Blazorin, Severin, WebAssemblyen jne. Esittelyn ja keskeiset käsitteet. Olemme myös keskustelleet siitä, kuinka tämä kehys otetaan käyttöön tällä hetkellä interaktiivisen verkkosovelluksen kehittämiseksi ASP.NET-alustalla. Blazor on jännittävä alusta, ja sillä on laajempi parantamisen varaa etenkin kehityksen ja työkalujen suhteen.
Lisäksi WebAssembly on sen tärkein tekniikka, jota useimmat sovelluskehitysyritykset tai käyttöliittymäkehittäjät eivät voi yksinkertaisesti sivuuttaa. Tämä on erinomainen foorumi ASP.NET-ammattilaisille, jonka avulla he voivat käyttää sitä hyödyntääkseen täyden pinon kehittäjiä tarvitsematta oppia muita ohjelmointikieliä. Tämä foorumi tarjoaa selkeyden käyttöliittymän kehittämiselle yhdelle ohjelmointimallille, ja se on helppo oppia yhdessä kehyskomponenttien kanssa missä tahansa.