- Rails 8 มีความมีประโยชน์มากสำหรับโครงการขนาดเล็กและนักพัฒนาเดี่ยว
- สามารถสร้าง แอประดับ production ได้อย่างง่ายดายด้วยคู่มือเริ่มต้นล่าสุด
- ด้วยการปรับปรุงของ SQLite ทำให้สร้างสภาพแวดล้อมฐานข้อมูลที่ทรงพลังได้โดยไม่ต้องใช้เซิร์ฟเวอร์เพิ่ม
- ตัวสร้าง การบูรณาการต่อเนื่อง (CI) และการยืนยันตัวตน ในตัวช่วยยกระดับประสิทธิภาพการพัฒนาและความปลอดภัย
- การ deploy แบบง่ายผ่าน Kamal ช่วยให้ให้บริการของคุณใช้งานได้อย่างรวดเร็วและปลอดภัย
ภาพรวม
- โดยอาศัยประสบการณ์การใช้งาน Rails 8 มันเป็น เว็บเฟรมเวิร์กที่ยอดเยี่ยม สำหรับโครงการขนาดเล็กหรือนักพัฒนาเดี่ยว
- ความสามารถด้านการพัฒนาที่เร็วขึ้น การ deploy อย่างมีประสิทธิภาพ และโมดูลในตัว ทำให้เห็นข้อได้เปรียบด้าน productivity เมื่อเทียบกับเฟรมเวิร์กคู่แข่งชัดเจน
จุดเด่นของคู่มือเริ่มต้นใหม่
- คู่มือ Getting Started with Rails เวอร์ชันล่าสุดจัดทำให้ผู้เริ่มต้นสามารถสร้าง แอประดับ production ได้
- แม้ว่าขั้นตอนการติดตั้ง Ruby จะยังค่อนข้างซับซ้อนอยู่บ้าง แต่ถ้าทำตามคำแนะนำในคู่มือก็สามารถสร้างบริการที่แข็งแรงได้ด้วย การยืนยันตัวตน, caching, rich text, การบูรณาการต่อเนื่อง และฐานข้อมูล
- ข้อเด่นไม่ใช่แค่แอป “Hello World” แต่คือการมอบพื้นฐานและฟังก์ชันที่เหมาะสมกับระดับบริการจริง
- เป็นจุดเริ่มต้นที่เหมาะสมที่สุดสำหรับผู้เริ่มต้นที่ยังไม่คุ้นเคยกับ Rails
SQLite ตัวเดียวก็เพียงพอ
- โดยพื้นฐานแล้ว SQLite เป็นเครื่องมือที่ยอดเยี่ยม แต่ก่อนหน้านี้การใช้งานในเชิง production เคยทำได้ยากเมื่อปรับค่าใช้งานจริง
- เดิมต้องทำงานเพิ่มเติม เช่น ติดตั้ง gem เพิ่มเติม แต่ใน Rails 8 สามารถใช้งานได้อย่างเสถียรในสภาพแวดล้อม production โดยไม่ต้องเพิ่มขั้นตอนใด ๆ
- ไม่จำเป็นต้องรัน PostgreSQL หรือเปิดใช้งานเซิร์ฟเวอร์แยก และหากใช้ solid cache ก็ไม่จำเป็นต้องมีเซิร์ฟเวอร์ redis
- การรันบริการด้วยเพียง Rails และ SQLite เท่านั้น ทำให้การสร้างและการดูแลระบบเรียบง่าย และช่วยเพิ่มความคุ้มค่าเชิงต้นทุนสูงสุด
การบูรณาการต่อเนื่อง (CI) ที่ใช้งานง่าย
- หลังจาก commit แรก ระบบจะส่งการแจ้งเตือนความล้มเหลวของ CI ได้แล้ว ซึ่งแสดงว่า Rails 8 มีการตั้งค่า CI ที่ผสานไว้ล่วงหน้า
- เชื่อมต่อกับ GitHub Actions ได้โดยไม่ต้องทำงานเพิ่มเติม และสามารถรับเวลาใช้งานฟรีได้เดือนละ 2,000 นาที
- สำหรับนักพัฒนาเดี่ยว มันถือว่าเป็นเวลาที่ค่อนข้างสบายตัวมาก
การนำตัวสร้างการยืนยันตัวตนมาใช้
- Gem ของการยืนยันตัวตนแบบ Devise ที่มีอยู่เดิมแม้จะทรงพลัง แต่ความซับซ้อนในการตั้งค่าทำให้ผู้เริ่มต้นรู้สึกยากได้
- ใน Rails 8 มีการเพิ่ม ตัวสร้างการยืนยันตัวตนแบบง่าย ทำให้สามารถเพิ่มเฉพาะผู้ใช้เดิมผ่านคอนโซลและสร้าง login flow ได้ง่าย
- โค้ดที่ถูกสร้างมีความง่ายและอ่านง่าย ทำให้ผู้เริ่มต้นเข้าใจได้โดยไม่ลำบาก
การ deploy ที่ง่ายและรวดเร็วด้วย Kamal
- กระบวนการ deploy ถูกดูแลโดย Kamal โดยคุณเพียงแก้ไขบางส่วนของไฟล์
deploy.yml และทำตามคำแนะนำ ก็สามารถเปิดใช้แอปในสภาพแวดล้อม SSL ได้ทันที
- การ deploy เว็บแอปนี้เกิดขึ้นได้รวดเร็วกว่าเชื่อม SSL กับ GitHub Pages
- การผสมผสานของ CI ที่รวมมาแล้ว และการ deploy ที่ง่ายเป็นอีกจุดเด่นที่เด่นชัดของ Rails 8
- เพียงทำตามคู่มือเริ่มต้น คุณก็สามารถมีประสบการณ์การพัฒนาที่สอดคล้องกับแนวปฏิบัติที่ดีที่สุดล่าสุดได้
บทสรุป
- Rails ยังคงเป็นเฟรมเวิร์กที่ทรงพลัง และยังคงพัฒนาอยู่
- หากคุณกำลังพิจารณาโครงการใหม่ในปีนี้ การลองพัฒนา ด้วย Rails 8 ย่อมมีคุณค่า
2 ความคิดเห็น
ช่วงนี้เห็นบทความเกี่ยวกับ SQLite กันเยอะมาก จนตอนนี้มาอยู่ในขั้นที่ ทุกอย่าง ก็เป็น SQLite แล้วนะ ควรเรียกว่านี่คือการฟื้นคืนความนิยมแบบคลาสสิกกันหรือเปล่านะ?
ความคิดเห็นจาก Hacker News
pragma user_versionของ SQLite จะทำให้การสร้างโค้ด DB แบบ type-safe และ migration ง่ายขึ้น การเพิ่ม SQLite ก็แค่ import สองบรรทัดในmain.goเท่านั้น ส่วนเทมเพลตมาตรฐานของ Go อย่างเดียวก็จัดการเทมเพลตข้อความฝั่ง frontend ได้พอสมควร และใช้embedใส่ static asset เข้า binary ได้ง่ายมาก การ deploy เองก็แค่go buildแล้วย้าย binary เท่านั้น การ generate โค้ดช่วยให้การพัฒนา backend ด้วย Go เร็วและสะดวกมากขึ้นgoravel devก็ลองสักครั้งก็น่าจะคุ้มADD CONSTRAINTและไม่รองรับภาษา PL หรือ stored proc ง่ายๆ จึงต้องวนรอบกลับไปที่ host language อยู่ตลอด ซึ่งกับภาษาที่เป็น statically typed จะยุ่งยากมาก