.NET MVC o MEAN? ¿Por qué?

MEAN significa MongoDB, Express.js, Angular y Node.js. Es una pila de tecnología completa, ya que cubre todos los componentes de una aplicación. MVC es simplemente un patrón de diseño integrado en la tecnología .NET. Es sinónimo de Model View Controller. MVC solo cubre la parte media de la pila. Por ejemplo, aún puede tener Angular en su front-end y aún puede tener MongoDB como capa de acceso a datos. Los modelos en MVC son meras abstracciones de cualquier tipo de registros de datos.

Tanto MVC como MEAN le permiten escribir aplicaciones de fácil mantenimiento aplicando la separación de preocupaciones. Las aplicaciones MEAN son probablemente un poco más fáciles de escribir. Al menos, según mi experiencia, el código Node.js no tarda tanto en escribirse como el código .NET equivalente. La aplicación .NET tiene más componentes. Sin embargo, MVC en .NET le permite ser más flexible. Por ejemplo, como ya he mencionado, puede usar cualquier biblioteca para asignar su código al almacenamiento de datos; por lo tanto, puede utilizar cualquier tecnología de almacenamiento de datos, o incluso burlarse del almacenamiento de datos fácilmente con el fin de ejecutar pruebas automatizadas. MEAN se limita a MongoDB; de lo contrario ya no es SIGNIFICADO.

Si está comenzando desde cero como desarrollador de pila completa, recomendaría MEAN. Casi todo está escrito en JavaScript, por lo que la curva de aprendizaje no es tan empinada. En .NET MVC, la lógica de front-end se escribe en JavaScript, el código de back-end es C #, VB.NET o F # y las consultas de acceso a datos se escriben en un lenguaje específico de la base de datos. Por otro lado, si parte de su lógica de back-end se considera un secreto comercial y está escribiendo una aplicación que se alojará en los servidores de su cliente, MVC es más adecuado para la tarea. Todo el código en MEAN se almacena en forma legible para humanos. Se compila dinámicamente cuando se ejecuta la aplicación, pero no se almacena en estado precompilado. En la aplicación .NET, solo el código front-end es legible por humanos. El resto está precompilado en binarios.

Por último, MEAN stack no sería adecuado para ninguna aplicación donde las bases de datos de documentos no sean adecuadas, por ejemplo, cualquier cosa que maneje transacciones financieras. El siguiente artículo enumera escenarios en los que son adecuados diferentes tipos de bases de datos:

Cuando NoSQL es mejor opción que RDBMS y cuando no lo es

Si quieres trabajar para nuevas empresas, SIGNIFICA, porque eso es lo que generalmente quieren usar.

Si desea crear software web para empresas, pequeñas y medianas empresas y nuevas empresas que conocen y les gusta .Net, entonces MVC o WebForms.

Adán