Nhân sự kiện đoàn tác giả ngôn ngữ Ruby và ROR tổ chức hội thảo Ruby HCM Forum 2012 tại HCM, tôi xin phép chia xẻ một số thông tin về Ruby On Rails, nền tảng lập trình web ít phổ biến tại VN nhưng lại khá phổ biến trên thế giới đặc biệt ở Hoa Kỳ và Nhật Bản.
Khoảng năm 2007, tôi và nhóm lập trình tại Trivision có nhận được một dự án web làm trên Ruby On Rails (ROR), lúc đó mới là bản 0.9x thì phải. Đặc điểm nổi bật của ROR là:
– Sử dụng ngôn ngữ lập trình Ruby do tác giả Yuikihiro Matsumoto sáng tạo ra.
– Các Design Pattern quan trọng:
1- Model View Controller: tách được dữ liệu, giao diện, và logic lập trình. Lúc này lập trình viên .NET vẫn say xưa với ASP.net WebForm, mô hình SmartUI hay còn gọi là CodeBehind (phía trước là giao diện, phía sau là logic, tất cả cho vào một cặp file. Cách làm này dần trở nên lỗi thời vì khó bảo trì, nâng cấp tuy ban đầu dễ lập trình và làm thử)
2- Convention Over Configuration: Quy ước thay cho Cấu hình. Khi nhóm phát triển cùng tuân theo một số quy ước, thì ứng dụng khỏi cần những cấu hình hay can thiệp, lựa chọn từ lập trình viên. Đỡ mệt đầu nhưng lại khó tune, hack…
3- Database Schema Continuous Migration: lập trình viên thiết kế model rồi gõ lệnh để sinh mã tạo schema trong CSDL. Việc này có thể làm trong suốt quá trình phát triển, thay đổi model chỗ nào, thì chỉ sửa CSDL chỗ đó. Tính năng này mãi sau này Microsoft mới học để đưa ra Entity Framework, điển hình là CodeFirst vừa học của ROR vừa học của Hibernate.
Ruby On Rails có thể chạy và cài đặt trên mọi hệ điều hành. Tôi thích dùng Aptana Studio để lập trình ROR, giao diện đẹp, thân thiện, tính năng đầy đủ. Các package của ROR thì rất nhiều, có thể tìm qua lệnh gõ hoặc giao diện trên Aptana. Sau này Microsoft cũng bắt chiếc tạo ra NuGet tích hợp vào trong Visual Studio với chức năng y hệt. Có lẽ nếu Apple sở hữu ROR thì chắc chúng ta đã chứng kiện một vụ kiện tụng tung trời rồi
Ruby On Rails dễ học như PHP, nhưng dễ bảo trì hơn PHP rất nhiều. Vài năm sau xuất hiện hàng loạt các thư viện MVC cho PHP như CakePHP, CodeIgnitor, Zend, Symphony, YII khiến các fan PHP thấy đỡ thiệt thòi. Có nhiều tranh luận về khả năng chịu tải và tốc độ của ROR so với PHP, tôi sẽ tìm hiểu và trình bày ở một dịp khác vì đây là việc tế nhị.
Rồi lại có tay lập trình viên chia xẻ một bài viết rất nổi tiếng “7 Lý do tại sao tôi quay về với PHP sau 2 năm sử dụng PHP“. Bà con lại vào comment, hóng chuyện ầm ầm.
Xét cho cùng, nếu bạn là lập trình viên PHP, ASP.net thì cũng nên xài thử ROR một lần cho biết. Số lượng dự án gia công ROR của nước ngoài cũng không ít. Cả làng học PHP, ta một mình đi hướng riêng làm ROR khỏi cạnh tranh mệt đầu, chuyên tâm làm thật cũng đủ sống.
Còn đây là một vài slide, bạn nên tham khảo về ROR. Nếu bạn, công ty bạn muốn học sâu về ROR, hay cho chúng tôi biết, nếu số lượng đủ lớn, TechMaster sẽ mời lập trình viên Ruby On Rails nhiều năm kinh nghiệm để mở lớp đào tạo. Các giải pháp cao cấp như caching, real time notification hay bình dân như AJAX đều có ở ROR.
Bình luận