Hoy he descubierto Node.js (http://www.ibm.com/developerworks/ssa/opensource/library/os-nodejs/) y yo, aunque aún estoy aprendiendo C# (sé programar en otros lenguajes), tenía pensado hacer mi web con C#, aprovechando que han liberado la tecnología ASP.NET, además de que una programación orientada a controles es muy muuy cómoda.
Pero bueno, vayamos al grano, por lo visto un servidor web que lo controla todo + la programación con eventos es mucho más rápida. Entonces podría hacer toda mi web en C# con un único ejecutable y manejando todo el procesamiento, además de que C# es muy poderoso y en JS no se pueden ni crear clases (abstracción, etc.).
La pregunta es, y siguiendo la cabecera que he puesto en el código que pongo a continuación, en C#, ¿Cómo se podría programar con eventos de una manera simple al estilo de JS utilizando Node.js?
Este código sería del ejecutable que lo manejaría todo, y las páginas las recibiría mediante URLs amigables:
Código
/* An example web done with Node.js: * * do_a( function() * { * do_b( function() * { * do_c( function() * { * do_d( function() * { * ... * }); * }); * }); * }); * * * My intention is do a Node.js with C#, named NodeSharp */ using System; namespace NodeSharp { class Program { static void Main(string[] args) { // Start OWIN host using (WebApp.Start<Startup>(url: "http://localhost:8000")) { // Runs until a key is pressed Console.ReadKey(); } } /// <summary> /// This code configures the OWIN web app. The Startup class is specified as a type parameter in the WebApp.Start method. /// </summary> private class Startup { /// <summary> /// Configures the web app. /// </summary> /// <param name="app">The app builder.</param> public void Configuration(IAppBuilder app) { // We ignore any rules here and just return the same response for any request app.Run(context => { context.Response.ContentType = "text/plain"; return context.Response.WriteAsync("Hello World\n"); }); } } } }
Fuentes
http://www.haneycodes.net/to-node-js-or-not-to-node-js/
http://dreamerslab.com/blog/en/node-js-events/
http://vimeo.com/84677180