Tại sao tôi không thích Ruby on Rails?

Ruby on Rails (RoR) được nói đến ở khắp mọi nơi, đi đâu cũng gặp. Mọi lời ca tụng đều dành cho nó, mặc định coi nó là công nghệ của web 2.0. Nhưng tôi không cho là như vậy, ít ra cũng chưa phải lúc.

Thứ nhất, RoR chưa stable! Cứ thử cài đặt RoR cho nó chạy với Apache xem, cách duy nhất là sử dụng Ruby với fastCGI. Nhưng cách này lại gặp phải vấn đề khi làm việc với Apache, dẫn đến mỗi khi có hit vào ứng dụng trên RoR, phải mất từ 5 giây trở lên để nó start. Có nhiều bài hướng dẫn để khắc phục, nhưng với riêng tôi thì vô vọng! Tôi không thích một trình chủ web nào khác Apache hết!

Thứ hai, RoR không có một chỗ dựa vững chắc. Bản thân PHP có Zend, có IBM, Yahoo… RoR có gì? Chỉ có cộng đồng phát triển nhỏ hẹp. RoR chỉ là một web framework, một kiến trúc, bản thân nó sử dụng ngôn ngữ Ruby. Tuy nhiên Ruby được tạo ra, và sử dụng với mục đích chính không phải là web. Nếu đột nhiên, Ruby bị cộng đồng của mình bỏ rơi thì sao? RoR sẽ đi về đâu? Nên nhớ trong gần 15 năm tồn tại của mình, Ruby chỉ đi được đến con số 1.8.5!

Thứ ba nữa, RoR thật sự không đảm bảo về tính scalable. Khi bạn xây dựng một ứng dụng cực lớn, nó đòi hỏi một là một công nghệ được đỡ đầu bởi một công ty khổng lồ (như .NET, Java), hai là phải có cộng đồng bự tổ chảng, tài nguyên phong phú (Java, PHP). RoR không nằm trong 2 dạng trên, nếu phát triển một ứng dụng web bằng ngôn ngữ Ruby, bạn chỉ có duy nhất một mình RoR, không có một nguồn tài nguyên nào khác, không có một sự support nào ngoài các wiki. Có run không bạn?

Thứ tư, PHP đã có câu trả lời cho RoR: Zend Framework, symfony, CakePHP…! RoR cool, RoR tuyệt vời, RoR ngon lành… nhưng thử hỏi, lựa chọn giữa Ruby 1.9 + RoR 1.3 chẳng hạn, với PHP 6 và Zend Framework 1.0 cho project của mình, bạn chọn cái nào? PHP là một phần của chữ LAMP lừng lẫy, bạn không phải lo lắng về độ “trơn tru” của hệ thống. Còn RoR thì sao? Tôi hơi run à nha!😀

RoR là một application framework với một “Bake”, một số framework trên PHP cũng sử dụng cái này, như symfony chẳng hạn. Nhưng tôi hoàn toàn ngán tận cổ phương pháp làm việc này, hoàn toàn không thích một chút nào. Tôi cũng không thích phải làm theo một quy trình cứng nhắc từ đầu đến cuối…

Cũng không thể phủ nhận một điều rằng, RoR là một kiến trúc đẹp, và nó tiết kiệm sức lao động rất nhiều. Nhưng điều đó một phần lớn là nhờ vào sự uyển chuyển của ngôn ngữ Ruby, RoR sẽ không thể đẹp như thế nếu Ruby là một ngôn ngữ giống như C++. RoR đã giúp tôi, và trước đó là rất nhiều PHP developer khác nhìn ra rất nhiều điều. Có thể nói, một trong số các động lực lớn nhất để PHP phát triển nhanh như hôm nay chính là sự xuất hiện của RoR. Of course, cảm ơn RoR!🙂


About this entry