Популярные проекты Crystal

Lucky Framework

Полнофункциональный веб-фреймворк для Crystal, вдохновленный Ruby on Rails. Lucky предоставляет мощные генераторы кода, встроенную ORM с миграциями, автоматическую валидацию данных, систему маршрутизации и middleware. Фреймворк фокусируется на type safety и производительности, предлагая compile-time проверки и быструю разработку. Включает в себя встроенную поддержку WebSockets, фоновых задач, кеширования и тестирования. Lucky идеально подходит для создания масштабируемых веб-приложений с акцентом на безопасность типов и developer experience.

Примеры использования:

class Users::Index < BrowserAction
  get "/users" do
    users = UserQuery.new
    render IndexPage, users: users
  end
end

Kemal

Быстрый, эффективный и простой веб-фреймворк для Crystal, вдохновленный Sinatra и Express.js. Kemal предоставляет минималистичный подход к веб-разработке с фокусом на производительность и простоту использования. Фреймворк поддерживает middleware, WebSockets, статические файлы, CORS, сессии и cookies. Благодаря компиляции в нативный код, Kemal показывает отличную производительность и низкое потребление памяти. Идеально подходит для создания API, микросервисов, real-time приложений и простых веб-сайтов с высокой нагрузкой.

Примеры использования:

require "kemal"

get "/" do
  "Hello World!"
end

Kemal.run

Crystal HTTP

Мощный HTTP клиент для Crystal с поддержкой HTTP/1.1, HTTP/2, WebSockets и множества других возможностей. Библиотека предоставляет синхронный и асинхронный API, поддержку SSL/TLS, автоматическое сжатие, cookies, редиректы и таймауты. Crystal HTTP используется для создания API клиентов, веб-скрапинга, интеграции с внешними сервисами и построения микросервисов. Библиотека оптимизирована для производительности и предоставляет удобный API для работы с HTTP протоколом в Crystal приложениях.

Примеры использования:

require "http/client"

client = HTTP::Client.new("https://api.example.com")
response = client.get("/users")
puts response.body

Amber Framework

Полнофункциональный веб-фреймворк для Crystal, предоставляющий генераторы, ORM, маршрутизацию, middleware и многое другое. Amber вдохновлен Ruby on Rails и предоставляет аналогичную структуру проекта с контроллерами, моделями, представлениями и маршрутами. Фреймворк включает в себя встроенную ORM с миграциями, систему аутентификации, поддержку WebSockets, фоновых задач и кеширования. Amber идеально подходит для разработки масштабируемых веб-приложений с акцентом на производительность и developer experience.

Примеры использования:

class UsersController < ApplicationController
  def index
    users = User.all
    render("index.slang")
  end
end