NET Core 3 si ASP.NET Core 3

Posted by anghelvalentin on October 27, 2019

.NET CORE 3

A apărut pe 23 septembrie 2019 si aduce in prim plan suport pentru aplicațiile desktop:Windows Forms si Windows Presentation Foundation, suport pentru C# 8, executabil sub forma unui singur fișier si multe altfe featururi.

Suport pentru Windows Form si WPF

Ești entuziasmat când auzi ca aplicațiile desktop sunt acum migrate la Core? Da? Îmi pare rău sa-ti spun, dar aceste tehnologii nu vor fi suportate pe alte sisteme de operare in afara de Windows. Știu deja te-ai fi gândit oare cum au reușit sa creeze ferestrele pe linux, cum arata evenimentele. Si ei s-au gândit si au zis ca nu le migrează momentan.

Built-in JSON suport

Dupa ce toata lumea a folosit librăria Newtonsoft pentru JSON, Microsoft a adus modificări in framework, creând propriile clase pentru citirea json-urilor. Explicatia din spate e ca Newtonsoft foloseste clasa string care UTF-16, ceea ce implicit inseamna mai multe conversii. Din statistici reiese ca noua componenta de JSON este mai rapida decat ce ofera cei de la JSON.NET, dar exista pe piata alte librarii care sunt mult mai rapide.

ASP.NET CORE 3

Blazor

Blazor este una dintre cele mai importante componente cu care vine asp.net core 3. Acest framework te ajuta sa faci partea de client cu ajutorul .NET, fara sa mai utilizezi javascript. Practic poti refolosi codul de pe server si cel client. Practic acest framework vine, in special, in ajutorul developerilor de .Net ce vor sa realizeze aplicatii web de tip SPA(Single Page Application). Problema cu care vine Blazor este una majora: se fac foarte multe apeluri ale serverului. Pentru o simpla apasare de buton se trimit 2 apeluri catre server. Acest lucru implica implicit mai multe resurse pentru server.

gRPC

gRPC este un framework pentru apelurile de la distanta, adica versiunea mai noua de WCF, ce vine ca o alternative viabila. gRPC este vazut ca un inlocuitor pentru Windows Comunication Foundation, un framework destul de vechi, care deja in core 3 a mai ramas doar cu partea de client.

SignalR

Este o tehnologie ce putea fi folosita din versiuni anterioare. Acest framework se foloseste de web sockets pentru a comunica in mod bidirectional intre server si client, pentru aplicatii in real time. Hai sa luam un clasic exemplu: vrei sa faci un chat, cum faci sa stii ca celalalt utilizator a trimis un mesaj, pai ai tot trimite request la fiecare cateva secunde sa vezi la server daca sunt mesaje noi. Cu socketi si signalR se deschide o conexiune ce ramane deschisa si pe care serverul va trimite informari.