Marten ist ein Kristall -Web -Framework, das die pragmatische Entwicklung und ein schnelles Prototyping ermöglicht. Es bietet eine konsistente und erweiterbare Gruppe von Tools, die Entwickler nutzen können, um Webanwendungen zu erstellen, ohne das Rad neu zu erfinden.
Einfach
Martens Syntax wird von der Sumpfheit und Einfachheit der Kristallprogrammiersprache geerbt. Darüber hinaus versucht das Gerüst, so weit wie möglich zu küssen und zu trocken konform, um die Zeit zu markieren.
⚡ schnell
Marten können Sie voll ausgestattete Webanwendungen erstellen, indem Sie die bloßen Metallaufführungen der Kristallprogrammiersprache nutzen. Es versucht auch, für anständige Kompilierungszeiten zu optimieren.
? Vollgeeignet
Marten haftet an den Philosophie "Batterien". Außerhalb der Box bietet es die Tools und Funktionen, die üblicherweise von Webanwendungen erforderlich sind: ORM, Migrationen, Übersetzungen, Vorlagenmotoren, Sitzungen, E -Mails, Authentifizierung usw.
? Erweiterbar
Marten gibt Ihnen die Möglichkeit, zusätzliche Funktionen zum Framework leicht einzubringen. Dinge wie benutzerdefinierte Modellfeldimplementierungen, neue Routenparametertypen, Sitzungsspeicher usw. können problemlos im Framework registriert werden.
? App-orientiert
Marten ermöglicht es, Projekte in eine Reihe logischer "Apps" zu trennen. Diese Apps können auch extrahiert werden, um Merkmale und Verhaltensweisen zu anderen Martenprojekten beizutragen. Das Ziel hier ist es, die Erstellung eines leistungsstarken Apps -Ökosystems im Laufe der Zeit zu ermöglichen.
? ️ sicher
Marten kommt mit Sicherheitsmechanismen aus dem Schachtel. Dinge wie Cross-Site-Anforderungsfälle, Clickjacking oder SQL-Injektionen werden durch den Rahmen betreut, um häufige Sicherheitsprobleme zu vermeiden.
Die Werkzeuge, die Sie benötigen, werden in das Framework eingebaut. Datenbank ORM, Übersetzungen, Migrationen, Vorlagen, Sitzungen, E -Mails, Authentifizierung und viele weitere können sofort genutzt werden.
Entwerfen Sie Ihre Modelle leicht
Marten verfügt über einen Objektrelationskarten (ORM), den Sie nutzen können, um Ihre Datenbank mit Kristallklassen und einer bequemen DSL zu beschreiben.
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
endProzessanfragen mit Handlern
Handler sind für die Verarbeitung von Webanfragen und für die Rückgabe der Antworten verantwortlich. Dies kann das Laden von Datensätzen aus der Datenbank, das Rendern von HTML -Vorlagen oder das Erstellen von JSON -Payloads umfassen.
class ArticleListHandler < Marten::Handler
def get
render " articles/list.html " , { articles: Article .all }
end
endRendern inhalt von Benutzer mit Vorlagen rendern
Vorlagen bieten eine bequeme Möglichkeit, Ihre Präsentationslogik zu definieren und Inhalte (z. B. HTML) zu schreiben, die dynamisch gerendert werden. Dieses Rendering kann Modelldatensätze oder andere von Ihnen definierte Variablen beinhalten.
{% extend "base.html" %}
{% block content %}
< ul >
{% for article in articles %}
< li > {{ article.title }} </ li >
{% endfor %}
</ ul >
{% endblock content %}Online -Browsable -Dokumentation finden Sie unter https://martenframework.com/docs.
Sind Sie neu im Marten -Web -Framework? Die folgenden Ressourcen helfen Ihnen beim Einstieg:
Morgan Aubert (@ellmetha) und Mitwirkende.
Das Marten -Web -Framework lässt sich zunächst von Django und Ruby auf Rails inspirieren. Sie können den Abschnitt "Anerkennung" der Dokumentation durchsuchen, um mehr über die verschiedenen Inspirationen und Beiträge zu erfahren, die Marten formten.
MIT. Weitere Informationen finden Sie LICENSE .