- Ruby on Rails 8 รุ่นเบต้าแรกเปิดตัวอย่างเป็นทางการแล้ว
- เวอร์ชันนี้ต่อยอดจาก Rails 7.2 พร้อมเพิ่มฟีเจอร์ใหม่และการปรับแต่งประสิทธิภาพ เพื่อให้การพัฒนา Rails มีประสิทธิผลและสนุกยิ่งขึ้น
- ไฮไลต์สำคัญ
- ผสานการทำงานกับ Kamal 2
- นำ Propshaft มาใช้เป็น asset pipeline ค่าเริ่มต้นตัวใหม่
- มีการปรับปรุง ActiveRecord อย่างกว้างขวาง
- ยกระดับการผสานรวม SQLite ให้เป็นตัวเลือกที่เหมาะกับการใช้งานในโปรดักชัน
การดีพลอยที่ง่ายดายด้วย Kamal 2 และ Thruster
- ทำให้การดีพลอยแอปพลิเคชันง่ายขึ้นด้วย Kamal 2 และ Thruster
- Kamal 2 ช่วยให้ดีพลอยได้อย่างรวดเร็วและง่ายดายบน cloud VM, bare metal server หรือสภาพแวดล้อม VPS ช่วยลดการพึ่งพา managed cloud service และแพลตฟอร์ม PaaS
- ด้วยคำสั่ง
kamal setup เพียงคำสั่งเดียว ก็สามารถตั้งค่าสภาพแวดล้อม Rails ที่พร้อมสำหรับโปรดักชันบน Linux มาตรฐานได้
- นอกจากนี้ยังผสานกับ Thruster เพื่อรองรับการดีพลอยแบบไม่มี downtime, รองรับ HTTP/2, SSL อัตโนมัติผ่าน Let's Encrypt, การบีบอัด Gzip และโฮสต์หลายแอปบนเซิร์ฟเวอร์เดียวได้อย่างง่ายดาย
การดีพลอย Rails ที่เรียบง่ายขึ้นด้วย Solid Adapters
- หนึ่งในการปรับปรุงสำคัญของ Rails 8 คือการทำให้การดีพลอยง่ายขึ้น ด้วยการลดจำนวนบริการเสริมที่จำเป็นต่อการรองรับความต้องการทั่วไปของเว็บแอปพลิเคชัน
- ใช้เพียง SQLite ก็สามารถจัดการ job queue, caching และการส่งข้อความแบบ pub/sub ได้ผ่านอะแดปเตอร์แบบอิงฐานข้อมูลใหม่ 3 ตัว ได้แก่ Solid Cable, Solid Cache และ Solid Queue
SQLite ที่พร้อมสำหรับโปรดักชัน
- ทำให้ SQLite จากเดิมที่เป็นเครื่องมือพัฒนาน้ำหนักเบา กลายเป็นตัวเลือกที่เชื่อถือได้และเหมาะสำหรับการใช้งานในโปรดักชัน
- ด้วยการพัฒนาอย่างกว้างขวางทั้งใน SQLite adapter และ Ruby driver ตอนนี้ SQLite สามารถรองรับ Action Cable, Rails.cache และ Active Job ได้อย่างมีประสิทธิภาพ
ยุคใหม่ของ asset pipeline ด้วย Propshaft
- นำ Propshaft มาเป็นค่าเริ่มต้นใหม่ของ asset pipeline เพื่อแทนที่ระบบ Sprockets ที่ใช้งานมาอย่างยาวนาน
- Propshaft สะท้อนแนวทางที่เรียบง่ายและทันสมัยในการจัดการ asset ให้สอดคล้องกับความต้องการหลักของนักพัฒนายุคใหม่
ระบบยืนยันตัวตนแบบฝังในที่ง่ายขึ้น
- มีคำสั่งสำหรับตั้งค่าระบบยืนยันตัวตนได้อย่างง่ายดาย พร้อม session แบบอิงฐานข้อมูลและฟังก์ชันรีเซ็ตรหัสผ่าน
- คำสั่งนี้จะสร้างไฟล์สำคัญ เช่น model, controller, mailer และ view เพื่อให้สร้างระบบยืนยันตัวตนที่ปลอดภัยและพร้อมใช้งานในโปรดักชันได้อย่างรวดเร็ว
โฟลเดอร์สคริปต์และตัวสร้างใหม่
- เพิ่มโฟลเดอร์
script ใหม่สำหรับเก็บสคริปต์แบบใช้ครั้งเดียวหรือสคริปต์อเนกประสงค์ เช่น data migration, งานทำความสะอาด หรือ utility อื่น ๆ
- มี script generator ใหม่ที่ช่วยให้สร้างและรันสคริปต์ได้ง่าย
การปรับปรุง Active Record หลากหลายด้าน
- มีการปรับปรุงสำคัญใน Active Record เพื่อเพิ่มประสิทธิภาพ ทำให้ migration ง่ายขึ้น ช่วยแก้ปัญหาได้ดีขึ้น และรองรับกรณีใช้งานฐานข้อมูลที่ซับซ้อน
สรุปแบบ GN⁺
- Rails 8 นำเสนอการอัปเดตหลากหลายที่ช่วยเพิ่มประสิทธิภาพการทำงานของนักพัฒนาและสอดคล้องกับแนวปฏิบัติสมัยใหม่ ทำให้สามารถโฟกัสกับการสร้างแอปพลิเคชันแทนการจัดการความซับซ้อนของโครงสร้างพื้นฐาน
- การดีพลอยที่ง่ายด้วย Kamal และ Thruster, การจัดการ asset แบบทันสมัยด้วย Propshaft และความพร้อมของ SQLite สำหรับโปรดักชัน คือจุดเด่นสำคัญของ Rails 8
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
Ruby และ Rails ดูเหมือนกำลังกลับมาได้รับความนิยมอีกครั้งในช่วงนี้
ปัญหาใหญ่ที่สุดของ Ruby ก็ยังคงเป็นเรื่องเอกสารประกอบ
กำลังทำงานในโปรเจ็กต์ที่ใช้ Rails และสถาปัตยกรรมแบบ microservices
Rails เป็นเฟรมเวิร์กที่มอบทั้งประสิทธิภาพในการพัฒนาและความเสถียรสำหรับเว็บโปรเจ็กต์ใหม่
บางครั้งก็คิดว่าน่าจะเลือก Ruby/RoR แทน Node.js เมื่อ 10-15 ปีก่อน
แม้จะไม่ได้ใช้ Rails แต่ Solid Adapters ก็ดูน่าสนใจมาก
แม้จะเป็นนักพัฒนา Go เป็นหลัก แต่ก็เริ่มใช้ Rails ตอนเวอร์ชัน 7 ออกกับโปรเจ็กต์งานอดิเรก
เคยลอง Rails มาหลายครั้ง แต่รู้สึกว่า Node เข้าใจง่ายกว่า
เป็นนักพัฒนา Rails ที่มีประสบการณ์ 20 ปี และกำลังหางานประจำแบบ full-time
ใช้ RoR มาตั้งแต่ปี 2008 และมันก็ยังเป็นเฟรมเวิร์กที่ทรงพลังและยืดหยุ่น