Quale framework è più veloce, Node.js o ASP.NET core?
Risposta breve, ma uno dei punti chiave del focus di .Net Core è la performance. Utilizza AOT per la compilazione e compila tutte le risorse nella cartella bin locale. In molti benchmark, è un ordine di grandezza più veloce in termini di prestazioni rispetto all'intero .Net Framework.
Solo su una breve ricerca su Google, è in media 5 volte più veloce di test equivalenti in Node.Js.
Questo è da aspettarselo. .Net Core è una piattaforma che si basa sul codice compilato, non sulle interpretazioni di JS Script Engine. Il codice .Net Core è compilato AOT quindi viene caricato ed eseguito come codice macchina.
Lo stack MEAN (cioè node.js+mongo+express+angular) ecc. ha i suoi vantaggi ma essere il migliore non è mai stato il suo punto focale principale. La sua facilità d'uso e il basso livello di ingresso per i nuovi sviluppatori e l'avere l'intero stack in JavaScript è il suo principale punto di forza.
.Net Core d'altra parte è stato progettato da zero per essere cross platform e VELOCE.
.Net Core e c# sono una grande scelta per una piattaforma lato server grazie alle sue capacità cross platform, la velocità e il fatto che si può sviluppare con Visual Studio Code o qualsiasi editor di testo decente senza la necessità dell'intero IDE Visual Studio. È stato progettato per uno stack tecnologico GIT + Docker al lavoro. Questo significa che puoi avere progetti costruiti con GIT e Docker in mente e il codice di Visual Studio e chiunque nella tua squadra può lavorarci sopra indipendentemente dal sistema operativo della loro macchina di sviluppo. Cioè nel nostro team abbiamo persone su Mac e Windows 10 e possiamo tutti lavorare sullo stesso codice base.
In definitiva, .Net Core funziona meglio combinato con un paio di tecniche
- Utilizzare Node js e gulp o webpack per gestire tutto il vostro lato client js
- Utilizzare .Net Core e C# per i vostri controller MVC backend o Rest Api's
- Utilizzate Entity Framework 7 per il vostro codice di livello database a MS SQL, MySql, Postgress, ecc ecc.
- Utilizzare NGinX, F5, ecc per un server reverse proxy front-end in kestrel
L'intero framework si integra bene con i container Docker di Linux, rendendo facile per chiunque nei vostri team di sviluppo eseguire l'ambiente di sviluppo.
Le persone stanno anche lavorando attivamente su Vulcan Bindings e wrapper per trasformare .Net Core in un linguaggio di programmazione di gioco cross platform. Quindi penso che entro i prossimi 5 anni inizieremo a vedere nuovi motori di gioco con supporto cross platform che usano C# come linguaggio primario (cioè XNA Studio come, ma cross platform).
E il supporto telefonico è all'orizzonte. Scriveremo applicazioni telefoniche native su .Net Core entro il prossimo anno o due.
Articoli simili
- Le persone raccomandano ancora Python (Django) su ASP.NET Core nel 2017?
- ASP.NET è morto?
- Quale è meglio, dual core di Intel i5-7200U con 2.50 GHz o quad core di Intel i5-8250U con 1.60GHz?
- Qual è meglio il core i5 di quinta generazione o il core i5 di quarta generazione, negli attuali modelli di computer portatili?