Programiranje

Kaj je .NET Framework? Microsoftov odgovor na Javo

Kaj je .NET Framework? Definiran .NET

 .NET je okvir za razvoj programske opreme in spremljevalni ekosistem orodij, jezikov in časa izvajanja, ki ga je ustvaril Microsoft za lažji razvoj aplikacij na različnih platformah, od namiznih računalnikov do mobilnih naprav. Čeprav .NET (izgovarja se pikasta mreža, in včasih zapisan kot .Net), je bil prvotno povezan z Microsoftovim lastniškim operacijskim sistemom Windows in platformami, ko je bil uveden v zgodnjih 00-ih, zdaj lahko .NET aplikacije pišemo za splet, MacOS, iOS, Android, Linux in še več - in .NET je formalni standard in je uradno na voljo kot odprtokodna.

Microsoft opisuje .NET kot "dosledno objektno usmerjeno programsko okolje, ne glede na to, ali se objektna koda shranjuje in izvaja lokalno, izvaja lokalno, a distribuira po internetu ali izvaja na daljavo." Cilj .NET-a je zagotoviti varno izvajanje kode, zagotoviti boljšo zmogljivost kot tolmačeni jeziki in zagotoviti usklajenost izkušenj razvijalcev v najrazličnejših aplikacijah. 

Glavne komponente .NET Framework

.NET Framework obstaja že skoraj 20 let in je bil deležen številnih sprememb, saj so bile komponente v tem času uvedene in kasneje zastarele. Trenutno obstajajo trije glavni sloji .NET:

  • Standardna knjižnica .NET vključuje komponente, ki bodo tvorile infrastrukturo za skoraj vsako aplikacijo, ki bi jo napisali - razrede in vrste, ki so v pomoč pri izvajanju vsakodnevnih nalog, kot so obravnavanje nizov in primitivov, ustvarjanje povezav z bazo podatkov, izvajanje V / I operacij itd. .
  • Neobvezno modeli aplikacij vsebujejo vodovodno kodo za različne platforme, kjer bi lahko uvedli svojo .NET aplikacijo. Obstajajo številni modeli aplikacij za aplikacije Windows (zapuščina tesne povezave .NET-a z nenehno razvijajočim se vodilnim OS-jem) in tudi za druge platforme: ASP.NET za spletne aplikacije, na primer, in modeli za Mac in različne mobilne platforme.
  • The skupna infrastruktura je osnovna plast komponent, ki omogočajo dejanski zagon celotnega ekosistema, od prevajalnikov do jezikov do izvajalnih komponent. Te so ključne za razumevanje, kaj ponuja .NET, zato jih bomo podrobneje preučili v naslednjih razdelkih. 

Kako deluje .NET Framework

Glavne komponente .NET Framework skupaj olajšajo postopek pisanja aplikacij. Standardni modeli knjižnic in aplikacij ponujajo veliko kode, s katero lahko obvladate osnovne programske naloge, tako da vam ni treba znova izumljati kolesa pri vsaki izdelani aplikaciji. In skupna infrastruktura skrbi za večino tehničnega dela pri uvajanju teh aplikacij.

Koda, napisana v katerem koli jeziku .NET (več o tem v trenutku), je prevedena v vmesni jezik bajt kod, imenovan Common Intermediate Language, ali CIL. Koda CIL ni berljiva za človeka, vendar jo je mogoče prenesti v operacijske sisteme in platforme. Nato CIL znova zbere Common Language Runtime, ali CLR. Izvedbe CLR so specifične za platformo in prevajajo kodo CIL v strojno berljivo kodo, ki jo je mogoče izvesti na trenutni platformi. Različne različice CLR podpirajo tako pravočasne kot tudi predčasne kompilacije.

V postopku ustvarjanja lokalne strojno berljive kode CLR obvladuje tudi veliko funkcionalnosti aplikacije na nizki ravni, na primer zbiranje smeti in navojev, kar je ključnega pomena za delovanje aplikacije, vendar je razvijalcem pogosto dolgočasno. CIL in CLR skupaj tvorita .NET Common Language Infrastructure (CLI, in ja, vemo, da so vse te okrajšave podobne in nekako zmedejo).

Vse to bi moralo zveni znano vsem, ki so delali s platformo Java, saj sledi isti osnovni paradigmi - velike razpoložljive knjižnice razredov, posredniška bajtoda in izvajalno okolje platforme, ki avtomatizira upravljanje pomnilnika, so vse značilnosti obeh ponudb. .NET je bil razvit v poznih devetdesetih letih, v začetnem razcvetu Jave, in je bil prvotno pozicioniran kot konkurent platformi Java Enterprise Edition; jezik Java in C #, prvi in ​​najvidnejši jezik .NET, izhajata iz jezika C in sta si pomensko podobna.

Kaj so .NET programski jeziki?

C #, ki je bil z veliko pompom napovedan ob uvedbi .NET-a leta 2000, je najbolj znan in pogosto uporabljen programski jezik .NET. Microsoft ga je razvil interno kot del pobude .NET, večina razredov v standardni knjižnici .NET pa je napisana v jeziku C #. Jezik je objektno naravnan in zasnovan tako, da je dovolj podoben C-ju, da je razvijalcem C, C ++, Java in JavaScript enostaven za hitro učenje in uporabo.

Microsoft trenutno v ospredju tudi dva druga programska jezika, ki ju je mogoče uporabiti za pisanje za .NET Framework. Eden je F #, funkcionalni programski jezik, ki je del jezikovne družine ML, ki ima na koncu korenine v LISP; drugi je Visual Basic, Microsoftov častitljiv, enostaven za učenje programski jezik za razvoj odjemalsko-strežniških aplikacij. Toda to je le vrh ledene gore: ker je .NET sestavljen iz odprtih standardov, lahko vsakdo napiše jezik, ki se prevede v bajtno kodo CIL in ga lahko izvede CLR. Wikipedia ima seznam več kot 20 trenutno vzdrževanih jezikovnih projektov CLI. Skoraj vsi predstavljajo vrata .NET obstoječih jezikov, od Pascala do JavaScript-a do celo COBOL-a.

Dejstvo, da lahko ta raznolikost jezikov sobiva znotraj .NET Framework, je ena od prednosti platforme. Ker se vsa koda prevede v bajtno kodo CIL, .NET v resnici ne zanima, v katerem jeziku jo pišete; jezik lahko izberete glede na lastne nastavitve, različne prednosti in slabosti posameznega jezika ali različne vidike .NET Framework, do katerega vam vsak jezik omogoča dostop (tukaj je nekaj različic). Kot smo že omenili, je bila večina standardne knjižnice napisana v jeziku C #, vendar vam to ne preprečuje dostopa do teh razredov iz kode, napisane v drugih jezikih CLI. Dejansko lahko komponente, napisane v različnih jezikih CLI, prosto delujejo v aplikaciji .NET.

.NET Framework v primerjavi z .NET Core (in novejšimi) 

Opazili boste, da v celotnem tem članku uporabljamo ».NET Framework« za sklicevanje na platformo na splošno. Natančno rečeno, to ni pravilno: Microsoft se s to besedno zvezo sklicuje na lastno dolgoletno izvajanje .NET Standard, ki se osredotoča izključno na Windows. V preteklosti so bile tudi druge izvedbe .NET; eden najbolj znanih je Mono, odprtokodna izvedba, ki je bila prvič izdana leta 2004 in je omogočila zagon aplikacij .NET v Linuxu. (Izdanje je sprožilo nekaj polemik, saj je bilo to obdobje, ko je bilo med Microsoftom in odprtokodno skupnostjo še vedno precej slabe krvi.) Mono je zdaj osnova platforme Xamarin, ki omogoča gradnjo .NET aplikacije za iOS, Android in MacOS ter Linux. Xamarin je začel življenje kot zamisel ustanoviteljev Mono, toda podjetje, ki so ga ustanovili za podporo projektu, je na koncu prevzel Microsoft.

Tretja večja .NET-ova implementacija Microsofta je .NET Core, medplatformna izvedba .NET Standarda, ki je bila izdana kot odprtokodna v letu 2016. .NET Core je bil zgrajen na novo in odstranil nekaj nakopičenih ostankov v .NET Framework, čeprav je imel tudi vse funkcije. Razpoložljivost več različic .NET Standard, vse od Microsofta, je razumljivo nekoliko zmedeno. Leta 2017 se je kolumnist Simon Bisson spopadel z vprašanjem, katero izvedbo je treba uporabiti v katerem kontekstu.

A to se bo v ne tako oddaljeni prihodnosti vse spremenilo. Novembra 2020 namerava Microsoft združiti tri izvedbe .NET kot .NET 5. .NET 5 bo v bistvu naslednja generacija .NET Core, vanj pa bo vgrajenih veliko komponent iz .NET Framework in Xamarin. Številni API-ji .NET Framework pa se ne bodo odpravili na .NET 5. Cilj te poenostavitve je poenostaviti razvijalce in usmeriti Microsoftova lastna prizadevanja.

Kakšen .NET Framework imam?

Od tega pisanja pa je to več kot eno leto počitka. Trenutna različica .NET Framework je 4.8; trenutna različica .NET Core je 3.0. Microsoft ima stran z navodili, kako lahko izveste, katera različica .NET Framework je trenutno nameščena v vašem računalniku.

Za kaj se uporablja .NET? 

Torej vse to vam daje veliko kaj in kako; toda tisto, kar se morda še vedno sprašujete, je zakaj Zakaj uporabljati .NET Framework? V spletnem dnevniku Altexsoft je dobro razčlenjeno .NET prednosti in slabosti. Pozitivno je, da .NET ponuja objektno usmerjen programski model z zanesljivim in preprostim sistemom predpomnjenja in zrelim IDE ter omogoča prilagodljivo uvajanje in enostavno vzdrževanje. Poleg tega narava .NET med različnimi platformami omogoča prenos kode na številne različne končne točke. .NET je najprimernejši, če gradite večplastne aplikacije na infrastrukturah podjetja, ki jih želite razširiti, ne da bi jih bilo treba popolnoma obnoviti.

Prenesite .NET Framework

Ste pripravljeni začeti eksperimentirati s .NET? Prenesite .NET Framework (za Windows) ali .NET Core (za Windows, Linux ali MacOS) z Microsoftovega spletnega mesta; Na voljo so tudi slike Dockerja. Xamarin za iOS in Android najdete na GitHub. Veselo raziskovanje!

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