Red de conocimiento informático - Aprendizaje de código fuente - La institución de formación de cursos de Java cambiantes comparte la tendencia de desarrollo de la tecnología de desarrollo de programación de nodos

La institución de formación de cursos de Java cambiantes comparte la tendencia de desarrollo de la tecnología de desarrollo de programación de nodos

Se puede decir que el hecho de que la tecnología de nodos se haya convertido en una herramienta de desarrollo convencional en el campo del front-end web es un hermoso malentendido en sí mismo. Cuando esta tecnología se desarrolló y utilizó originalmente, parecía principalmente. resolver problemas de fondo. Hoy, la institución de formación de cursos de Java de Changping se reunirá para conocer la historia del desarrollo y las tendencias futuras de desarrollo de la tecnología de nodos.

a) Node8 ingresa a la era LTS

El gran cambio para Node.js es que ingresa a la era Node8. Es una versión estable de soporte a largo plazo (LTS). Además de las mejoras de rendimiento, aquí hay algunos puntos clave.

Soporte asíncrono/en espera. De hecho, se puede admitir a través del indicador en Node.jsv7.6 y se implementará directamente en node8. A través de la función Async, puede controlar mejor el proceso asincrónico y mantenerse alejado de CallbackHell. En la función Async, puede llamar a Promise a través de await y el generador envuelto por co. Se puede decir que es una función Async perfecta hacia adelante y también es perfectamente compatible con varios códigos heredados hacia atrás. llámelo la solución asincrónica definitiva.

Soporte de módulo ES6. A través del rápido desarrollo de vue/react, webpack, babel y mecanografiado, los módulos es6 se han popularizado y aplicado ampliamente. En Node.jsv8.5, esta función de versión experimental se puede activar a través de módulos experimentales. Por supuesto, si desea utilizar módulos ES6 en versiones anteriores de Node.js, puede utilizar el módulo @std/esm.

Soporte HTTP2. Se ha habilitado de forma predeterminada en Node.jsv8.8. Las funciones HTTP2, como la inserción del lado del servidor y la reutilización multicanal, pueden facilitar mejor los navegadores y son una herramienta poderosa para la optimización del rendimiento.

b) Desarrollo web a nivel empresarial

Además del marco web convencional Koa, Fastify siempre ha sido un fuerte competidor en el marco básico. El autor Matteo Collina es el. Desarrollador principal de Node.js y director de Stream, experto en optimización del rendimiento. Fastify se basa en la optimización de esquemas y tiene mejoras de rendimiento extremadamente obvias. El tío Lang cree que se trata de desarrollo web a nivel empresarial y aquí nos presentó tres marcos conocidos.

b1)Egg.js

El marco Node.js de nivel empresarial de código abierto de Alibaba, Egg, lanzó la versión 2.0, basado en Koa2.x, y la solución asincrónica se basa directamente en AsyncFunction. La optimización de la capa de marco no incluye las mejoras aportadas por Node8, pero genera una mejora del rendimiento de aproximadamente el 30%.

Egg adopta el modelo de "marco de capa superior de complemento de microkernel", que ha mejorado significativamente la personalización, la ecología y el rápido desarrollo. Además, vale la pena señalar que la estabilidad y la seguridad también son excelentes.

b2)Nest

Nest es un marco web de nivel empresarial basado en TypeScript y Express.

Mucha gente bromea diciendo que Nest está desarrollado como Java. De hecho, Nest usa TypeScript como lenguaje subyacente. TypeScript es un superconjunto de ES6 y admite tipos, orientado a objetos y Decorator (similar a Annotation en Java). . ) y otro tipo de apoyo. En términos de escritura, mantener los hábitos de los desarrolladores de Java puede atraer a más personas para comenzar rápidamente.

La compatibilidad con TypeScript es la principal prioridad para casi todos los marcos NodeWeb actualmente. Nest fue un proyecto muy conocido en 2017 y vale la pena mencionarlo.

b3) ThinkJS

ThinkJS es un marco web de Node.js que abraza el futuro. Está comprometido a integrar las mejores prácticas de proyectos y estandarizar proyectos para simplificar y simplificar el desarrollo de equipos a nivel empresarial. más eficiente.

Siguiendo el principio de diseño de simplicidad y facilidad de uso, manteniendo un rendimiento excelente y un código mínimo, se centra en la experiencia de desarrollo y la facilidad de uso, brindando un sólido soporte para el desarrollo de aplicaciones WEB.

ThinkJS es un marco web nacional bien establecido. La versión v3 se lanzó en octubre de 2017. Está basado en el kernel Koa y tiene mejores mejoras en el rendimiento y la experiencia de desarrollo.

En general, Node.js se está volviendo cada vez más maduro en el campo del desarrollo web empresarial, y tanto los microservicios como las capas intermedias de API se han implementado muy bien. En 2017, lo único que lamento es que Node.js no funciona muy bien en servless y hay poca práctica en marcos relacionados.

c) La capa intermedia de API indispensable

El front-end se está volviendo cada vez más complejo y el back-end está orientado a servicios. El front-end actual enfrenta más desafíos. Un escenario típico es que en una arquitectura orientada a servicios, el dolor de cabeza que enfrenta el front-end son las API heterogéneas. Cuando se depuran conjuntamente el front-end y el back-end, varios back-end se culpan entre sí, lo que ralentiza la conexión. progresa o hace que el rendimiento del front-end sea extremadamente lento. Si el progreso es lento, mire al front-end, y si el rendimiento es deficiente, mire al front-end. Pero, ¿debería realmente el front-end asumir la culpa?

La aplicación de capa intermedia API de Node. js resuelve este problema muy bien. Cuando no quieras cambiar el backend, puedes hacerlo tú mismo, que es más flexible y adaptable.

Interfaz de transmisión transparente Para intranet o interfaces que no son de seguridad, se puede utilizar la transmisión transparente de capa intermedia.

La interfaz de agregación es muy conveniente para procesar API heterogéneas. Si el modelo se puede ordenar, será más fácil adaptarse a los cambios.

La interfaz Mock proporciona eficiencia de desarrollo front-end a través de la interfaz Mock y tiene un efecto extremadamente obvio en la optimización del proceso. Por ejemplo, yapi desarrollado por Qunar está diseñado específicamente para resolver este problema.

Además, si desea hacer algo basado en tecnología en el front-end, SSR (Server Side Rendering) y PWA (Aplicación web progresiva) también son muy buenas opciones.

d) Nuevos campos (aprendizaje profundo, blockchain, etc.)