Marten es un marco web de cristal que permite el desarrollo pragmático y la prototipos rápidos. Proporciona un conjunto de herramientas consistente y extensible que los desarrolladores pueden aprovechar para crear aplicaciones web sin reinventar la rueda.
Simple
La sintaxis de Marten se hereda de la mancha y la simplicidad del lenguaje de programación de cristales. Además de eso, el marco trata de ser un beso y en seco tanto como sea posible para reducir el tiempo de comercialización.
⚡ Rápido
Marten le brinda la capacidad de construir aplicaciones web con todas las funciones aprovechando las actuaciones de metales desnudos del lenguaje de programación de cristal. También trata de optimizar los tiempos de compilación decentes.
? Completo
Marten se adhiere a la filosofía de "baterías incluidas". Fuera de la caja, proporciona las herramientas y características que comúnmente requieren aplicaciones web: ORM, migraciones, traducciones, motores de plantilla, sesiones, correo electrónico, autenticación, etc.
? Extensible
Marten le brinda la capacidad de contribuir con funcionalidades adicionales al marco fácilmente. Cosas como implementaciones de campo de modelos personalizados, nuevos tipos de parámetros de ruta, tiendas de sesión, etc. se pueden registrar fácilmente en el marco.
? Orientado a la aplicación
Marten permite separar proyectos en un conjunto de "aplicaciones" lógicas. Estas aplicaciones también se pueden extraer para contribuir con características y comportamientos a otros proyectos de Marten. El objetivo aquí es permitir la creación de un poderoso ecosistema de aplicaciones con el tiempo.
? ️ Seguro
Marten viene con mecanismos de seguridad fuera de la caja. Las cosas como las falsificaciones de solicitudes de sitios cruzados, el clickjacking o las inyecciones de SQL son atendidas por el marco para evitar problemas de seguridad comunes.
Las herramientas que necesita están integradas en el marco. ORM de base de datos, traducciones, migraciones, plantillas, sesiones, correos electrónicos, autenticación y muchos más se pueden aprovechar de inmediato.
Diseñe sus modelos fácilmente
Marten viene con un mape de objetos relacionado (ORM) que puede aprovechar para describir su base de datos utilizando clases de cristal y un 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
endProcesar solicitudes con manejadores
Los manejadores son responsables del procesamiento de solicitudes web y de devolver las respuestas. Esto puede implicar la carga de registros de la base de datos, hacer plantillas HTML o producir cargas útiles JSON.
class ArticleListHandler < Marten::Handler
def get
render " articles/list.html " , { articles: Article .all }
end
endRenderizar contenido orientado al usuario con plantillas
Las plantillas proporcionan una forma conveniente de definir su lógica de presentación y de escribir contenidos (como HTML) que se representan dinámicamente. Esta representación puede involucrar registros de modelo o cualquier otra variable que define.
{% extend "base.html" %}
{% block content %}
< ul >
{% for article in articles %}
< li > {{ article.title }} </ li >
{% endfor %}
</ ul >
{% endblock content %}La documentación navegable en línea está disponible en https://martenframework.com/docs.
¿Eres nuevo en el marco web de Marten? Los siguientes recursos lo ayudarán a comenzar:
Morgan Aubert (@ellmetha) y sus contribuyentes.
El marco web de Marten inicialmente se inspira en Django y Ruby on Rails. Puede navegar por la sección de Agradecimientos de la documentación para aprender más sobre las diversas inspiraciones y contribuciones que ayudaron a dar forma a Marten.
Mit. Vea LICENSE para más detalles.