ruby roda lap-trinh - It costs 3 mins to read

Vậy là cũng gần 2 năm kể từ khi mình trở lại với con đường Coder - Tôi đã học Ruby như thế nào. Và cũng ngần ấy thời gian, mình đã gắn bó với Ruby, ăn ngủ cùng Rails. Tuy nhiên, Ruby không chỉ có Rails, việc sử dụng Rails quá nhiều dẫn đến mình bị lệ thuộc vào Rails và các magic, monkey patching của Rails. Vì vậy, mình quyết định sẽ tìm hiểu thử các framework khác của Ruby và áp dụng cho các dự án side project sắp tới của mình.

Ban đầu, mình định quay lại với Sinatra, dù gì thì trước kia, mình đã từng dùng Sinatra và ít ra đã đọc và follow hết quyển Jump Start Sinatra rồi. Sau đó, một số cái tên đã được thêm vào short list của mình như Hanami (Lotus), CUBARoda. Và mình đã chọn Roda bởi vì…

Giới thiệu

Tham khảo bài viết Why Roda?

Liên kết hữu ích

Một số liên kết đáng tham khảo khác:

Ứng dụng OpenSource viết bằng roda:

Trong quá trình phát triển ứng dụng, một phần không thể thiếu (nếu ứng dụng có tương tác với database) là ORM và Authentication. Với Roda, ORM tốt nhất là Sequel và Authentication thích hợp nhất là Rodauth, bởi cả 2 gem này đều do tác giả của Roda là Jeremy Evans phát triển và duy trì. Trong đó, Sequel được đánh giá là không thua kém so với ActiveRecord quen thuộc của Rails (Nói về Performance thì Sequel ăn đứt ActiveRecord nhé - xem chi tiết).

Một số liên kết hữu ích khi tìm hiểu vể Sequel:

Khi còn dev app bằng Sinatra thì mình dùng DataMapper cho ORM.

Các plugins mình đã dùng cho side project đầu tiên - Worklog Assistant - được viết bằng roda:

Đọc thêm bài The Plugin System of Sequel and Roda để hiểu mô hình này so với các gem của Rails như thế nào.

Deploy

Có thể áp dụng các tutorial deploy dành cho sinatra, bởi vì roda cũng giống sinatra, cũng thuộc dạng Rack-based.