Red de conocimiento de abogados - Derecho de sociedades - Cómo elegir un marco de desarrollo web Node.js

Cómo elegir un marco de desarrollo web Node.js

Node.js es muy adecuado para el desarrollo web, pero ahora tanto un sitio web como una aplicación web se han convertido en proyectos a gran escala que incluyen muchas partes diferentes, como front-end, bases de datos, módulos comerciales y módulos funcionales. , etc. Usar Node.js para llevar a cabo el desarrollo web desde cero puede ser posible para equipos grandes y medianos, pero no es realista para individuos y equipos pequeños. En este momento, el marco se ha convertido en una poderosa herramienta para el desarrollo web y es casi indispensable para el desarrollo personal. Entonces, ¿cómo elegir el marco de desarrollo web Node.js?

En primer lugar, tenemos que determinar qué necesitamos:

¿Un programa o un marco?

Un programa es una aplicación ya formada. Lo que necesita es crear un entorno para él, agregarle configuraciones y luego ejecutarlo. El marco es el esqueleto de la aplicación y necesita agregar modelos de datos; y lógica de negocios. Sólo entonces podrá convertirse en una aplicación y comenzar a brindar servicios.

De hecho, para el desarrollo web, la diferencia entre programas y marcos es cada vez más borrosa. Por ejemplo, WordPress, que es bien conocido por casi todas las mujeres y niños, es un programa de blogs, pero tiene. Los complementos ricos y un alto grado de automatización pueden admitir el desarrollo secundario en gran medida y, en este sentido, no son inferiores a algunos marcos PHP. Personalmente creo que con un programa como WordPress no hay necesidad de utilizar un framework si el foco está en brindar servicios en lugar de dominar la tecnología.

Desafortunadamente, debido a que Nodejs es todavía muy joven, todavía no existe un programa como WordPress. Por lo tanto, en el desarrollo de Node.js, si desea hacer el trabajo que desea, el marco es la elección inevitable. Si se trata de un tipo específico de aplicación, puedes probar algunos programas de código abierto. Por ejemplo, si quieres utilizar Nodejs para bloguear, están Hexo, Ghost, etc.

¿Qué son los frameworks web Node.js?

El marco web en Node.js se divide en marco API y marco de aplicación web. El primero puede desarrollar API RESTful y el segundo también puede desarrollar API RESTful, pero también incluye plantillas, renderizado y otras funciones preparadas para el front-end.

El escenario de uso del marco API es proporcionar un modelo de datos unificado para aplicaciones multiplataforma, mientras que la renderización la maneja el front-end/cliente. Los marcos API más conocidos actualmente incluyen

restify (documentación, Github, NPM)

ActionHero.js (sitio web oficial, Github, NPM)

LoopBack ( sitio web oficial, Github, NPM)

Frisby (sitio web oficial, Github, NPM)

Fortune.js (sitio web oficial, Github, NPM)

La Web El marco de aplicación, como su nombre indica, es para crear un marco para el desarrollo de aplicaciones web. Hay dos estilos de marcos de aplicaciones web.

Uno es estilo Sinatra, el otro es estilo Rails. Sinatra y Rails son marcos web en lenguaje Ruby, siendo este último el más influyente y conocido. A continuación se ofrece una breve explicación de lo que significan los dos estilos.

El estilo Sinatra hace referencia a ser altamente configurable y centrarse en la libertad de desarrollo.

Los marcos web representativos de Nodejs incluyen:

Express (sitio web oficial, Github, NPM) desarrollado por TJ master, recomendado oficialmente por Node.js

hapi (sitio web oficial, Github, NPM)

koa.js (sitio web oficial, Github, NPM)

flaliron (sitio web oficial, Github, NPM)

total.js (sitio web oficial, Github, NPM )

locomotora (sitio web oficial, Github, NPM)

El estilo de Rails se refiere a no repetirse, la convención es mejor que la configuración y el estricto cumplimiento del desarrollo de la estructura MVC. Los marcos representativos incluyen:

Sails.js (sitio web oficial, Github, NPM)

geddy (sitio web oficial, Github, NPM)

CompoundJS (sitio web oficial, Github , NPM) original railswayjs

No importa quién es mejor o peor entre estos dos estilos, todo depende de las preferencias del usuario.

Además de estos dos marcos web, existe un marco más grande, el marco de pila completa, del cual MEAN es el representante.

¿MAL?

MEAN se refiere a MongoDB Express Angular.js Node.js. Esta combinación incluye entorno de ejecución, base de datos, marco web y motor front-end. Se llama marco de pila completa. A excepción de Node.js, cada uno de ellos es reemplazable. El objetivo es crear una aplicación web que utilice JavaScript desde el front-end hasta el back-end.

Debido a la perfección de este framework, algunas personas lo llaman el sucesor de LAMP. LAMP es el entorno operativo típico de PHP, Linux Apache MySql PHP, que se usa ampliamente en varios hosts virtuales.

MEAN parece enorme, pero de hecho, para crear una aplicación web moderna completa, especialmente una SPA (aplicación de una sola página), estos componentes son indispensables y casi todos ellos son la mejor opción. la situación actual, por lo que es muy adecuado para aprender y empezar desde cero para construir nuevas aplicaciones web. Sin embargo, debido a la singularidad del negocio real, es probable que sea necesario reemplazar componentes, como reemplazar MongoDB con Mysql. Por lo tanto, aprender los principios y la arquitectura y crear su propio marco similar a MEAN también es una opción.

Para individuos y equipos pequeños, el marco de pila completa MEAN es básicamente suficiente, pero la mayoría de los marcos de pila completa actuales también incluyen una característica, que también se llama marcos con funciones en tiempo real. marco en tiempo real.

¿Es bueno el marco en tiempo real?

El marco en tiempo real se refiere a un marco que incluye la función de comunicación bidireccional de webSocket y puede lograr una comunicación en tiempo real entre el servidor y el cliente.

La necesidad de una comunicación libre entre el servidor y el cliente siempre ha estado ahí, pero debido a las limitaciones del propio protocolo HTTP han nacido métodos alternativos como Comet, pero incluso esto dista mucho de ser real. -tiempo. Cuando surgió Node.js, otra tecnología HTML5, webSocket, también maduró gradualmente. La gente descubrió de repente que la comunicación en tiempo real de repente estaba al alcance de la mano, por lo que la tecnología webSocket se utilizó ampliamente en Node.js. El módulo más conocido es socket.io. Y varios marcos completos también han agregado funciones en tiempo real para satisfacer necesidades de desarrollo más amplias.

Los marcos representativos actuales en tiempo real son:

Meteor (sitio web oficial, Github, NPM)

MEAN.io (sitio web oficial, Github, NPM)

p>

Derby (sitio web oficial, Github, NPM)

SocketStream (sitio web oficial, Github, NPM)

Pero para ser honesto, el Los escenarios de aplicación de comunicación en tiempo real que se pueden ver actualmente no son muchos, y la mayoría de ellos se centran en salas de chat, tareas pendientes, gráficos en tiempo real, juegos en línea y otros campos. El uso de funciones en tiempo real en otras áreas no solo es innecesario, sino también un desperdicio de recursos del servidor. Por lo tanto, la adopción de un marco en tiempo real depende actualmente del proyecto específico.

Lo anterior es básicamente el estado actual del marco web Node.js. Creo que después de leer esto, los lectores ya tienen una idea de qué marco elegir. Finalmente, presentaré un concepto que fácilmente se confunde y explicaré mi elección.

¿YEOMAN?

La primera vez que vi esta palabra, pensé que tenía algo que ver con MEAN. De hecho, son dos cosas completamente diferentes. YEOMAN consta de YO (andamios), grunt (herramienta de construcción) y bower (administrador de paquetes). Representa un flujo de trabajo que es completamente diferente de la forma de pensar en el desarrollo de marcos. La introducción detallada se puede encontrar aquí.

YEOMAN puede lograr propósitos similares al marco, los cuales son preparativos para construir una aplicación web. Sin embargo, si usar YEOMAN o no es una cuestión de opinión. Mi opinión personal es que aprender YEOMAN en sí lleva mucho tiempo y tiene un cierto umbral de aprendizaje. Al menos por ahora, es relativamente económico utilizar el desarrollo de marcos, y si el modelo YEOMAN se populariza en el futuro, no será demasiado tarde para aprender YEOMAN nuevamente, sin mencionar que será mucho más fácil aprender YEOMAN después de haberlo aprendido. Alguna experiencia en proyectos Node.js.

De hecho, todavía apruebo el modelo de administrador de paquetes Generator de YEOMAN. Esto se debe a que el propio Node.js defiende el concepto de micromódulos, es decir, no importa cuán pequeñas sean las funciones, lo son. modularizado, incluso los módulos grandes deben dividirse en módulos pequeños y luego la aplicación se construye mediante bloques de construcción. Esto puede desacoplarse por completo y, para Javascript que no es fácil de depurar, también puede ayudar a localizar y solucionar problemas en la aplicación. Generator es el producto de este concepto. Al elegir diferentes configuraciones y opciones, se ensamblan los componentes básicos. Sin embargo, todavía estamos en el proceso de experimentar con este modelo y no tenemos prisa por implementarlo en aplicaciones prácticas.