Programmering

Hvad er .NET Framework? Microsofts svar på Java

Hvad er .NET Framework? .NET defineret

 .NET er en softwareudviklingsramme - og et ledsagende økosystem med værktøjer, sprog og driftstider - oprettet af Microsoft for at lette applikationsudvikling på tværs af forskellige platforme, fra desktops til mobile enheder. Skønt .NET (udtalt dot net, og undertiden skrevet som .Net) var oprindeligt knyttet til Microsofts proprietære Windows-operativsystem og platforme, da det blev lanceret i begyndelsen af ​​00'erne. .NET-applikationer kan nu skrives til internettet, MacOS, iOS, Android, Linux og mere— og .NET er en formel standard og officielt tilgængelig som open source.

Microsoft beskriver .NET som "et konsistent objektorienteret programmeringsmiljø, hvad enten objektkode er gemt og udført lokalt, udført lokalt, men internetdistribueret eller udført eksternt." .NET sigter mod at sikre sikker udførelse af kode, at levere bedre ydeevne end fortolkede sprog og at gøre udvikleroplevelsen konsistent på tværs af en bred vifte af apps. 

Hovedkomponenter i .NET Framework

.NET Framework har eksisteret i næsten 20 år og har gennemgået mange ændringer, hvor komponenter er rullet ud og senere afskaffet i løbet af den tid. I øjeblikket er der tre hovedlag til .NET:

  • .NET-standardbiblioteket inkluderer de komponenter, der danner infrastrukturen til næsten enhver applikation, du skriver - klasser og typer, der er nyttige til at udføre daglige opgaver som at håndtere strenge og primitiver, oprette databaseforbindelser, udføre I / O-operationer og så videre .
  • Valgfri app-modeller indeholder VVS-kode til de forskellige platforme, hvor du kan installere din .NET-applikation. Der er en række app-modeller til Windows-applikationer (en arv fra .NET's tætte tilknytning til Microsofts stadigt udviklende flagskibs OS) og til andre platforme også: ASP.NET til webapplikationer, for eksempel, og modeller til Mac og forskellige mobile platforme.
  • Det fælles infrastruktur er det grundlæggende lag af komponenter, der gør det muligt for hele økosystemet faktisk at udføre i praksis, fra compilers til sprog til runtime-komponenter. Disse er afgørende for at forstå, hvad .NET har at tilbyde, så vi ser nærmere på dem i de næste sektioner. 

Sådan fungerer .NET Framework

Hovedkomponenterne i .NET Framework arbejder sammen for at gøre processen med at skrive applikationer lettere. Standardbiblioteket og app-modellerne giver en masse kode til at håndtere grundlæggende programmeringsopgaver for dig, så du ikke behøver at genopfinde hjulet med hver applikation, du bygger. Og den fælles infrastruktur tager sig af meget af scut-arbejdet med at implementere disse applikationer.

Kode skrevet på et hvilket som helst af .NET-sprogene (mere om et øjeblik) er samlet til et mellemliggende bytecode-sprog kaldet Common Intermediate Language, eller CIL. CIL-kode kan ikke læses af mennesker, men kan overføres på tværs af operativsystemer og platforme. CIL kompileres derefter igen af ​​Common Language Runtime, eller CLR. CLR-implementeringer er platformsspecifikke, og de kompilerer CIL-kode til maskinlæsbar kode, der kan udføres på øjeblikket. Forskellige CLR-versioner understøtter både just-in-time og tidlige kompileringer.

I processen med at oprette lokal maskinlæsbar kode administrerer CLR også mange applikationsfunktioner på lavt niveau, såsom skraldopsamling og trådning, der er afgørende for appens ydeevne, men ofte kedeligt for udviklere at håndtere. Sammen udgør CIL og CLR .NET Common Language Infrastructure (CLI, og ja, vi ved, at alle disse forkortelser er ens og forvirrende).

Alt dette skal lyde velkendt for alle, der har arbejdet med Java-platformen, da det følger det samme grundlæggende paradigme - de store tilgængelige klassebiblioteker, den mellemliggende bytecode og den platformsspecifikke kørselstid, der automatiserer hukommelsesadministration, er alle funktioner i begge tilbud. .NET blev udviklet i slutningen af ​​90'erne under Java's første storhedstid og var oprindeligt positioneret som en konkurrent til Java Enterprise Edition-platformen; Java-sproget og C #, det første og mest fremtrædende .NET-sprog, stammer begge fra C og er semantisk ens.

Hvad er .NET-programmeringssprog?

C #, der blev annonceret med stor fanfare ved .NET's lancering i 2000, er det mest berømte og udbredte .NET-programmeringssprog. Det blev udviklet internt af Microsoft som en del af .NET-initiativet, og de fleste klasser i .NET-standardbiblioteket er skrevet i C #. Sproget er objektorienteret og er designet til at være ens nok til C til at være let for C-, C ++-, Java- og JavaScript-udviklere til hurtigt at lære og bruge.

Microsoft foregår i øjeblikket også to andre programmeringssprog, der kan bruges til at skrive til .NET Framework. Den ene er F #, et funktionelt programmeringssprog, der er en del af ML-sprogfamilien, der i sidste ende har rødder i LISP; den anden er Visual Basic, Microsofts ærværdige, nemme at lære programmeringssprog til udvikling af klientserver-applikationer. Men disse er kun toppen af ​​isbjerget: Da .NET er sammensat af åbne standarder, kan enhver skrive et sprog, der kompileres til CIL-bytecode og kan udføres af CLR. Wikipedia har en liste over mere end 20 i øjeblikket vedligeholdte CLI-sprogprojekter. Næsten alle dem repræsenterer .NET-porte på eksisterende sprog, fra Pascal til JavaScript til endda COBOL.

Det faktum, at denne mangfoldighed af sprog kan eksistere sammen inden for .NET Framework, er en af ​​platformens styrker. Da koden alt sammen kompileres til CIL bytecode, er .NET ligeglad med hvilket sprog du skriver den på; du kan vælge et sprog baseret på dine egne præferencer, de forskellige styrker og svagheder på hvert sprog eller de forskellige aspekter af .NET Framework, hvert sprog giver dig adgang til (der er nogle variationer her). Som nævnt blev det meste af standardbiblioteket skrevet i C #, men det forhindrer dig ikke i at få adgang til disse klasser fra kode skrevet på andre CLI-sprog. Faktisk kan komponenter skrevet på forskellige CLI-sprog frit interagere på tværs af en .NET-applikation.

.NET Framework versus .NET Core (og derover) 

Du vil bemærke, at vi har brugt ".NET Framework" i hele denne artikel til at henvise til platformen generelt. Strengt taget er det ikke korrekt: Microsoft bruger denne sætning til at henvise til deres egen mangeårige implementering af .NET Standard, der udelukkende fokuserer på Windows. Der har historisk været andre implementeringer af .NET; en af ​​de mest berømte er Mono, en open source-implementering, der først blev udgivet i 2004, der gjorde det muligt at køre .NET-applikationer på Linux. (Udgivelsen gav anledning til kontrovers, da dette var den æra, hvor der stadig var en hel del dårligt blod mellem Microsoft og open source-samfundet.) Mono danner nu basen for Xamarin-platformen, hvilket gør det muligt at opbygge .NET applikationer til iOS, Android og MacOS samt Linux. Xamarin begyndte livet som hjernebarnet for grundlæggerne af Mono, men det firma, de grundlagde for at støtte projektet, blev i sidste ende erhvervet af Microsoft.

Den tredje store .NET-implementering fra Microsoft er .NET Core, en implementering på tværs af platforme af .NET Standard, der blev frigivet som open source i 2016. NET Core blev bygget frisk fra bunden og fjernet noget af den krypt, der var akkumuleret. i .NET Framework, selvom det også manglede hele spektret af funktioner. At have flere versioner af .NET Standard, alle fra Microsoft, er forståeligt nok noget forvirrende. I 2017 kæmpede spaltist Simon Bisson med spørgsmålet om, hvilken implementering der skulle bruges i hvilke sammenhænge.

Men alt dette vil ændre sig i en ikke så fjern fremtid. I november 2020 har Microsoft til hensigt at samle de tre .NET-implementeringer som. NET 5.. NET 5 vil i det væsentlige være den næste generation af. NET Core med mange komponenter fra. NET Framework og Xamarin rullet ind i den. Imidlertid tager en række .NET Framework API'er ikke turen til .NET 5. Flytningen sigter mod at forenkle ting for udviklere og fokusere Microsofts egen indsats.

Hvilket .NET Framework har jeg?

Fra denne skrivning er det dog mere end et års fri. Den aktuelle .NET Framework-version er 4.8; den aktuelle version af .NET Core er 3.0. Microsoft har en side med instruktioner om, hvordan du kan lære, hvilken version af .NET Framework der i øjeblikket er installeret på din computer.

Hvad bruges .NET til? 

Så alt det giver dig en hel del hvad og hvordan; men hvad du måske stadig undrer dig over, er hvorfor. Hvorfor bruge .NET Framework? Altexsoft-bloggen har en god oversigt over .NET-fordele og ulemper. På den positive side giver .NET en objektorienteret programmeringsmodel med et pålideligt og simpelt caching-system og en moden IDE, og det giver mulighed for fleksibel implementering og nem vedligeholdelse. Derudover tillader den. Platforms karakter af .NET, at kode overføres til mange forskellige slags slutpunkter. .NET er mest passende, hvis du bygger applikationer på tværs af platforme på infrastrukturer i virksomhedsskala, som du vil være i stand til at skalere uden at skulle genstudere helt.

Download .NET Framework

Klar til at begynde at eksperimentere med .NET? Download .NET Framework (til Windows) eller .NET Core (til Windows, Linux eller MacOS) fra Microsofts websted; Docker-billeder er også tilgængelige. Du kan finde Xamarin til iOS og Android på GitHub. Glad udforskning!