Programmering

Hva er .NET Framework? Microsofts svar på Java

Hva er .NET Framework? .NET definert

 .NET er et rammeverk for programvareutvikling - og et tilhørende økosystem med verktøy, språk og kjøretider - laget av Microsoft for å lette applikasjonsutviklingen på tvers av forskjellige plattformer, fra stasjonære maskiner til mobile enheter. Selv om .NET (uttalt dot net, og noen ganger skrevet som .Net) var opprinnelig knyttet til Microsofts proprietære Windows-operativsystem og plattformer da det ble lansert på begynnelsen av 00-tallet. .NET-applikasjoner kan nå skrives for nettet, MacOS, iOS, Android, Linux og mer - og .NET er en formell standard og offisielt tilgjengelig som åpen kildekode.

Microsoft beskriver .NET som "et konsistent objektorientert programmeringsmiljø, enten objektkode lagres og kjøres lokalt, kjøres lokalt, men internett distribueres eller kjøres eksternt." NET har som mål å gi sikker kjøring av kode, å gi bedre ytelse enn tolket språk, og å gjøre utvikleropplevelsen konsistent i et bredt utvalg av apper. 

Hovedkomponenter i .NET Framework

.NET Framework har eksistert i nesten 20 år, og har gjennomgått mange endringer, med komponenter som blir rullet ut og senere avviklet over den tiden. For øyeblikket er det tre hovedlag til .NET:

  • .NET standardbiblioteket inkluderer komponentene som vil danne infrastrukturen for omtrent alle applikasjoner du vil skrive - klasser og typer som er nyttige for å utføre daglige oppgaver som å håndtere strenger og primitiver, opprette databaseforbindelser, utføre I / O-operasjoner og så videre .
  • Valgfri app-modeller inneholder VVS-kode for de forskjellige plattformene der du kan distribuere .NET-applikasjonen. Det finnes en rekke appmodeller for Windows-applikasjoner (en arv fra .NETs nære tilknytning til Microsofts stadig utviklende flaggskip OS) og for andre plattformer også: ASP.NET for webapplikasjoner, for eksempel, og modeller for Mac og forskjellige mobile plattformer.
  • De felles infrastruktur er baselaget med komponenter som gjør at hele økosystemet faktisk kan utføres i praksis, fra kompilatorer til språk til kjøretidskomponenter. Disse er avgjørende for å forstå hva .NET har å tilby, så vi ser nærmere på dem i de neste avsnittene. 

Hvordan .NET Framework fungerer

Hovedkomponentene i .NET Framework jobber sammen for å gjøre prosessen med å skrive applikasjoner enklere. Standardbiblioteket og appmodellene gir mye kode for å håndtere grunnleggende programmeringsoppgaver for deg, slik at du ikke trenger å finne opp hjulet på nytt med hvert program du bygger. Og den vanlige infrastrukturen tar seg av mye av scut-arbeidet med å distribuere disse applikasjonene.

Kode skrevet på hvilket som helst av .NET-språkene (mer om et øyeblikk) blir samlet til et mellomliggende bytekodespråk kalt Common Intermediate Language, eller CIL. CIL-kode er ikke lesbar for mennesker, men kan porteres på tvers av operativsystemer og plattformer. CIL blir deretter samlet igjen av Common Language Runtime, eller CLR. CLR-implementeringer er plattformsspesifikke, og de kompilerer CIL-kode til maskinlesbar kode som kan utføres på øyeblikkets plattform. Ulike CLR-versjoner støtter både rettidige og tidlige kompileringer.

I prosessen med å lage lokal maskinlesbar kode, klarer CLR også mange applikasjonsfunksjoner på lavt nivå, for eksempel søppelinnsamling og tråding, som er avgjørende for appytelse, men ofte kjedelig for utviklere å håndtere. Sammen utgjør CIL og CLR .NET Common Language Infrastructure (CLI, og ja, vi vet at alle disse forkortelsene er like og forvirrende).

Alt dette skal høres kjent ut for alle som har jobbet med Java-plattformen, ettersom det følger det samme grunnleggende paradigmet - de store tilgjengelige klassebibliotekene, den mellomliggende bytekoden og den plattformsspesifikke kjøretiden som automatiserer minnestyring, er alle funksjonene i begge tilbudene. .NET ble utviklet på slutten av 90-tallet, under den første storhetstiden til Java, og var opprinnelig posisjonert som en konkurrent til Java Enterprise Edition-plattformen; Java-språket og C #, det første og mest fremtredende .NET-språket, kommer begge fra C og er semantisk like.

Hva er .NET programmeringsspråk?

C #, kunngjort med stor fanfare ved lanseringen av .NET i 2000, er det mest kjente og mest brukte .NET-programmeringsspråket. Den ble utviklet internt av Microsoft som en del av .NET-initiativet, og de fleste klassene i .NET-standardbiblioteket er skrevet i C #. Språket er objektorientert og er designet for å være lik nok C til å være enkelt for C, C ++, Java og JavaScript-utviklere å raskt lære og bruke.

Microsoft forgrunner for tiden også to andre programmeringsspråk som kan brukes til å skrive for .NET Framework. Den ene er F #, et funksjonelt programmeringsspråk som er en del av ML-språkfamilien som til slutt har røtter i LISP; den andre er Visual Basic, Microsofts ærverdige, lettlærde programmeringsspråk for utvikling av klientserverapplikasjoner. Men dette er bare toppen av isfjellet: Fordi .NET er sammensatt av åpne standarder, kan hvem som helst skrive et språk som kompileres til CIL bytecode og kan utføres av CLR. Wikipedia har en liste over mer enn 20 CLI-språkprosjekter som for tiden er vedlikeholdt. Nesten alle av dem representerer .NET-porter på eksisterende språk, fra Pascal til JavaScript til og med COBOL.

Det faktum at dette mangfoldet av språk kan eksistere sammen i .NET Framework er en av plattformens styrker. Fordi koden blir samlet til CIL bytecode, bryr .NET seg egentlig ikke hvilket språk du skriver den på; Du kan velge et språk basert på dine egne preferanser, de forskjellige styrkene og svakhetene til hvert språk, eller de forskjellige aspektene av .NET Framework hvert språk gir deg tilgang til (det er noen variasjoner her). Som nevnt, var det meste av standardbiblioteket skrevet i C #, men det hindrer deg ikke i å få tilgang til disse klassene fra kode skrevet på andre CLI-språk. Faktisk kan komponenter skrevet på forskjellige CLI-språk fritt samarbeide på tvers av et .NET-program.

.NET Framework versus .NET Core (og utover) 

Du vil merke at vi har brukt “.NET Framework” gjennom denne artikkelen for å referere til plattformen generelt. Strengt tatt er det ikke riktig: Microsoft bruker denne setningen for å referere til sin egen langvarige implementering av .NET Standard, som utelukkende fokuserer på Windows. Historisk har det vært andre implementeringer av .NET; en av de mest kjente er Mono, en åpen kildekode-implementering som først ble utgitt i 2004 som gjorde det mulig å kjøre .NET-applikasjoner på Linux. (Utgivelsen ga opphav til noe kontrovers, da dette var tiden da det fremdeles var ganske mye dårlig blod mellom Microsoft og open source-fellesskapet.) Mono utgjør nå basen til Xamarin-plattformen, som gjør det mulig å bygge. NET applikasjoner for iOS, Android og MacOS samt Linux. Xamarin begynte livet som hjernebarnet til grunnleggerne av Mono, men selskapet de grunnla for å støtte prosjektet ble til slutt kjøpt opp av Microsoft.

Den tredje store .NET-implementeringen fra Microsoft er .NET Core, en plattformimplementering av .NET Standard som ble utgitt som åpen kildekode i 2016. NET Core ble bygget frisk fra grunnen av og fjernet noe av cruft som hadde samlet seg. i .NET Framework, selv om det også manglet hele spekteret av funksjoner. Å ha flere versjoner av .NET Standard, alle fra Microsoft, er forståelig nok noe forvirrende. I 2017 slet spaltist Simon Bisson med spørsmålet om hvilken implementering som skulle brukes i hvilke sammenhenger.

Men alt dette vil endres i en ikke så fjern fremtid. I november 2020 har Microsoft til hensikt å forene de tre .NET-implementeringene som .NET 5.. NET 5 vil i det vesentlige være neste generasjon av. NET Core, med mange komponenter fra. NET Framework og Xamarin rullet inn i den. Imidlertid vil en rekke .NET Framework API-er ikke ta turen til. NET 5. Tiltaket tar sikte på å forenkle ting for utviklere og fokusere Microsofts egen innsats.

Hvilket .NET Framework har jeg?

I skrivende stund er det imidlertid mer enn et års fri. Den siste .NET Framework-versjonen er 4.8; den nåværende versjonen av .NET Core er 3.0. Microsoft har en side med instruksjoner om hvordan du kan lære hvilken versjon av .NET Framework som for øyeblikket er installert på datamaskinen din.

Hva brukes .NET til? 

Så alt som gir deg mye hva og hvordan; men det du fortsatt lurer på er Hvorfor. Hvorfor bruke .NET Framework? Altexsoft-bloggen har en god oversikt over .NET fordeler og ulemper. På den positive siden gir .NET en objektorientert programmeringsmodell med et pålitelig og enkelt caching-system og moden IDE, og det muliggjør fleksibel distribusjon og enkelt vedlikehold. I tillegg tillater .NET plattformen at kode kan porteres til mange forskjellige typer sluttpunkter. .NET er mest hensiktsmessig hvis du bygger apper på tvers av plattformer på infrastrukturer i bedriftsskala som du vil kunne skalere opp uten å måtte endre verktøyet helt.

Last ned .NET Framework

Klar til å begynne å eksperimentere med .NET? Last ned .NET Framework (for Windows) eller .NET Core (for Windows, Linux eller MacOS) fra Microsofts nettsted; Docker-bilder er også tilgjengelige. Du finner Xamarin for iOS og Android på GitHub. Glad å utforske!

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