Skip to content

Latest commit

 

History

History
117 lines (81 loc) · 6.26 KB

File metadata and controls

117 lines (81 loc) · 6.26 KB

Bienvenido a Loco

🚂 Loco es Rust on Rails.

crate docs Discord channel

Español · English · 中文 · Français · Português (Brasil) · 日本語 · 한국어 · Русский · Español

¿Qué es Loco?

Loco está fuertemente inspirado en Rails. Si conoces Rails y Rust, te sentirás como en casa. Si solo conoces Rails y eres nuevo en Rust, encontrarás Loco refrescante. No asumimos que conozcas Rails.

Para una explicación más profunda de cómo funciona Loco, incluyendo guías detalladas, ejemplos y referencias de la API, consulta nuestro sitio de documentación.

Características de Loco

  • Convención sobre configuración: Al igual que Ruby on Rails, Loco enfatiza la simplicidad y la productividad al reducir la necesidad de código repetitivo. Utiliza valores predeterminados sensatos, permitiendo a los desarrolladores centrarse en la lógica de negocio en lugar de perder tiempo en la configuración.

  • Desarrollo rápido: Loco está diseñado para una alta productividad del desarrollador, reduciendo el código repetitivo y proporcionando APIs intuitivas, permitiendo iterar rápidamente y construir prototipos con un esfuerzo mínimo.

  • Integración ORM: Modela tu negocio con entidades robustas, eliminando la necesidad de escribir SQL. Define relaciones, validaciones y lógica personalizada directamente en tus entidades para una mayor mantenibilidad y escalabilidad.

  • Controladores: Maneja parámetros de solicitudes web, cuerpo, validación y renderiza una respuesta consciente del contenido. Usamos Axum para el mejor rendimiento, simplicidad y extensibilidad. Los controladores también permiten construir middlewares fácilmente, que pueden usarse para agregar lógica como autenticación, registro o manejo de errores antes de pasar las solicitudes a las acciones principales del controlador.

  • Vistas: Loco puede integrarse con motores de plantillas para generar contenido HTML dinámico a partir de plantillas.

  • Trabajos en segundo plano: Realiza trabajos intensivos en computación o I/O en segundo plano con una cola respaldada por Redis o con hilos. Implementar un worker es tan simple como implementar una función perform para el trait Worker.

  • Planificador: Simplifica el tradicional y a menudo engorroso sistema crontab, facilitando y haciendo más elegante la programación de tareas o scripts de shell.

  • Mailers: Un mailer enviará correos electrónicos en segundo plano usando la infraestructura de background worker de Loco. Todo será transparente para ti.

  • Almacenamiento: En Loco Storage, facilitamos el trabajo con archivos a través de múltiples operaciones. El almacenamiento puede ser en memoria, en disco o usar servicios en la nube como AWS S3, GCP y Azure.

  • Caché: Loco proporciona una capa de caché para mejorar el rendimiento de la aplicación almacenando datos de acceso frecuente.

Para ver más características de Loco, consulta nuestro sitio de documentación.

Primeros pasos

cargo install loco
cargo install sea-orm-cli # Solo si necesitas base de datos

Ahora puedes crear tu nueva app (elige "SaaS app").

❯ loco new
✔ ❯ ¿Nombre de la app? · miapp
✔ ❯ ¿Qué te gustaría construir? · App SaaS con renderizado del lado del cliente
✔ ❯ Selecciona un proveedor de BD · Sqlite
✔ ❯ Selecciona el tipo de worker en segundo plano · Async (tareas async in-process con tokio)

🚂 App Loco generada exitosamente en:
miapp/

- assets: Has seleccionado `clientside` para la configuración de tu servidor de assets.

Siguiente paso, construye tu frontend:
  $ cd frontend/
  $ npm install && npm run build

Ahora entra en tu miapp y arranca tu app:

$ cargo loco start

                      ▄     ▀
                                ▀  ▄
                  ▄       ▀     ▄  ▄ ▄▀
                                    ▄ ▀▄▄
                        ▄     ▀    ▀  ▀▄▀█▄
                                          ▀█▄
▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄ ▀▀█
██████  █████   ███ █████   ███ █████   ███ ▀█
██████  █████   ███ █████   ▀▀▀ █████   ███ ▄█▄
██████  █████   ███ █████       █████   ███ ████▄
██████  █████   ███ █████   ▄▄▄ █████   ███ █████
██████  █████   ███  ████   ███ █████   ███ ████▀
  ▀▀▀██▄ ▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀▀ ██▀
      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                https://loco.rs

listening on port 5150

Proyectos impulsados por Loco

  • SpectralOps - varios servicios impulsados por el framework Loco

  • Nativish - backend de la app impulsado por el framework Loco

Contribuidores ✨

Gracias a estas personas maravillosas: