สำรวจกรอบงานเว็บของ Haskell [ปิด]


19

มีเฟรมเวิร์กเว็บจำนวนมากสำหรับ Haskell เช่นHappstack , SnapและYesodและอาจมีอีกไม่กี่อย่าง

พวกเขาต่างกันในด้านใดบ้าง? ตัวอย่างเช่น:

  • คุณสมบัติ (เช่นเซิร์ฟเวอร์เท่านั้นหรือสคริปต์ไคลเอนต์รองรับฐานข้อมูลประเภทต่างๆได้ง่าย)
  • ครบกําหนด (เช่นความมั่นคงคุณภาพเอกสาร)
  • ความสามารถในการปรับขยาย (เช่นประสิทธิภาพการทำงานที่เป็นนามธรรม)
  • เป้าหมายหลัก

นอกจากนี้ตัวอย่างของไซต์จริง / เว็บแอพที่ใช้เฟรมเวิร์กเหล่านี้คืออะไร

ขอบคุณมาก.


2
+1 แม้ว่าฉันจะไม่รู้จัก Haskell แต่มันก็น่าสนใจ
Anto

มีโฮสต์ฟรีสำหรับเว็บไซต์ Haskell หรือไม่? ข้อกำหนดสำหรับเซิร์ฟเวอร์คืออะไร
Armand

@Alison - ฉันจะถือว่าไม่ใช่เพราะคุณต้องการ VPS หรือเซิร์ฟเวอร์เฉพาะ
Jetti

คุณสามารถใช้เทียร์ฟรีที่ Amazon EC2 ฉันเดาว่าจะให้บริการพื้นที่
Zachary K

ฉันหวังว่าจะให้บางคนพูดถึงกรอบอื่น ๆ (เพื่อให้เราสามารถเปรียบเทียบได้)
Zachary K

คำตอบ:


10

ฉันสามารถพูดในนามของ Yesod เท่านั้นเนื่องจากฉันได้ลอง Snap และ Yesod มาแล้ว แต่ติดอยู่กับ Yesod อย่างรวดเร็ว

เหตุผลหลักสำหรับ Yesod อาจเป็นไปได้ว่ามันมอบเฟรมเวิร์กที่สมบูรณ์พร้อมคุณสมบัติที่เพิ่มจำนวนขึ้นเรื่อย ๆ เช่น

  • Typesafe Template Languages ​​สำหรับ HTML, CSS และ JavaScript
  • การกำหนดเส้นทาง Typesafe
  • แยกเป็นเว็บไซต์ย่อย
  • การรวมฐานข้อมูลกับ Persistent
  • ไซต์ย่อยที่ทำไว้ล่วงหน้าสำหรับปัญหาที่เกิดขึ้นอีกครั้ง: การอนุญาต, คงที่, CRUD ...

ในสายตาของฉันจุดแข็งที่ยิ่งใหญ่ของ Yesod คือการรวบรวมเนื้อหาแบบไดนามิกเช่นเว็บไซต์ HTML แม่แบบไซต์จะถูกแยกวิเคราะห์ผ่าน Template Haskell และแปลงเป็นโครงสร้างข้อมูล Haskell ดังนั้นเทมเพลตจึงไม่ถูกแยกวิเคราะห์ทุกครั้งที่ผู้ใช้เรียกใช้ ในความเห็นของฉันนี่เป็นข้อได้เปรียบด้านความเร็วที่สำคัญเมื่อเทียบกับ PHP และ Snap ที่ใช้เทมเพลตที่ไม่ได้คอมไพล์

Yesod กำลังจะเข้าใกล้เวอร์ชัน 1.0 ในไม่ช้าตามผู้สร้างและมีบางเว็บไซต์ที่ทำงานอยู่แล้ว ฉันคิดว่าเป้าหมายหลักของ Yesod คือการส่งมอบเฟรมเวิร์กเว็บแอปพลิเคชันที่ปลอดภัยและสมบูรณ์ประเภทที่ตอบสนองความต้องการของคุณทั้งหมดและบางส่วน

นอกจากนี้ Yesod ยังทำงานร่วมกับ WAI-interface และทำงานได้อย่างสมบูรณ์แบบกับ Haskell-server Warp ที่บริสุทธิ์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.