เป้าหมายของฉันคือการย้ายเว็บแอปพลิเคชันที่มีอยู่ไปยังแอปพลิเคชันหน้าเดียว RESTful (SPA) ขณะนี้ฉันกำลังประเมินเฟรมเวิร์กเว็บแอปพลิเคชัน Javascript หลายรายการ
ความต้องการของฉันมีดังต่อไปนี้:
- ชั้นข้อมูล RESTful (เช่น ember-data)
- MV * - โครงสร้าง
- เส้นทางแบบไดนามิก
- การสนับสนุนการทดสอบ
- การเข้ารหัสตามแบบแผน
- การสนับสนุน SEO
- การสนับสนุนประวัติเบราว์เซอร์
- เอกสาร (API-) ที่ดี
- พร้อมสำหรับการผลิต
- ชุมชนที่อยู่อาศัย
กระดูกสันหลัง
backbone.js
การประยุกต์ใช้ในปัจจุบันคือการใช้ โดยรวมแล้วbackbone.js
เป็นโครงการที่ดี แต่ฉันขาดโครงสร้างที่กำหนดไว้อย่างดีซึ่งกำหนดว่าจะเกิดอะไรขึ้นและจะต้องดำเนินการอย่างไร การทำงานในทีมที่ใหญ่ขึ้นพร้อมกับการเปลี่ยนแปลงของนักพัฒนาทำให้เกิดโค้ดที่ไม่มีโครงสร้างบางประเภทดูแลรักษายากและเข้าใจยาก นี่คือเหตุผลที่ตอนนี้ฉันกำลังค้นหาเฟรมเวิร์กซึ่งกำหนดทุกสิ่งนี้อยู่แล้ว
เอมเบอร์
ฉันมองเข้าไปในember.js
ยุคสุดท้าย แนวทางนี้ดูเหมือนจะมีแนวโน้มสำหรับฉันมาก แต่น่าเสียดายที่รหัสมีการเปลี่ยนแปลงเกือบทุกวัน ฉันจะไม่เรียกมันว่าพร้อมสำหรับการผลิต และน่าเสียดายที่เราไม่สามารถรอให้เป็นเวอร์ชัน 1.0 ได้ แต่ฉันชอบแนวคิดเบื้องหลังกรอบนี้มาก
เชิงมุม
Angular.js
เป็นกรอบงานที่แพร่กระจายอย่างกว้างขวางเช่นกันซึ่งดูแลโดย Google แต่ฉันไม่คุ้นเคยกับเชิงมุม สำหรับฉันโครงสร้างดูเหมือนไม่ชัดเจนคำอธิบายขาดความรับผิดชอบโดยรวมของแต่ละส่วนของกรอบการทำงานและการนำไปใช้งานนั้นดูอ้อมค้อม เพื่อให้ตรง: นี่เป็นเพียงความประทับใจส่วนตัวของฉันและอาจมาจากความรู้ที่ขาดหายไป
แบทแมนและดาวตก
ตามที่ฉันเข้าใจทั้งสองเฟรมเวิร์กจำเป็นต้องมีส่วนของเซิร์ฟเวอร์เช่นกัน และเนื่องจากเราต้องการแบ็กเอนด์ RESTful ไม่ว่าจะเป็นภาษาเทคนิคหรือซอฟต์แวร์อะไรก็ตามนี่ไม่ใช่สิ่งที่เราต้องการ นอกจากนี้ backend API ยังมีอยู่แล้ว (RoR)
Knockout , CanJSและSpine
ฉันไม่ได้เจาะลึกลงไปในผู้สมัครสามคนนี้ บางทีนี่อาจจะเป็นก้าวต่อไปของฉัน
ดังนั้นคำถามของฉันตอนนี้:
- ฉันขาดกรอบสปาที่ดีหรือไม่?
- คุณจะแนะนำ / แนะนำกรอบอะไร
- คุณจะหลีกเลี่ยงกรอบการทำงานที่กล่าวถึงหรือไม่?
- ประสบการณ์ของคุณในแอปพลิเคชัน SP ที่ใหญ่กว่าคืออะไร?
PS: ฉันอยากจะแนะนำบล็อกโพสต์ที่ยอดเยี่ยมจาก Steven Anderson (ผู้พัฒนาหลักจาก Knockout.js) เกี่ยวกับการประชุม "Throne of JS" (จากปี 2012) และเฟรมเวิร์กจาวาสคริปต์โดยทั่วไป
PS: ใช่ฉันรู้ว่ามีคำถามเกี่ยวกับ SO อยู่แล้ว แต่เนื่องจากการพัฒนาอย่างรวดเร็วและรวดเร็วสำหรับ SPAs ส่วนใหญ่จึงล้าสมัยไปแล้ว