"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Laravel To Go: Mi viaje y la creación de una Fibra API Boilerplate

Laravel To Go: Mi viaje y la creación de una Fibra API Boilerplate

Publicado el 2025-03-12
Navegar:727

Laravel to Go: My Journey and the Creation of a Fiber API Boilerplate

Después de pasar más de cuatro años inmerso en Laravel, me he familiarizado con la arquitectura MVC (modelo-view-confontroller). Su simplicidad y estructura hacen que sea un placer trabajar, y las carpetas de Laravel organizadas ayudan a los desarrolladores a mantenerse en el camino. Siempre sabe dónde colocar su código, y las extensas herramientas incorporadas (conexiones de datos, redis, colas, migraciones, ORM y más) la configuración es sin problemas. Con solo unos pocos ajustes a su entorno, su aplicación está lista para funcionar.

Para mí, el enfoque MVC de Laravel sigue siendo uno de los más robustos. El modelo define sus datos, la vista determina lo que los usuarios ven, y el controlador administra su lógica comercial. Es simple pero estructurado, y Laravel ofrece esta configuración por defecto, por lo que es un excelente marco para el desarrollo.

Pero a medida que mi carrera avanzó y yo trabajamos en industrias y negocios, me di cuenta de que el enfoque de MVC de Laravel no siempre fue suficiente, especialmente para aplicaciones complejas.


Extender el MVC de Laravel para la complejidad

MVC brilla para aplicaciones simples, pero puede quedarse corto cuando la lógica se vuelve más intrincada. Por ejemplo, cuando se usa Laravel para API, la capa ver a menudo no se usa. Mientras tanto, poner toda la lógica en los controladores puede conducir rápidamente a archivos hinchados que son difíciles de mantener.

Para abordar esto, extendí la estructura MVC de Laravel introduciendo servicio y repository , creando un flujo como este:

Controlador → Servicio → Repositorio → Model

  • controlador : maneja la validación y dirige el flujo de la aplicación.
  • servicio : gestiona la lógica comercial, dividida en funciones reutilizables.
  • repositorio : administra las interacciones de la base de datos.
  • modelo : define la estructura de datos.

Este enfoque en capas hace que el código sea más mantenible y escalable. Con el tiempo, me acostumbré tanto a esta estructura que se sintió natural adoptarla en otros proyectos.


Enter Go: Un desafío completamente nuevo

Cuando comencé a trabajar con Go (Golang), se sentía como entrar en territorio desconocido. GO es bastante diferente de PHP y carece de una estructura de carpeta inherente. Tampoco es un lenguaje orientado a objetos, por lo que no pude simplemente replicar lo que sabía de Laravel.

Después de alguna prueba y error, decidí seguir con lo que estaba familiarizado con: el concepto csrm (controlador, servicio, repositorio, modelo). Adapté esta estructura para ir, a pesar de que requería un pensamiento creativo. Además, exploré marcos que podrían simplificar el desarrollo. Intenté gin y fiber , en última instancia, elección de la fibra para su velocidad, características modernas y comunidad activa.


El nacimiento de mi Fiber API Boorlerplate

Después de más de dos años de trabajar con GO y Fiber, decidí crear una caldera para optimizar el desarrollo de API. Esto no era solo para mí, quería ayudar a otros a establecer rápidamente sus proyectos también.

el resultado: fibra api boilerplate .

Esta calderera es específicamente para API, por lo que no incluye características como la representación de la vista o los motores de plantilla. La estructura de la carpeta se inspira en:

  • Estándares de diseño del proyecto Golang
  • Gist de diseño del proyecto de Ayoub Zulfiqar

también tomé prestadas muchas ideas de Laravel, como ORM, conexiones de bases de datos, redis, colas y autenticación. Si bien no es tan integral como Laravel, es más que suficiente para construir API generales.


Características de la caldera

aquí está lo que ofrece actualmente la boilerplate:

  1. Autenticación : Administración de usuarios simplificada fuera de la caja.
  2. Error Reporting : integrado con Sentry.
  3. Monitoreo de aplicaciones : usa una nueva reliquia para ideas en tiempo real.
  4. Hot Reload : incluye aire para un desarrollo más rápido.
  5. verificaciones de código estático : usa Golangci-Lint.
  6. API Documentation : soporte de swagger incorporado a través de swag.
  7. inyección de dependencia : alimentado por Google Wire.
  8. implementment : viene con Docker y Supervisor para una implementación perfecta.

El repositorio también incluye código de ejemplo y un detallado readMe para guiarlo a través de cada carpeta y función.


Edificio para el futuro

Si bien la Boilerplate ya es funcional, tengo planes de expandirlo aún más agregando herramientas como migraciones, oyentes de eventos y comandos. Es un proyecto en evolución diseñado para crecer con sus usuarios.

Puede explorar y usar la Boilerplate. Siéntase libre de personalizarlo: las herramientas agregadas que le gustan o eliminaran las que no necesita. Si tiene sugerencias o solicitudes de funciones, cree un problema o envíe una solicitud de extracción.


Empezar

revisa el fibra API Boilerplate y tómalo para un giro. Espero que ayude a simplificar su viaje de desarrollo de API GO tanto como lo ha hecho para mí. ¡Construyamos algo increíble juntos!

Declaración de liberación Este artículo se reproduce en: https://dev.to/granitebps/laravel-to-go-my-journey-and-the-creation-of-a-fiber-api-boilerplate-2pll?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarlo.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3