Marten هو إطار عمل كريستال على شبكة الإنترنت يمكّن التطور العملي والنماذج الأولية السريعة. يوفر مجموعة متسقة وقابلة للتمديد من الأدوات التي يمكن للمطورين الاستفادة منها لبناء تطبيقات الويب دون إعادة اختراع العجلة.
بسيط
يرث بناء جملة Marten من بقع وبساطة لغة البرمجة البلورية. علاوة على ذلك ، يحاول الإطار أن يكون قبلة وجاف متوافق قدر الإمكان لتقليل الوقت إلى السوق.
⚡ بسرعة
يمنحك Marten القدرة على بناء تطبيقات ويب كاملة الميزة من خلال الاستفادة من العروض المعدنية العارية للغة البرمجة البلورية. كما أنه يحاول تحسين أوقات التجميع اللائقة.
؟ كامب
يلتزم مارتن بفلسفة "البطاريات". خارج المربع ، يوفر الأدوات والميزات المطلوبة عادة من قبل تطبيقات الويب: ORM ، الترحيل ، الترجمات ، محركات التنقيب ، الجلسات ، البريد الإلكتروني ، المصادقة ، إلخ.
؟ قابلة للتمديد
يمنحك Marten القدرة على المساهمة في وظائف إضافية في الإطار بسهولة. يمكن تسجيل أشياء مثل تطبيقات حقل النموذج المخصص ، وأنواع المعلمات الجديدة ، ومخازن الجلسة ، وما إلى ذلك ... في الإطار بسهولة.
؟ الموجهة نحو التطبيق
يسمح Marten بفصل المشاريع إلى مجموعة من "التطبيقات" المنطقية. يمكن أيضًا استخراج هذه التطبيقات للمساهمة في الميزات والسلوكيات في مشاريع Marten الأخرى. الهدف هنا هو السماح بإنشاء نظام إيكولوجي للتطبيقات القوية مع مرور الوقت.
؟ ️ آمن
يأتي مارتن مع آليات أمنية خارج الصندوق. يتم الاعتناء بأشياء مثل مزاحي طلب المقطع عبر الموقع أو النقرات أو حقن SQL بواسطة الإطار لتجنب المشكلات الأمنية المشتركة.
الأدوات التي تحتاجها مدمجة في الإطار. يمكن الاستفادة من قاعدة بيانات ORM ، والترجمات ، والترحيل ، والقوالب ، والجلسات ، والبريد الإلكتروني ، والمصادقة ، وغيرها على الفور.
تصميم النماذج الخاصة بك بسهولة
يأتي 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 Web؟ ستساعدك الموارد التالية على البدء:
مورغان أوبرت (ellmetha) والمساهمين.
يستمد إطار عمل Marten Web في البداية إلهامه من Django و Ruby on Rails. يمكنك تصفح قسم الاعتراف في الوثائق لمعرفة المزيد حول مختلف الإلهام والمساهمات التي ساعدت في تشكيل Marten.
معهد ماساتشوستس للتكنولوجيا. انظر LICENSE لمزيد من التفاصيل.