.NET Core vs. NET Framework

Pilk Microsofti avatud lähtekoodiga maailma

Tere! Siin on meie uus postitus .NET Core kohta. Eelmises postituses nägime testimist .NET Core 2.0-s.

Selles postituses tutvustame mõningaid olulisi erinevusi .NET Core ja .NET Framework vahel, et mõista peamisi muudatusi nende vahel, kuidas Microsoft selle tehnoloogia lõi, ja asju, mida tuleks kaaluda, kuidas migreeruda .NET Frameworkilt .NET Core. Teeme ära!

Isiklik projekti kogemus

Woloxis töötame koos .NET Core'iga, kuna see võimaldab meil kasutada
C #, saadavalolev suur arv .NET-tööriistu ja pilve jaoks mõeldud avatud lähtekoodiga keele kasutamise mitmekülgsus. Praegu on meil mitu projekti, kus tehnoloogia kasutamine tõi nende edu.

Microsofti pinu

See on Microsofti tehnoloogiapakkide arhitektuur, mis koosneb kolmest arenduse juurutamisest (.NET Framework, .NET Core ja Mono) koos neile kõigile ühise API spetsifikatsiooniga, mida nimetatakse .NET Standardiks.

microsoft .net standard

.NET-raamistiku ja .NET-tuuma erinevused

.NET Framework on traditsiooniline .NET-platvorm. See on monoliitne (peate installima kogu selle aluse või te ei saa seda kasutada) ning see võimaldab luua konsooli-, töölaua-, veebi- ja mobiilirakendusi. Need rakendused töötavad ainult Windowsis.

.NET Core on uue põlvkonna .NET-tehnoloogia. Erinevalt traditsioonilisest versioonist põhineb ja arendab .NET Core järgmisi eesmärke silmas pidades:

  • Kergem ja modulaarsem: see võimaldab meie rakendusel pakkuda ainult seda, mida vajame, ilma kogu .NET-i komplekti installimata.
  • Mitmeplatvormiline: meie loodud rakendused töötavad Windowsis, Linuxis ja MacOS-is.
  • Suure jõudlusega.

.NET-rakenduste migreerimine uude .NET-tuuma. Kas seda saab teha?

Vaatame erinevat tüüpi rakendusi ja seda, kui keeruline on igal juhul rännata. Seal on kolm peamist rühma:

Veebirakendused:

  • ASP.NET MVC-s on Backendi ja Frontendi rakenduste jaoks migreerimine lihtne.
  • Veebivorme kasutavate Frontendi rakendustega pole see teostatav. Sel juhul peate seda tegema nullist.

Rakendused, mis on loodud opsüsteemile Windows 8/10:

  • Kui rakendus kasutab universaalset platvormi, pole migreerimine vajalik.
  • Silverlightil põhinevate rakenduste puhul on migratsioon väga lihtne.
  • Kui need on WPF-il põhinevad töölauarakendused, on migreerimine keeruline.
  • See pole veebivormidega rakenduste jaoks teostatav.

Konsoolirakendus:

  • See sõltub palju rakendusest endast ja kasutatavatest raamatukogudest. Need võivad olla keskmise kuni raske raskusega.

Samuti on rida olulisi küsimusi, mis võivad aidata kindlaks teha, millises ulatuses saab projekti siirdada .NET Core-i:

  • Kas rakendused kasutavad peamise programmeerimiskeelena C #?
  • Kas nad kasutavad projekti ".csproj" failivormingut? Millised teegid on nendel / nendel failidel? Kas need raamatukogud on .NET Core jaoks saadaval?
  • Kas kasutatakse väliseid teenuseid? Milline?
  • Kas projekt kasutab kasutajate haldamiseks liikmelisuse pakkuja teenuseid?

Millal peaksin kasutama .NET Core'i?

Saame määratleda 6 tüüpilist stsenaariumi, kus .NET Core on hea alternatiiv:

  1. Kui vajame mitmeplatvormilist rakendust, see töötab mitmes operatsioonisüsteemis.
  2. Kui peame looma rakendusi, mis põhinevad mikroteenuste arhitektuuril.
  3. Kui vajame suure jõudlusega vajadustega skaleeritavaid süsteeme.
  4. Kui peame arendama käsuridarakenduste arendusi, mis töötavad Windowsis, Macis ja Linuxis.
  5. Kui me peame kasutama samas projektis mitut .NET versiooni “kõrvuti”.
  6. Kui vajame universaalseid Windows 10 rakendusi (UWP), mille tagaküljel on .NET Core.

Jätkusuutlikkus aja jooksul

Täna on .NET Core-l tohutu kogukond, mida ajendab avatud lähtekoodiga tehnoloogiate kasutamine ja vinge GitHubi kogukond. Praegu (detsember 2018) .NET Core on saadaval versioonides 2.1.6 ja 2.2 (teatati üsna hiljuti). Sel hetkel on see funktsionaalsusega varustatud stabiilne tehnoloogia, mis võimaldab meil luua suure läbilaskevõimega ja mitme platvormiga rakendusi.

Vinge!

Nägime peamisi erinevusi .NET Frameworki ja .NET Core vahel, kuid kutsun teid üles ka tutvuma selle postitusega globaliseerumise kohta ASP.NET Core'is.