A Marten é uma estrutura da Web Crystal que permite o desenvolvimento pragmático e a prototipagem rápida. Ele fornece um conjunto consistente e extensível de ferramentas que os desenvolvedores podem aproveitar para criar aplicativos da Web sem reinventar a roda.
Simples
A sintaxe de Marten é herdada da mancha e da simplicidade da linguagem de programação de cristal. Além disso, a estrutura tenta beijar e secar o máximo possível para reduzir o tempo ao mercado.
⚡ Rápido
A Marten oferece a capacidade de criar aplicativos da Web completos, aproveitando as performances bare metal da linguagem de programação de cristal. Ele também tenta otimizar os tempos de compilação decentes.
? Completo com desempenho
Marten adere à filosofia "baterias incluídas". Fora da caixa, fornece as ferramentas e os recursos comumente exigidos por aplicativos da Web: ORM, migrações, traduções, motores de modelos, sessões, e -mails, autenticação etc.
? Extensível
Marten oferece a capacidade de contribuir com funcionalidades extras para a estrutura facilmente. Coisas como implementações de campo de modelo personalizado, novos tipos de parâmetros de rota, lojas de sessão, etc ... podem ser registrados na estrutura facilmente.
? Orientado a aplicativo
Marten permite separar projetos em um conjunto de "aplicativos" lógicos. Esses aplicativos também podem ser extraídos para contribuir com recursos e comportamentos para outros projetos de marta. O objetivo aqui é permitir a criação de um poderoso ecossistema de aplicativos ao longo do tempo.
? Aste Seguro
Marten vem com mecanismos de segurança fora da caixa. Coisas como falsificações de solicitação de sites, clickacking ou injeções de SQL são resolvidas pela estrutura para evitar problemas comuns de segurança.
As ferramentas necessárias são incorporadas à estrutura. Banco de dados ORM, traduções, migrações, modelos, sessões, e -mails, autenticação e muitos outros podem ser alavancados imediatamente.
Projete seus modelos facilmente
Marten vem com um Mapper Relacional de Objetos (ORM) que você pode aproveitar para descrever seu banco de dados usando classes de cristal e um DSL conveniente.
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
endSolicitações de processo com manipuladores
Os manipuladores são responsáveis pelo processamento de solicitações da Web e por devolver as respostas. Isso pode envolver o carregamento de registros do banco de dados, a renderização de modelos HTML ou a produção de cargas JSON.
class ArticleListHandler < Marten::Handler
def get
render " articles/list.html " , { articles: Article .all }
end
endRenderizar conteúdo voltado para o usuário com modelos
Os modelos fornecem uma maneira conveniente de definir sua lógica de apresentação e escrever conteúdo (como HTML) que são renderizados dinamicamente. Essa renderização pode envolver registros de modelos ou quaisquer outras variáveis que você definir.
{% extend "base.html" %}
{% block content %}
< ul >
{% for article in articles %}
< li > {{ article.title }} </ li >
{% endfor %}
</ ul >
{% endblock content %}A documentação navegável on -line está disponível em https://martenframework.com/docs.
Você é novo no Marten Web Framework? Os seguintes recursos ajudarão você a começar:
Morgan Aubert (@ellmetha) e colaboradores.
A estrutura da Web Marten inicialmente se inspira em Django e Ruby on Rails. Você pode navegar na seção Agradecimentos da documentação para saber mais sobre as várias inspirações e contribuições que ajudaram a moldar a Marta.
Mit. Consulte LICENSE para obter mais detalhes.