Marten เป็นกรอบเว็บคริสตัลที่ช่วยให้การพัฒนาในทางปฏิบัติและการสร้างต้นแบบอย่างรวดเร็ว มันมีชุดเครื่องมือที่สอดคล้องและขยายได้ซึ่งนักพัฒนาสามารถใช้ประโยชน์จากการสร้างเว็บแอปพลิเคชันโดยไม่ต้องสร้างวงล้อขึ้นใหม่
เรียบง่าย
ไวยากรณ์ของมาร์เทนนั้นสืบทอดมาจากความเรียบเนียนและความเรียบง่ายของภาษาการเขียนโปรแกรมคริสตัล ยิ่งไปกว่านั้นเฟรมเวิร์กพยายามจูบและสอดคล้องกับแห้งมากที่สุดเท่าที่จะทำได้เพื่อลดเวลาในการตลาด
⚡เร็ว
มาร์เทนให้ความสามารถในการสร้างเว็บแอปพลิเคชันที่มีคุณสมบัติเต็มรูปแบบโดยใช้ประโยชน์จากการแสดงโลหะเปลือยของภาษาการเขียนโปรแกรมคริสตัล นอกจากนี้ยังพยายามปรับให้เหมาะสมสำหรับเวลารวบรวมที่เหมาะสม
- เต็มรูปแบบ
มาร์เทนปฏิบัติตามปรัชญา "แบตเตอรี่รวม" นอกกรอบมีเครื่องมือและคุณสมบัติที่จำเป็นโดยทั่วไปโดยเว็บแอปพลิเคชัน: ORM, การย้ายถิ่น, การแปล, เครื่องมือ templating, เซสชัน, การส่งอีเมล, การตรวจสอบสิทธิ์ ฯลฯ
- ซึ่งขยายได้
มาร์เทนช่วยให้คุณมีความสามารถในการมีส่วนร่วมในการทำงานพิเศษให้กับเฟรมเวิร์กได้อย่างง่ายดาย สิ่งต่าง ๆ เช่นการใช้งานฟิลด์แบบจำลองแบบกำหนดเองประเภทพารามิเตอร์เส้นทางใหม่ที่เก็บเซสชัน ฯลฯ ... สามารถลงทะเบียนกับเฟรมเวิร์กได้อย่างง่ายดาย
- แอพที่มุ่งเน้น
Marten อนุญาตให้แยกโครงการออกเป็นชุดของ "แอพ" แบบลอจิคัล แอพเหล่านี้ยังสามารถสกัดเพื่อสนับสนุนคุณสมบัติและพฤติกรรมให้กับโครงการ Marten อื่น ๆ เป้าหมายที่นี่คือการอนุญาตให้สร้างระบบนิเวศที่ทรงพลังเมื่อเวลาผ่านไป
? ️ปลอดภัย
มาร์เทนมาพร้อมกับกลไกความปลอดภัยนอกกรอบ สิ่งต่าง ๆ เช่นการปลอมแปลงการร้องขอข้ามไซต์การคลิกที่หรือการฉีด SQL ได้รับการดูแลโดยกรอบเพื่อหลีกเลี่ยงปัญหาด้านความปลอดภัยทั่วไป
เครื่องมือที่คุณต้องการถูกสร้างขึ้นในกรอบ ฐานข้อมูล ORM, การแปล, การอพยพ, แม่แบบ, เซสชัน, การส่งอีเมล, การรับรองความถูกต้องและอื่น ๆ อีกมากมายสามารถใช้ประโยชน์ได้ทันที
ออกแบบโมเดลของคุณได้อย่างง่ายดาย
มาร์เทนมาพร้อมกับวัตถุที่สัมพันธ์กับวัตถุ (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 หรือการผลิต payloads 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 หรือไม่? ทรัพยากรต่อไปนี้จะช่วยให้คุณเริ่มต้น:
Morgan Aubert (@Ellmetha) และผู้สนับสนุน
เฟรมเวิร์ก Marten Web ในขั้นต้นดึงแรงบันดาลใจจาก Django และ Ruby on Rails คุณสามารถเรียกดูส่วนกิตติกรรมประกาศของเอกสารเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับแรงบันดาลใจและการมีส่วนร่วมต่าง ๆ ที่ช่วยกำหนดมาร์เทน
MIT ดู LICENSE สำหรับรายละเอียดเพิ่มเติม