Популярные проекты 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