AdonisJs es un framework que funciona sobre Node.js cuya estructura es muy similar al de otros famosos frameworks de PHP como Laravel. En este tutorial vamos ver qué es AdonisJs y cómo se utiliza.
Contenidos
Qué es AdonisJs
AdonisJs es un framework MVC para Node.js que es compatible con la mayor parte de los sistemas operativos existentes, ofreciendo así un ecosistema estable sobre el que construir aplicaciones del lado del servidor.
Además, AdonisJs incluye todas las herramientas necesarias para crear una API en tu servidor. Si necesitas un framework rápido, que incluya todo lo necesario y con un gran rendimiento, es una buena elección.
AdonisJs incluye varios proveedores de servicios o service providers sobre los cuales construir tus aplicaciones. Por ello, no necesitarás instalar decenas de paquetes como BodyParser para ciertas funcioanalidades básicas, siendo un gran punto de partida para el desarrollo de tu aplicación.
Algunos de los frameworks que funcionan con Node.js como Express o Koa son excelentes para ciertas tareas, pero no incluyen muchas herramientas aparte de un enrutador y una pequeña capa de middleware. Esta filosofía no está mal para pequeños proyectos, pero cuando un proyecto crece, también lo hace el número de paquetes utilizados, por lo que será más caro y más complicado encontrar desarrolladores especializados.
AdonisJs, por el contrario, sigue la filosofía de Laravel, el famoso framework de PHP. Adonis intenta estandarizar tanto paquetes como metodologías de modo que un gran número de desarrolladores pueda involucrarse en los proyectos creados con AdonisJs. Esto reduce el coste de desarrollo, ya que será necesaria menos formación y los desarrolladores podrán ser más eficientes desde el primer día.
Además, AdonisJs también soporta inyección de dependencias, evitando con ello ciertas tareas repetitivas y facilitando el mantenimiento de las aplicaciones y los tests. Incluye también un completo query builder, gestión de vistas, control de sesiones, validadores, gestión de errores, protección CSRF, migraciones, factorías y semillas o seeds. Además, también incluye una API que se integra con Redis.
Para usar Adonis tendrás que estar familiarizado con la versión ES6 de JavaScript o superior.
Instalación de AdonisJs
AdonisJs se instala exactamente igual que cualquier otro paquete de Node.js. Solamente necesitarás tener npm instalado en tu sistema. Para instalar la aplicación de línea de comandos o CLI de Adonis.Js globalmente basta con que ejecutes el siguiente comando:
npm i -g @adonisjs/cli
Una vez haya finalizado la instalación, puedes usas el siguiente comando para ver todas las opciones de la aplicación:
adonis --help
Creación de una aplicación
Vamos a ver cómo puedes crear y configurar una aplicación mediante la CLI de AdonisJs. Desplázate al directorio en el que quieres crear el proyecto y ejecuta el siguiente comando, reemplazando aplicacion
por el nombre que quieres que tenga el directorio del proyecto:
adonis new aplicacion
Con esto se instalarán todos los paquetes necesarios. Una vez creada la aplicación, accede al directorio del proyecto mediante el comando cd
, reemplazando aplicacion
por el nombre que le hayas dado al directorio del proyecto:
cd aplicacion
Luego ejecuta este comando para iniciar el servidor:
adonis serve --dev
Deberías ver un mensaje en el que se indica que la aplicación se ha iniciado, junto con una dirección y un puerto que podrás abrir en tu navegador:
Ahora ya podrás acceder a la URL especificada en tu navegador. En mi caso tendré que acceder a la dirección
https://127.0.0.1:3333
:
Y con esto ya podemos empezar a agregar nuevas funcionalidades.
Creación de una ruta
A continuación vamos a ver cómo crear una ruta con AdonisJs. Las rutas se agregan en el archivo start/route.js
, que tendrás que abrir con tu IDE. Este archivo contiene por defecto el siguiente código:
'use strict'
/** @type {typeof import('@adonisjs/framework/src/Route/Manager')} */
const Route = use('Route')
Route.on('/').render('welcome')
Para agregar una nueva ruta basta con que uses los métodos get
, post
, put
, patch
o delete
da la clase Route
, dependiendo del tipo de ruta que quieras crear. Estos métodos aceptan una ruta como primer parámetro y una función como segundo parámetro, en donde incluiremos la lógica de la misma, aunque también podemos llamar a un método de algún controlador:
Route.get('una-ruta', () => 'Esta es tu primera ruta')
Si ahora visitas la dirección http://127.0.0.1:3333/una-ruta
podrás ver que se muestra por pantalla el texto 'Esta es tu primera ruta'
que devuelve la función que hemos asignado a la ruta. Sin embargo, lo más habitual es asignar un controlador y que este renderice una vista, siguiendo el patrón MVC (modelo vista controlador).
Más información
Puedes consultar en detalle todas las funcionalidades de AdonisJs en su documentación, en donde encontrarás cómo crear controladores, vistas o modelos, entre otras muchas cosas. La estructura de este framework es similar a la de Laravel o Rails on Rails, por lo que quizás estemos hablando de un framework con mucho futuro que facilitará la vida a los desarrolladores.
Y esto han sido todo.