.NET Framework sau .NET Core ?

Posted by anghelvalentin on September 01, 2019

 Programatorii juniori de .NET isi pun adesea intrebarea .NET Framework sau .NET Core. Unii dintre ei nici nu stiu care e diferenta dintre cele doua. Daca nici tu nu stii cu ce se mananca, pune-te si citeste articolul asta.

Intrebarea din titlu mi-am pus-o dupa aparitia .NET Core. Pana atunci lucrurile erau simple, aveai de ales doar ce versiune de .NET Framework sa folosesti.

.NET Framework si .NET Core sunt doua frameworkuri oferite de cei de la Microsoft. Vreau sa te gandesti la frameworkuri ca la niste superlibrarii care sunt instalate de catre utilizator, cel mai probabil chiar inainte sa-ti instaleze tie aplicatia si tu ca programator le poti folosi in codul facandu-ti viata mai usoara.

Diferentele majore dintre cele doua sunt:

  • .NET Framework este suportat doar de sistemul de operare Windows, in timp ce Core este cross platforms
  • In .NET Framework exista destul de multe tehnologii, care in .NET Core inca nu sunt
  • .NET Framework este mult mai popular, existand milioane de librarii pentru el
  • .NET Core este rapid, scalabil, modular si e fix ce trebuie sa fie pentru un framework

.NET Framework s-a pensionat

.NET Framework 4.8 a fost ultima versiune majora pe care cei de la Microsoft au facut-o. De acum inainte, nu o sa mai vina lucruri noi sau imbunatatiri pentru framework. Aspectul care ridica sprancenele este faptul ca s-a construit foarte foarte mult pe .NET Framework. Prima versiune a aparut la inceputul lui februarie 2002. Iti dai si tu seama cat s-a putut construi pe baza lui timp de 17 ani.

.NET Core este the best

Problema cu .NET Core este ca e inca nou, ceea ce inseamna ca nu toate librariile sunt compatibile cu el. Asa ca atunci cand ai nevoie de vreo librarie mai exotica care taie banane in doua s-ar putea sa nu mearga, iar de aici incepe "partea frumoasa" a programarii. .NET Core este mult mai rapid decat .NET Framework si nu o zic eu, o zic cei de la Microsoft. Core-ul il bate la fund si pe concurentul sau in mod direct Java. 

Daca pana la versiunea 2.2 ASP.NET Core putea fi rulat doar cu ajutorul serverului Kestrel, dupa a aparut si optiunea de a hosta direct site-ul pe IIS, fara ca acesta din urma sa fie un proxy pentru Kestrel. Deci cand vine vorba de rapiditate si scalabilitate, .NET Core este mult peste concurenta.

Aaa si daca vrei Microservicii si Docker (pentru ca esti programator in secolul 21), ghici ce, ASP.NET Core e raspunsul.

PS: Si acest site ruleaza cu ASP.NET CORE intr-o imagine de docker pe DigitalOcean

PS2: Daca te intregistrezi pe DigitalOcean cu linkul de mai sus primesti 50$ si eu 25$