Red de conocimiento informático - Material del sitio web - ¿Cómo ve la tecnología de desarrollo web asp.net?

¿Cómo ve la tecnología de desarrollo web asp.net?

Repasemos brevemente los últimos diez años de asp.net

Antes de la popularidad de mvc

Los controles del lado del servidor de ASP.net encapsulan html y js juntos, many El evento del cliente envía automáticamente los datos al servidor a través del js generado. Para muchos novatos, se puede realizar un proyecto web utilizable simplemente arrastrando y soltando controles y escribiendo código C#, lo que reduce en gran medida la barrera de entrada. En consecuencia, el diseño excesivamente acoplado de los controles del lado del servidor ha traído muchas deficiencias: es difícil personalizar el control y es difícil separar puramente el front-end y el back-end. Como resultado, los profesionales de ASP.NET no pueden hacerlo. dominar la tecnología front-end ni incursionar en más tecnologías back-end (cuestiones ecológicas).

En esta era, .net está etiquetado como un "control de arrastrar y soltar".

Después de que mvc se hizo popular

Microsoft lanzó asp.netmvc y muchas empresas han comenzado a intentar separar el front-end y el back-end. En lo que respecta al modelo, no es diferente del modelo de desarrollo de proyectos web basado en MVC de otras plataformas lingüísticas.

Sin embargo, el marco de servicio de asp.net en sí es demasiado complicado y especialmente difícil (si presta atención, incluso puede decir que es difícil de dar a luz después de admitir la programación asincrónica asyncawait). , su modelo de contexto de sincronización tiene demasiadas deficiencias: en primer lugar, la estructura del código fuente es confusa y, en segundo lugar, muchas personas son propensas a estancarse durante el proceso de uso. El uso inadecuado de métodos asincrónicos provoca excepciones causadas por la solicitud. devuelto, se libera el contexto y luego no se encuentra el objeto de sincronización. La raíz del problema es que la mayoría de los programadores no tienen un conocimiento profundo de los subprocesos. Está bien si el proyecto tiene un uso estandarizado correcto. Si no es así, muchas personas no tendrán idea de dónde está el problema cuando ocurre una excepción. Se han producido bloqueos durante la transformación de Blog Park. Si está interesado, puede leer lo que ha escrito el blog oficial de Blog Park.

aspnetcore

Me gusta mucho el diseño del nuevo modelo de aplicación y la implementación del código. Al menos, eche un vistazo a los objetos simples Reqeust y Response. ¿Estará encantado? Si analizamos nuevamente la canalización del middleware, el contexto pasa a lo largo de toda la cadena de delegación, lo que elimina la necesidad de contextos de sincronización oscuros y elimina características relacionadas con la seguridad de Windows.

Toda la estructura es más clara y aquellos a quienes les guste expandirse definitivamente tendrán el placer de ver todas las flores de Chang'an en un día.

No hace falta decir que el rendimiento es natural. Puede prestar atención a las comparaciones de pruebas de rendimiento distintas de mvc que Microsoft ha realizado antes en github.

NET Ecology

Después de adoptar el código abierto, una serie de implementaciones como netcore, estándar, aspnetcore, efcore, etc. están disponibles. El netcore3.0 del próximo año también incluirá cliente. Modelos (wpf y winform, solo se pueden usar en Windows).

Aspnet, dotnet, dotnet-architecture y otras ramas de github contienen una gran cantidad de proyectos de código abierto mantenidos directamente por Microsoft.

La mayoría de los proyectos de la comunidad de código abierto han seguido y empaquetado componentes de terceros basados ​​en estándares estándar.

Microsoft también ha reunido documentos dispersos bajo el subdominio docs por primera vez en mucho tiempo.

¡Todo está escrito, pero carece de ecología! Si los proyectos importantes de la Fundación Apache tienen sucursales .net, creo que confiar en netcore definitivamente capturará muchas acciones nuevamente.

Perspectivas

Después de que los microservicios se vuelvan populares, se pueden combinar varias plataformas internamente para proporcionar servicios. Es completamente posible utilizar aspnetcore para proporcionar servicios comerciales que no requieren muchos terceros. Los componentes basados ​​​​en el estilo consistente de Microsoft y la eficiencia de desarrollo son muy altos.

De hecho, muchos sistemas internos ahora usan .net, pero son solo para proyectos relacionados con Internet, que requieren abundantes recursos de terceros, y relativamente pocos usan .net. Sin embargo, muchas empresas grandes tienen equipos de sucursales .net. Después de todo, las ventajas en cuanto a eficiencia del desarrollo y del escritorio siguen teniendo valor.

¿Cómo se desarrollará ASPNET? Personalmente, depende de la respuesta de la comunidad y de si la ecología se puede enriquecer gradualmente.

Al observar el arduo trabajo de Microsoft, personalmente espero que pueda regresar.

¿Entonces?

Desde una visión a largo plazo, las plataformas son solo nuestras herramientas. Una persona de TI no debe limitar su alcance técnico a una determinada plataforma. Obtenga más información y acumule más en proyectos reales, debe tomar decisiones basadas en los requisitos, la arquitectura y el equipo.

Por ejemplo, Java y .net se pueden dominar al mismo tiempo y cada uno puede aprovechar sus propias fortalezas. Debido a su alta superposición, el costo de aprendizaje no es alto. Es más, la mayor parte del conocimiento no tiene nada que ver con la plataforma.

Las opiniones personales son puramente escritas a mano. Los comentarios u opiniones son bienvenidos.