Viitorul ASP.NET Core

Sunt curios cum vedeti voi viitorul noului ASP.NET.

Din punctul meu de vedere e clar, fac un super mare pariu ca va avea succes, e ca la poker cand speri sa castigi cu 3 asi. Am lucrat demult de tot cu ASP.NET si Web Forms, apoi am trecut la altele, acum ma ocup de aplicatii si jocuri pentru dispozitive mobile, dar as vrea sa ma intorc la web.

Daca as avea bun simt as invata ceva bazat pe node.js, cum ar fi sails. dar nu am bun simt. Asa ca voi paria tot pe ASP.NET Core si voi spera ca va incepe sa aiba succes.

Motive: creierul meu se impaca mai bine cu ASP.NET, deja sunt expert in C#, dar cele mai importante motive abia urmeaza: ASP.NET Core chiar este gandit sa ofere performanta, din benchmarkuri sta foarte bine. MVC si Web Api sunt integrate, deci pot face un design responsiv fara efort, doar schimb tipul de date.

3 Likes

Am inceput o mica aplicatie cu el + Angular 5 si sunt multumit de rezultat

1 Like

Are foarte mult suport, .net se pupa frumos cu typescript, deci un programator .net se simte ca acasa cu angular 5 pe frontend de exemplu.

Adevarata fata a lui .net se va arata cu wasm, eu sunt convins ca va fi al doilea limbaj dupa javascript ca popularitate si pe frontend prin toamna anului viitor sau in 2019.

JavaScript/.NET C# sunt limbaje cu care nu prea ai cum sa dai gresi, bine .net core inca nu e atat de bun ca java pe embedded daca ai vrea de exemplu ceva IoT fara C/C++, dar se vor rezolva problemele ramase. Iar Java/kotlin e foarte similar cu C# daca cumva tot n-ai gasi job-uri pe C# si .net.

In schimb .NET cu C# sucks la programare functionala, aici va domina JS (ES2017+) categoric.

1 Like

Lambda function a fost introdus intai in C# si apoi in JavaScript, dar in schimb JavaScript nu e inca limbaj compilat, sa numai vorbim de generic programming care lipseste din js, C# imi doresc sa se compileze in web assembly, miguel iguaza lucreaza la asta pe github.

Sau Haskell, limbaj de programare functionala

Am avut o tentativa sa invat Haskell

Nu e vorba de lambda functions, JavaScript e un limbaj ‘functional’ ca si stil, se pupa foarte frumos cu programarea functionala. Doar ca pana la ES6 n-a beneficiat de tail recursion in VM si era incet deci n-avea sens.

Cu V8 JavaScript in pofida a ce cred multi a devenit UN LIMBAJ COMPILAT, da, auzi bine JavaScript se compileaza la fiecare rulare, aproape instant. Nu este un limbaj interpretat in pofida aparentelor. Iar cu tail recursion introdus in ES6 a devenit un limbaj foarte frumos pentru programare functionala, singurele lucruri care ii mai lipsesc sunt tipurile imutabile native si un pipe/compose nativ. (ceea ce e oarecum bine ca nu exista fiindca sunt foarte multe solutii gen lodash/ramda…)

.NET practic a luat-o pe urma JS si concureaza cu un alt stil. Dar la final e acelasi lucru, un limbaj compilat pe loc. Avantajul major al lui .net este ca are foarte multi programatori in spate care au creat software complex, JS in schimb e foarte nou, abia incep sa apara solutii ecommerce bazate total pe JS.

1 Like

Tu zici de programare imperativa vs functionala, sa nu uitam ca inca 90% din software e scris imperativ inca.

Sincer dupa 20 ani de programare imperativa imi e greu sa renunt complet la acest stil.

Erlang e pur functional ca are immutable, js nu cred ca e.

Trecerea componentelor din NET sub licenta open source a fost una dintre cele mai bune miscari a Microsoft.

In general dezvoltatorii “fugeau” de C# ASP.NET(web forms sau mvc) datorita fatului ca era sub Windows. Da, este si mono sub Linux, dar inca are anumite bube.

ASP.NET Core este scris cred ca de la 0, nu se mai bazeaza pe System.Web, este destul de rapid cat sa concureze cu NodeJs si este open source.

https://trends.google.ro/trends/explore?date=today%205-y&q=ASP.NET%20Core
Am setat perioada de 5 ani

C# ca limbaj a evoluat destul de repede. In C# 5 exista await si async care fac programarea asincrona ceva mai usoara, in C# 6 stringuri interpolate(pe care le ador) care usureaza sa scrii constructii de genul $"hello {User.Name}".

De asemena a introdus Gulp si Grunt, Bower pt pachetele pt frontend, etc

2 Likes

E async/await multithreaded ?

Task Parallel Library vine ca si o abstractizare sa usureze lucrul multithreading.

Nu
Faci lucruri care costa timp asincron.
De exemplu sa zicem ca descarci ceva de pe web. Dureaza ceva timp, programul va ramane in acel punct pana cand operatia de descarcare se va termina.
Este recomandat sa lucrezi asincron cand folosesti reteaua, scrii pe disc. Acestea sunt operatii care cer timp sa se execute
Operatiile asincrone sunt CPU bound si IO Bound

1 Like