- Rails 8 rất hữu ích cho các dự án nhỏ và nhà phát triển một người
- Có thể xây dựng ứng dụng ở mức production một cách dễ dàng với hướng dẫn bắt đầu mới nhất
- Nhờ cải tiến của SQLite, có thể tạo ra môi trường cơ sở dữ liệu mạnh mà không cần máy chủ bổ sung
- Với CI và trình tạo xác thực tích hợp sẵn, hiệu quả phát triển và bảo mật được nâng cao
- Với cách triển khai đơn giản qua Kamal, có thể vận hành dịch vụ nhanh chóng và an toàn
Tổng quan
- Dựa trên kinh nghiệm sử dụng Rails 8, đây là khung web xuất sắc cho các dự án nhỏ hoặc nhà phát triển cá nhân
- Nhờ xây dựng nhanh, triển khai hiệu quả và mô-đun tích hợp sẵn, lợi thế về năng suất so với các framework cạnh tranh là nổi bật
Ưu điểm của hướng dẫn mới nhất
- Hướng dẫn mới Getting Started with Rails được thiết kế để người mới bắt đầu cũng có thể tạo ra một ứng dụng production
- Quá trình cài đặt Ruby vẫn còn phức tạp, nhưng nếu theo hướng dẫn, có thể xây dựng một dịch vụ vững chắc với đủ xác thực, caching, rich text, tích hợp liên tục (CI), cơ sở dữ liệu
- Điểm mạnh không phải là một ví dụ ‘Hello World’ đơn thuần, mà là việc cung cấp nền tảng và các tính năng ở mức độ dịch vụ thực tế
- Với người mới chưa quen với Rails, đây là điểm khởi đầu tối ưu
Chỉ cần SQLite là đủ
- SQLite vốn là công cụ tuyệt vời, nhưng trước đây nó khó cấu hình để dùng cho môi trường production
- Trước kia cần cài đặt thêm các gem, nhưng ở Rails 8, nó có thể được sử dụng ổn định trong production mà không cần công việc bổ sung nào
- Không cần chạy PostgreSQL hay khởi động server riêng, và khi dùng solid cache thì không cần server redis
- Dịch vụ có thể vận hành chỉ với Rails và SQLite, tối đa hóa độ đơn giản khi xây dựng và vận hành cũng như hiệu quả chi phí
Tích hợp liên tục (CI) dễ dàng
- Ngay sau commit đầu tiên, thông báo lỗi tích hợp liên tục (CI) đã có thể đến, cho thấy Rails 8 đã cung cấp sẵn cấu hình CI tích hợp
- Nó tự động tích hợp với GitHub Actions mà không cần thêm công việc và cung cấp 2.000 phút chạy miễn phí mỗi tháng
- Đối với nhà phát triển một người, đây là quỹ thời gian khá dồi dào
Giới thiệu trình tạo xác thực
- Các gem xác thực như Devise trước đây dù mạnh nhưng thường khiến người mới cảm thấy khó do độ phức tạp trong cấu hình
- Rails 8 bổ sung trình tạo xác thực đơn giản, chỉ cần thêm người dùng hiện có từ console là có thể hiện thực hóa luồng đăng nhập một cách dễ dàng
- Mã được tạo ra đơn giản và dễ đọc, nên người mới cũng dễ hiểu
Triển khai nhanh chóng và dễ dàng với Kamal
- Kamal chịu trách nhiệm toàn bộ quy trình triển khai; chỉ cần chỉnh sửa một phần nhỏ file
deploy.yml và làm theo hướng dẫn là có thể chạy ứng dụng ngay trong môi trường SSL
- Đây là trải nghiệm triển khai web app nhanh hơn so với việc kết nối SSL cho GitHub Pages
- Sự kết hợp giữa CI tích hợp liên tục và triển khai dễ dàng là điểm rất nổi bật của Rails 8
- Chỉ cần làm theo hướng dẫn khởi đầu, vẫn có thể có trải nghiệm phát triển phù hợp với best practice mới nhất
Kết luận
- Rails vẫn là một framework mạnh mẽ và đang tiếp tục phát triển
- Nếu năm nay bạn đang cân nhắc một dự án mới, việc thử phát triển với Rails 8 là điều đáng làm
2 bình luận
Dạo gần đây thấy rất nhiều bài viết về SQLite, giờ thì hóa ra SQLite đã đi đến mức mọi thứ đều dùng SQLite rồi.
Phải gọi đây là sự hồi sinh của thứ đã trở thành kinh điển không?
Ý kiến Hacker News
pragma user_versioncủa SQLite thì mã DB type-safe và migration cũng dễ hơn. Chỉ cần import hai dòng trongmain.gođể thêm SQLite. Với template chuẩn của Go đã đủ cho xử lý text frontend, và nhờembedmà asset tĩnh cũng đưa vào binary rất dễ. Việc deploy trực tiếp cũng chỉ cầngo buildrồi di chuyển binary, nên deploy trở nên rất đơn giản. Các công cụ sinh code đã làm backend Go nhanh và dễ hơn rất nhiều.ADD CONSTRAINTvà không hỗ trợ ngôn ngữ PL hay stored proc đơn giản, nên thường xuyên phải roundtrip về host language, với ngôn ngữ statically typed thì càng phiền.