La Red de Conocimientos Pedagógicos - Conocimientos de formación/capacitación - Capacitación en diseño de Beida Jade Bird: ¿Cuál es la tendencia de desarrollo de la tecnología de desarrollo y programación de nodos?

Capacitación en diseño de Beida Jade Bird: ¿Cuál es la tendencia de desarrollo de la tecnología de desarrollo y programación de nodos?

La tecnología de nodos se ha convertido en la principal herramienta de desarrollo en el campo del front-end web, lo que se puede decir que es un hermoso malentendido. Cuando se desarrolló y utilizó esta tecnología, parecía principalmente resolver problemas de back-end.

Hoy la institución de capacitación del curso Java de Jinan aprenderá sobre la historia del desarrollo y las tendencias de desarrollo futuras de la tecnología de nodos.

A) Node8 entra en la era LTS. El gran cambio en Node.js es la entrada a la era Node8. Esta es una versión estable de soporte a largo plazo (LTS). Además de las mejoras de rendimiento, existen los siguientes puntos.

Soporte asíncrono/en espera.

De hecho, en Node.jsv7.6, puedes iniciar sesión en node8 directamente a través del soporte de banderas.

El control de procesos asincrónicos se puede realizar mejor a través de funciones asincrónicas, lejos de CallbackHell.

En las funciones Async, Promise se puede llamar a través de generadores de espera y Co-wrapped. Se puede decir que forward es una función Async perfecta, y hacia atrás también puede ser perfectamente compatible con varios códigos heredados, como se llama. La solución asincrónica definitiva. El plan no es exagerado.

Soporte de módulo ES6.

Con el rápido desarrollo de vue/react, webpack, babel y mecanografiado, los módulos es6 se han promovido y aplicado ampliamente. En Node.jsv8.5, esta función de versión de prueba 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.

A partir de Node.jsv8.8, http2 está habilitado de forma predeterminada. Puede enviarse al servidor y multiplexarse, lo que puede facilitar mejor el navegador y es una herramienta poderosa para optimizar el rendimiento.

b) El marco básico para el desarrollo web a nivel empresarial no es solo el marco web convencional Koa, ampliamente utilizado, sino también Fastify. El autor Matteo Collina es el desarrollador principal de Node.js, el responsable de Stream y un experto en optimización del rendimiento.

Fastify optimiza en función de patrones, lo que puede mejorar significativamente el rendimiento.

El tío Wolf 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, se lanzó 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 la mejora aportada por Node8, que aporta una mejora de rendimiento de aproximadamente el 30%.

Egg adopta el modelo de "microkernel, complemento y marco de capa superior", que ha mejorado significativamente la personalización, la ecología y el rápido desarrollo, y también es notable en términos de estabilidad y seguridad.

B2)nestnet 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 utiliza TypeScript como lenguaje subyacente. TypeScript es un superconjunto de ES6, que admite tipos, orientado a objetos, decoradores (similares a las anotaciones en Java), etc.

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 de casi todos los marcos NodeWeb en la actualidad. Nest es un proyecto muy conocido en 2017 y vale la pena mencionarlo.

B3) ThinkJS ThinkJS es un marco Node.jsWeb orientado al futuro, comprometido a integrar las mejores prácticas de proyectos, estandarizar proyectos y hacer que el desarrollo de equipos a nivel empresarial sea más simple y eficiente.

Adhiriéndose al principio de diseño de simplicidad y facilidad de uso, mientras mantiene un rendimiento excelente y un código simple, también se centra en la experiencia de desarrollo y la facilidad de uso, brindando un fuerte soporte para el desarrollo de aplicaciones WEB.

ThinkJS es un marco web bien establecido en China. La versión v3 se lanzó en junio de 2017. Basado en el núcleo de Koa, ThinkJS tiene mejores mejoras en rendimiento y 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.

Lo único que lamento en 2017 es que el rendimiento de Node.js en servless no es muy bueno y hay pocas prácticas de marco relacionadas.

c) El front-end de la capa intermedia de API esencial se está volviendo cada vez más complejo y el back-end está funcionando. El front-end de hoy enfrentará 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 el front-end y el back-end se depuran conjuntamente, varios back-end se culpan entre sí, lo que ralentiza el progreso en línea o hace que el rendimiento del front-end sea extremadamente lento.

Si el progreso es lento, vaya al front-end, y si el rendimiento es deficiente, vaya al front-end. Pero, ¿el front-end realmente tiene que cargar con la culpa? La aplicación Api de nivel medio de Node.js resuelve muy bien este problema.

Cuando el backend no quiere cambiar, es más flexible y adaptable al frontend.

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

La interfaz de agregación es muy conveniente para el procesamiento de API heterogéneo. Si puede ordenar el modelo, debería ser fácil de cambiar.

La interfaz simulada, a través de la interfaz simulada, proporciona eficiencia de desarrollo front-end y tiene un efecto extremadamente obvio en la optimización del proceso. Por ejemplo, Yuppi desarrollado por Qunar se compromete a solucionar este problema.

Además, si el front-end quiere hacer algo impulsado por la tecnología, SSR (Server Side Rendering) y PWA (Progressive Web Application) también son muy buenas opciones.

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