AdonisJS | Marco similar a Laravel para NodeJs

Feb 28 2023
AdonisJS es un marco web completo para Node.js que está fuertemente influenciado por Laravel, un marco web PHP popular.

AdonisJS es un marco web completo para Node.js que está fuertemente influenciado por Laravel, un marco web PHP popular. En este resumen, exploraremos las similitudes y diferencias entre AdonisJS y Laravel, y brindaremos ejemplos de funciones de AdonisJS que corresponden a las funciones de Laravel.

similitudes:

  1. Arquitectura MVC: tanto AdonisJS como Laravel utilizan el patrón de arquitectura Model-View-Controller (MVC) para estructurar las aplicaciones web.
  2. Interfaz de línea de comandos (CLI): tanto AdonisJS como Laravel proporcionan una interfaz de línea de comandos (CLI) para generar código repetitivo, ejecutar migraciones de bases de datos y otras tareas.
  3. Enrutamiento: ambos marcos utilizan el enrutamiento para definir cómo se manejan las solicitudes HTTP.
  4. Middleware: AdonisJS y Laravel usan middleware para manejar tareas como la autenticación, la validación de solicitudes y el registro.
  5. ORM: tanto AdonisJS como Laravel proporcionan un ORM (Mapeo relacional de objetos) para trabajar con bases de datos.
  6. Plantillas tipo Blade: AdonisJS viene con su propio motor de plantillas llamado Edge que proporciona una sintaxis similar a Blade de Laravel.
  7. Comunidad: tanto AdonisJS como Laravel tienen comunidades activas de desarrolladores que contribuyen al desarrollo del marco, crean paquetes y brindan soporte.
  1. Idioma: AdonisJS se basa en Node.js, mientras que Laravel se basa en PHP.
  2. Async: AdonisJS está diseñado para ser asíncrono y usa Promesas, mientras que Laravel es síncrono y usa Excepciones.
  3. Estructura de archivos: AdonisJS tiene una estructura de archivos diferente a Laravel, con directorios como app/Controllersy app/Modelsen lugar de app/Http/Controllersy app/Modelsen Laravel.
  4. Configuración: AdonisJS usa .envarchivos para la configuración, mientras que Laravel usa .envarchivos además de configarchivos.
  5. Ordenación de middleware: AdonisJS aplica middleware en el orden en que están definidos en el archivo de ruta, mientras que Laravel aplica middleware en el orden en que están definidos en el archivo Kernel.

Aquí hay un ejemplo de cómo AdonisJS y Laravel difieren en su enfoque de enrutamiento:

En AdonisJS, puede definir rutas usando una API fluida:

Enrutamiento de AdonisJs

En Laravel:

Enrutamiento de Laravel

Aquí hay un ejemplo de cómo crear un modelo y una migración en AdonisJS:

Este comando generará un nuevo archivo de modelo en la aplicación/Modelos llamado Post.js y un archivo de migración en la base de datos/migraciones llamado algo así como 1612989050522_create_posts_table.js.

Crear comando de modelo en AdonisJs

Ahora abra el archivo de migración y defina el esquema para la poststabla:

Esta migración creará una poststabla con marcas de tiempo id, , y .titlebodycreated_atupdated_at

Ejemplo de migración de AdnoisJs

Ahora abra el archivo del modelo y defina el esquema para el Postmodelo:

Ejemplo de modelo de AdonisJs

¡Eso es todo! Ahora puede usar el Postmodelo para interactuar con la poststabla en su base de datos. Por ejemplo, para crear una nueva publicación, puede hacer lo siguiente:

Interactuar con el modelo AdonisJs

Aquí hay un ejemplo de un controlador AdonisJS básico para el Postmodelo que creamos anteriormente:

Ejemplo de controlador en AdonisJs

Este controlador define varios métodos para manejar operaciones CRUD en el Postmodelo.

El index()método recupera todas las publicaciones de la base de datos y las devuelve como una matriz.

El store()método crea una nueva publicación al extraer titley bodydel objeto de solicitud, crear una nueva Postinstancia, establecer sus campos y guardarla en la base de datos. Luego devuelve la publicación recién creada.

El show()método recupera una sola publicación por su idparámetro y la devuelve.

El update()método actualiza una publicación por su idparámetro, extrae titley bodydel objeto de solicitud, actualiza los campos de la publicación y la guarda en la base de datos. Luego devuelve la publicación actualizada.

El destroy()método elimina una publicación por su idparámetro y la devuelve.

Estos métodos utilizan el middleware integrado de AdonisJS y los objetos de solicitud/respuesta para manejar las solicitudes entrantes y las respuestas salientes. Tenga en cuenta que este es solo un ejemplo básico y hay muchas más características y técnicas disponibles en AdonisJS para construir controladores robustos.

AdonisJS, con su sintaxis y convenciones similares a Laravel, brinda a los desarrolladores una experiencia familiar e intuitiva al crear aplicaciones web completas en JavaScript. La arquitectura MVC del marco, el poderoso ORM, el middleware, el enrutamiento, la autenticación y las capacidades de representación de vistas lo convierten en una opción sólida y eficiente para los desarrolladores que buscan crear aplicaciones web modernas en Node.js.