การเลือก Rust เว็บเฟรมเวิร์ก 2020
(lpalmieri.com)เปรียบเทียบ 4 เฟรมเวิร์ก: actix-web, rocket, ride, warp
- ภาพรวมฟีเจอร์
actix, tide, warp : รูปแบบมินิมัล คล้ายกับ Python Flask, JS Express
rocket : มีฟีเจอร์หลากหลายติดตั้งมาในตัว คล้ายกับ Python Django, PHP Symphony เป็นต้น
- ผู้ใช้
ดาวน์โหลด : actix(1250k) > rocket(525k) > warp(435k) > tide(47k)
- Sync vs Async
actix, warp : ตั้งแต่เวอร์ชันใหม่เริ่มใช้ async
tide : รองรับ async ผ่าน nightly มาตั้งแต่ก่อนเวอร์ชันทางการ
rocket : ยังเป็น sync และมีแผนจะรองรับในเวอร์ชันถัดไป
3.1 Futures รันไทม์
actix, rocket, warp : tokio
tide : async-std
- เอกสารประกอบ, ทิวทอเรียล และตัวอย่าง
ฝั่ง actix-web และ rocket มีเอกสารมากกว่า แต่ทั้งคู่ก็มีข้อมูลสำหรับเวอร์ชันเก่าอยู่มาก
ตัวเลือกสุดท้ายคือ
→ ถ้าจะสร้าง Production API ให้เลือก actix-web
ถูกใช้งานจริงในโปรดักชันมากที่สุด, ใช้ tokio, และมีชุมชนกับปลั๊กอินที่เติบโตเต็มที่
→ tide และ warp กำลังใช้ async ได้อย่างเต็มที่ที่สุด
→ เวอร์ชันถัดไปของ rocket ก็น่าจับตามองเช่นกัน
ยังไม่มีความคิดเห็น