Мартен - это кристаллическая веб -структура, которая обеспечивает прагматическое развитие и быстрое прототипирование. Он обеспечивает постоянный и расширяемый набор инструментов, которые разработчики могут использовать для создания веб -приложений без переосмысления колеса.
Простой
Синтаксис Мартена наследуется от гладкости и простоты языка кристаллического программирования. Кроме того, рамка старается как можно больше поцеловать и сушить, чтобы уменьшить время на рынке.
⚡ быстро
Marten дает вам возможность создавать полнофункциональные веб-приложения, используя голые металлические характеристики языка кристаллического программирования. Это также пытается оптимизировать для приличного времени компиляции.
? Полный
Мартен придерживается философии «батареи». Из коробки он предоставляет инструменты и функции, которые обычно требуются веб -приложениями: ORM, миграция, переводы, шаблонные двигатели, сеансы, электронная почта, аутентификация и т. Д.
? Расширяется
Мартен дает вам возможность легко вносить дополнительные функции в рамки. Такие вещи, как пользовательские реализации поля модели, новые типы параметров маршрута, хранилища сеанса и т. Д., Могут быть легко зарегистрированы в рамках.
? Приложение, ориентированное
Мартен позволяет разделять проекты на набор логических «приложений». Эти приложения также могут быть извлечены, чтобы внести свой вклад в функции и поведение в другие проекты Marten. Цель здесь состоит в том, чтобы позволить создавать мощную экосистему приложений с течением времени.
? ️ Безопасно
Мартен выходит с механизмами безопасности из коробки. Такие вещи, как фальсификации перекрестных запросов, клики, или инъекции SQL, заботятся в рамках, чтобы избежать общих проблем безопасности.
Инструменты, которые вам нужны, встроены в рамку. Орм базы данных, переводы, миграции, шаблоны, сеансы, электронная почта, аутентификация и многие другие могут быть сразу использованы.
Проектируйте ваши модели легко
Marten поставляется с объектно-релационным маппером (ORM), который вы можете использовать для описания вашей базы данных с использованием кристаллических классов и удобного DSL.
class Article < Marten::Model
field :id , :big_int , primary_key: true , auto: true
field :title , :string , max_size: 128
field :content , :text
field :author , :many_to_one , to: User
endЗапросы на обработки с помощью обработчиков
Обработчики несут ответственность за обработку веб -запросов и за возвращение ответов. Это может включать загрузку записей из базы данных, рендеринг шаблонов HTML или создание полезных нагрузок JSON.
class ArticleListHandler < Marten::Handler
def get
render " articles/list.html " , { articles: Article .all }
end
endОпределить контент с шаблонами, ориентированным на пользователя
Шаблоны обеспечивают удобный способ определения вашей логики презентации и содержимого записи (например, HTML), которые производятся динамически. Этот рендеринг может включать записи модели или любые другие переменные, которые вы определяете.
{% extend "base.html" %}
{% block content %}
< ul >
{% for article in articles %}
< li > {{ article.title }} </ li >
{% endfor %}
</ ul >
{% endblock content %}Онлайн -документация доступна по адресу https://martenframework.com/docs.
Вы новичок в веб -структуре Marten? Следующие ресурсы помогут вам начать:
Морган Ауберт (@ellmetha) и участники.
Веб -фреймворк Marten изначально черпает вдохновение в Django и Ruby на Rails. Вы можете просмотреть раздел «Благодарности» документации, чтобы узнать больше о различных вдохновениях и вкладах, которые помогли сформировать Мартен.
Грань Смотрите LICENSE для более подробной информации.