Skip to content

Latest commit

 

History

History
104 lines (79 loc) · 7.82 KB

README.ru.md

File metadata and controls

104 lines (79 loc) · 7.82 KB

Добро пожаловать в *Loco*

🚂 *Loco* - Rust on Rails.

crate docs Discord channel

English · 中文 · Français · Portuguese (Brazil)日本語 · Русский

Что такое Loco?

Loco сильно вдохновлён проектом Ruby on Rails. Если вы знакомы и с Rails, и с Rust, вы будете чувствовать себя как дома. Если вы знаете только Rails, и не знакомы с Rust, Loco будет для вас чем-то освежающим.

Если вам интересно узнать внутрение устройство Loco, включая детальные гайды, примеры, и устройство API, почитайте нашу документацию.

Фишки Loco:

  • Простота превыше конфигурации: Подобно Ruby on Rails, Loco делает упор на простоту и продуктивность, снижая потребность в лишнем коде. Loco использует оптимальные настройки по-умолчанию, давая разработчикам возможность сфокусироваться на написании бизнес логики, а не конфигурации.
  • Быстрая разработка: Ставя акцент на высокой производительности разработчика, Дизайн Loco фокусируется на сокращении ненужного кода и предоставления интуитивного API. Это позволяет быстро создавать прототипы без лишних усилий.
  • ORM интеграция: Стройте свой бизнес с крепкими составляющими, убирая необходимость писать SQL. Определяйте взаимосвязи, проверку, и кастомную логику прямо в составляющих, упрощая поддержку и рост кодовой базы.
  • Контролеры: Обрабатывайте параметры и данные web-запросов, проверяйте их содержимое, отображайте ответ с учетом запроса. Мы используем Axum для достижения наилучшей производительности, простоты, и возможности расширения. Также, контролеры облегчают внедрение middleware. Это может быть использовано для добавления всевозможной логики: аутентификации, логгинга, или обработки ошибок перед отправкой на сервер.
  • Виды: Loco может интегрироваться с template-движками для генерации динамического HTML из шаблонов.
  • Фоновые задачи: Исполняйте I/O и другие тяжелые операции в фоновом режиме с помощью Redis, или потоков. Для написания функционала фоновой задачи нужно всего лишь написать функцию perform из trait Worker.
  • Планировщик: Облегчает традиционную, часто громоздкую систему, упрощая планировку задач и исполнение shell-скриптов.
  • Отправка электронной почты: Отправка электронной почты в фоновом режиме, без необходимости создавать новую фоновую задачу.
  • Хранилище: Мы способствуем работе с файлами несколькими путями: хранение в памяти, на диске, или использование облачных сервисов как AWS, S3, GCP, и Azure.
  • Кэширование: Loco кэширует частые запросы для улучшения производительности приложения.

У Loco есть ещё множество фишек, котрые вы можете посмотреть на сайте документации.

Установка

cargo install loco
cargo install sea-orm-cli # Для работы с базами данных

Теперь вы можете создать свое новое приложение (выберете "SaaS app").

❯ loco new
✔ ❯ App name? · myapp
✔ ❯ What would you like to build? · SaaS app (with DB and user auth)
✔ ❯ Select a DB Provider · Sqlite
✔ ❯ Select your background worker type · Async (in-process tokio async tasks)
✔ ❯ Select an asset serving configuration · Client (configures assets for frontend serving)

🚂 Loco app generated successfully in:
myapp/

Теперь выполните cd в папку myapp и запускайте приложение:

$ cargo loco start

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

listening on port 5150

Проекты, использующие Loco

  • SpectralOps - различные сервисы, использующие Loco framework
  • Nativish - backend приложения, использующий Loco

Контрибьютеры ✨

Спасибо всем этим прекрасным людям: