Ohjelmointi

Ymmärtäminen .NET MAUI ja Xamarinin tulevaisuus

Vuonna 2000 Microsoftin Professional Developers -konferenssissa pyrittiin luomaan .NET -ympäristö näyttämään monia tekniikoita, joita olemme käyttäneet viimeisen kahden vuosikymmenen aikana. Kaksikymmentä vuotta myöhemmin on oikeudenmukaista sanoa, että Microsoft on painanut nollauspainiketta .NET: n ja sen monien kehittäjäkehysten leviämisessä. Build 2020 -yrityksessä yritys määritteli etenemissuunnitelmansa seuraaville 20 vuodelle Project Reunion -ilmoituksensa pohjalta.

Tulevaisuus on yksi .NET

On mahdollista katsoa noin kuusi vuotta taaksepäin nähdäksesi tämän päivän juuret avoimen .NET-hankinnan ja .NET -säätiön luomisessa. Alusta tarvitsi itsenäisen elimen paimentamaan sitä siirtymällä vanhasta .NET Frameworkista uuteen, vanhasta, modulaariseen .NET Coreiin. Siirtymän piti sisältää enemmän kuin Windows; sen täytyi tuoda mukanaan Xamarinin mobiiliasiakkaat ja Unityn 3D-pelialustat sekä pyrkiä laajentamaan .NET: n ulottuvuutta macOSiin ja Linuxiin.

Tämä vie meidät vuoteen 2020 ja tulevaan siirtymiseen ikääntyvästä .NET Framework 4: stä uuteen .NET 5: een, seuraavaan suureen .NET Core -julkaisuun, jossa on suurin osa tutuista .NET Framework -sovellusliittymistä ja nimitiloista. Muutoksen myötä Microsoftin mobiilien ja alustojen välisten Xamarin-kehitystyökalujen suuret muutokset alkavat, kun Microsoft siirtää suunnitteluprosessin pois Xamarinin Monosta .NET 5: een.

Monon ja .NETin yhdistäminen .NET 6: een

Yksi asia on selvä: Microsoft ei heitä pois sekä omia että investointejasi Xamariniin. Mono ei ole vielä menossa mihinkään. Mono suurta projektia riippuu Monosta, ja näemme Xamarinin kehittyvän edelleen Mono-ohjelmana tukemaan uusia Android- ja iOS-julkaisuja. Mutta jos haluat uusia ominaisuuksia ja uusia sovellusliittymiä sekä laajemman alustojen välisen kehitysmallin, tuleva kehitysstrategiasi perustuu .NET 5: een ja käynnissä olevaan vuotuiseen .NET-julkaisuaikatauluun. Täydellinen, yhtenäinen .NET on vielä kaukana, ja vaikka .NET 5 onkin merkittävä edistysaskel, yhdistyminen tapahtuu vasta vuoden 2021 lopulla ja seuraavan pitkäaikaisen tukijulkaisun, .NET 6, suunniteltu julkaisu.

Tarkoitus ei ole korvata Monoa kokonaan, mutta sillä on yksi yhteinen sarja kirjastoja ja yksi työkaluketju .NET Core- ja Mono-ohjelmille, perustuen työhön, jota jo tapahtuu alustatason ominaisuuksissa, kuten .NET Standard kirjastot. Tämä jättää kiehtovan kysymyksen: miltä alustojen välinen käyttöliittymä näyttää lähentyneessä tulevaisuudessa? Vaikka Uno Platformin WinUI 3 -portissa on monitasoinen vaihtoehto, mobiililaitteiden tuki WebAssemblyn ja macOS: n ohella, Microsoftin WinUI: ssa toimittamat ohjaimet ovat Windowsin työpöydän ohjaimia, ja ne toimivat parhaiten pöytä- ja tablet-sovelluksissa.

Kehittäminen .NET-alustojen välisestä käyttöliittymäkehyksestä

Xamarin tarjoaa vaihtoehdon WinUI: lle alustojen väliseen kehitykseen. Sen alustojen välinen strategia perustuu yhdistelmään XAML-tukea sekä iOS: n että Androidin natiiville ohjauksille omien cross-platform Xamarin Formsin rinnalla. Xamarin Forms on itsenäinen MVVM (model-view-viewmodel) -kehitysympäristö, jolla on oma ohjattava ilme ja tuntuma Androidin Material Design -kieleen perustuen. Xamarin Forms antaa iOS- ja Android-sovelluksille yhtenäisen ilmeen ja tunnelman samalla, kun heille annetaan pääsy alkuperäisiin ominaisuuksiin ja palveluihin.

XNETIN 6: n, jonka tarkoituksena on yhdistää eri .NET-alustat, Xamarin Forms on looginen perusta uudelle mobiilikäyttöliittymän työkalupaketille ja uudelle alustojenväliselle käyttöliittymäkehykselle .NET: lle. Microsoft paljasti tämän uuden lähestymistavan Build 2020 -ohjelmassa kutsumalla sitä .NET Multiplatform App UI: ksi (MAUI).

.NET MAUI on seuraavan sukupolven Xamarin Forms, jonka avulla kehittäjät voivat rakentaa sovelluksen kerran yhdessä Visual Studio -projektissa yhdellä kooditukikohdalla ja kohdistaa mihin tahansa tuettuun laitteeseen. Tavoitteena on tuottaa yksinkertaistettu projektirakenne. Sen sijaan, että yksittäinen ratkaisu, jolla on erilliset projektit kullekin kohdealustalle, johon kohdistat, MAUI: n kanssa yksi projekti sisältää resurssit, joita tarvitaan tiettyjen alustojen kohdentamiseen. Jos tarvitset natiivia sovellusliittymiä laitekohtaisten palveluiden käyttämiseen, ne voidaan niputtaa alustanäkymässä ja käyttää kokoamisajankohtana kohdistaessaan kullekin alustalle rakennuksia. Alustakoodin ohella voit niputtaa resursseja, joita XAML käyttää, mukaan lukien kuvat ja kirjasimet, jolloin sinulla on yksi paikka hallita sovelluksesi kaikkia elementtejä.

.NET 6: n mukana tuleva uusi projektimalli on avain tähän lähestymistapaan, koska se soveltaa loogisempaa ryhmittelyä alustojen välisissä sovelluksissa käytettäviin moduuleihin sekä siihen, miten koodi rakennetaan ja otetaan käyttöön. Huolimatta rakenteellisista muutoksista projekteissa, huomenna kirjoittamasi koodin pitäisi olla hyvin samanlainen kuin nykyinen, mutta helpompi ottaa käyttöön useilla alustoilla ja pitää ajan tasalla alustan sovellusliittymien ja sovellusten suunnitteluresurssien muutoksilla.

Tie .NET MAUI -palveluun

Olemme vielä kuukausia poissa käyttökelpoisen .NET MAUI -koodin näyttämisestä, koska se riippuu .NET 6 SDK -ominaisuuksista, vaikka GitHub-arkisto on jo avoinna joillakin alkuperäisillä toteutuksilla. Kun esikatselu lähetetään vuoden 2020 loppupuolella, saamiemme tietojen on oltava melko samanlaisia ​​kuin nykyiset Xamarin-lomakkeet, joita kehitetään edelleen rinnakkain .NET MAUI -palvelun kanssa. Tärkeimmät muutokset koskevat projektin jäsentämistä. Uusi nimitila siirtyy Xamarinin omasta nimiavaruudesta .NET: n järjestelmään.

.NET MAUI: n julkaistu etenemissuunnitelma ehdottaa, että aluksi saamme esikatselurakenteen, joka perustuu nykyisen Xamarin Forms -julkaisun uudelleennimeämiseen, ja joitain yksinkertaistuksia ja uusia ominaisuuksia .NET 6: n uusista ominaisuuksista. Lisää muutoksia tapahtuu vuoden 2021 aikana, kun .NET MAUI ja .NET 6 kehittyvät, kun macOS- ja Windows-ohjaimet liittyvät Androidiin ja iOS: iin kesään 2021 mennessä. Sinun pitäisi pystyä toimittamaan yhtenäiset sovellukset aiottuun marraskuuhun 2021 mennessä. Syyskuu 2021.

Microsoft suunnittelee muita muutoksia Xamariniin .NET 6 -aikakehyksessä, muiden Xamarin-kirjastojen siirtämisen Järjestelmään ja Xamarin.iOS: n ja Xamarin.Androidin uudelleennimeämisen .NET iOS: lle ja .NET Androidille. Se on looginen liike, joskin hieman surullinen niille meistä, jotka olemme seuranneet Xamarinin kehitystä Monon alkuaikoista lähtien.

Ehkä myönteisempi ajattelutapa on se, että siirtymällä alustojen väliseen .NET Core -ohjelmaan kaiken kaiken .NET-perustana, ei niinkään Microsoft absorboi Xamarinia, koska Xamarinista tulee .NET: n avoimen lähdekoodin tulevaisuuden sydän. . Se on hyvä perintö Mono-projektille.

$config[zx-auto] not found$config[zx-overlay] not found