Aurelia เป็นเฟรมเวิร์ก JavaScript แบบโอเพ่นซอร์สสำหรับสร้างเว็บแอปพลิเคชัน มีสถาปัตยกรรมแบบโมดูลาร์และขยายได้ที่เน้นความเรียบง่าย นำมาใช้ซ้ำได้ และเพิ่มประสิทธิภาพการทำงานของนักพัฒนา
พัฒนาโดยทีมที่นำโดย Rob Eisenberg ผู้สร้าง Durandal Aurelia ตั้งเป้าหมายที่จะจัดการกับความท้าทายและข้อจำกัดของเฟรมเวิร์กที่มีอยู่ด้วยการนำเสนอแพลตฟอร์มที่มีความยืดหยุ่นสูงและเต็มไปด้วยฟีเจอร์
คุณสมบัติและแนวคิดที่สำคัญของ Aurelia รวมถึง:
Component-Based Architecture: Aurelia ปฏิบัติตามแนวทางที่อิงตามองค์ประกอบซึ่งส่วนต่อประสานผู้ใช้แบ่งออกเป็นส่วนประกอบที่นำมาใช้ซ้ำได้และส่วนประกอบที่มีในตัวเอง ส่วนประกอบต่างๆ ถูกสร้างขึ้นโดยใช้คลาส JavaScript หรือ TypeScript มาตรฐาน และสามารถประกอบขึ้นตามลำดับชั้นเพื่อสร้างอินเทอร์เฟซผู้ใช้ที่ซับซ้อน
Two-Way Data Binding: Aurelia รองรับการเชื่อมโยงข้อมูลแบบสองทางที่ทรงพลัง ทำให้สามารถซิงโครไนซ์ระหว่างโมเดลข้อมูลและอินเทอร์เฟซผู้ใช้ได้อย่างราบรื่น การเปลี่ยนแปลงใน UI จะเผยแพร่ไปยังโมเดลและในทางกลับกันโดยอัตโนมัติ ลดความพยายามด้วยตนเองและเปิดใช้งานประสบการณ์ผู้ใช้ที่ตอบสนอง
Dependency Injection: Aurelia จัดเตรียมระบบ Dependency Injection (DI) ในตัวที่อนุญาตให้ส่วนประกอบประกาศการพึ่งพาและแก้ไขโดยอัตโนมัติ DI ทำให้องค์ประกอบของส่วนประกอบง่ายขึ้น ส่งเสริมความเป็นโมดูลาร์ของโค้ด และเพิ่มความสามารถในการทดสอบและการบำรุงรักษา
Templating: Aurelia ใช้ไวยากรณ์เทมเพลตที่กระชับและประกาศโดยยึดตาม HTML เทมเพลตใน Aurelia เป็นฟีเจอร์ที่แสดงออกอย่างชัดเจนและสนับสนุน เช่น การผูกข้อมูล การจัดการเหตุการณ์ การแสดงผลตามเงื่อนไข และการวนซ้ำ
Routing: Aurelia นำเสนอระบบการกำหนดเส้นทางที่ทรงพลังที่ช่วยให้สามารถสร้างแอปพลิเคชันหน้าเดียว (SPA) ที่มีหลายมุมมองและความสามารถในการนำทาง ช่วยให้นักพัฒนาสามารถกำหนดเส้นทาง จัดการพารามิเตอร์ URL และนำโครงสร้างเส้นทางที่ซ้อนกันไปใช้ได้
Extensibility: Aurelia ได้รับการออกแบบมาให้สามารถขยายและปรับแต่งได้สูง มีระบบปลั๊กอินที่ช่วยให้นักพัฒนาสามารถเพิ่มหรือลบคุณสมบัติได้ตามต้องการ ปรับปรุงการทำงานของเฟรมเวิร์กและปรับให้เข้ากับข้อกำหนดเฉพาะของโครงการ
Testing: Aurelia มีการสนับสนุนการทดสอบที่ครอบคลุมด้วยเครื่องมือและไลบรารีที่อำนวยความสะดวกในการทดสอบหน่วย การทดสอบการรวมระบบ และการทดสอบแอปพลิเคชัน Aurelia แบบ end-to-end สิ่งนี้ส่งเสริมคุณภาพรหัส ความน่าเชื่อถือ และการบำรุงรักษา
Aurelia มุ่งเน้นที่การมอบประสบการณ์การพัฒนาที่สะอาดและใช้งานง่าย ในขณะเดียวกันก็นำเสนอรากฐานที่ยืดหยุ่นและทรงพลังสำหรับการสร้างเว็บแอปพลิเคชันสมัยใหม่ รวบรวมมาตรฐาน JavaScript สมัยใหม่และใช้ประโยชน์จากเทคโนโลยีที่มีอยู่ เช่น Web Components, โมดูล ECMAScript และอื่นๆ
ด้วยการเน้นที่ความเรียบง่าย ความสามารถในการขยาย และประสบการณ์ของนักพัฒนา Aurelia ได้รับความนิยมในหมู่นักพัฒนาที่มองหาทางเลือกอื่นนอกเหนือจากเฟรมเวิร์ก JavaScript อื่นๆ เช่น Angular, React หรือ Vue.js