12/08/2018, 14:33

Ưu, nhược điểm của Ruby on Rails.

Trong bài viết này, mình muốn đưa đến cho các bạn một số lý do và giải thích tại sao mình nghĩ rằng Ruby là một sự lựa chọn tuyệt vời cho một ứng dụng web hiện đại. Để làm rõ sựu khác nhau giữa các ngôn ngư lập trình một cách ngắn gọn mà rõ rằng là rất khó khăn bởi vì có rất nhiều ngôn ngữ khác ...

Trong bài viết này, mình muốn đưa đến cho các bạn một số lý do và giải thích tại sao mình nghĩ rằng Ruby là một sự lựa chọn tuyệt vời cho một ứng dụng web hiện đại. Để làm rõ sựu khác nhau giữa các ngôn ngư lập trình một cách ngắn gọn mà rõ rằng là rất khó khăn bởi vì có rất nhiều ngôn ngữ khác nhau mà mỗi loại thì đều phát triển, cập nhập thường xuyên, và bị ảnh hưởng từ một loại ngôn ngữ cha nào đó. Hãy cùng xem qua biểu đồ phát triển dưới đây để xem sự liên hệ giữa các ngôn ngữ lập trình khác nhau:

Tất cả các ngôn ngữ lập trình đều có những người luôn tìm cách dìm hàng và mội đội quân những người ủng hộ sẽ bác bỏ tất cả những gì có thể coi là tiêu cực về ngôn ngữ lập trình mà họ chọn. Điều này sẽ làm cho những người không có kinh nghiệp lập trình gặp khó khăn để hiểu sự khác nhau giữa các ngôn ngữ và làm giảm đi độ phong phú của những lựa chọn ngôn ngữ cho một dự án. Chúng ta thường thấy những khách hàng có ít hiểu biết về lập trình thường chọn sử dụng những ngôn ngữ mà họ cảm thấy quen thuộc (những ngôn ngữ họ đã từng nghe qua) mà bỏ qua những ngôn ngữ có thể giúp cho dự án của họ phát triển một cách tốt hơn. Kết quả của vấn đề này là những ngôn ngữ có chiến lược quảng bá rộng rãi, hiệu quả sẽ được lựa chọn.

Ngôn ngữ lập trình cũng tương tự như một chiếc xe hơi!

Nếu bạn không phải là một lập trình viên thì hãy hãy tưởng tượng mỗi ngôn ngữ lập trình là một chiếc xe hơi. Một số loại xe thì chậm chạp và phiền phức, tuy nhiên lại rất đáng tin cậy. Một số khác thì xấu xí và khó lái nhưng các bộ phận thì lại rẻ và phong phú. Một số khác thì chạy nhanh và rất thú vị nhưng việc điều khiển rất nguy hiểm và dịch vụ thì rất đắt. Bạn sẽ không thể lái một chiếc Ford trong một cuộc đua F1 và cũng rất bất tiện, tốn kém khi cưỡi một con McLaren F1 để đi làm. Do đó, nếu bạn muốn dự án của mình chạy một cách tương đối hoàn hảo thì bạn cần phải lựa chọn ngôn ngữ thích hợp nhất cho mình. Dưới đây là một số ngôp ngữ lập trình phổ biến và loại xe tương ứng theo đánh giá của mình:

Ngôn ngữ Loại xe Lý do
GoLang Tesla Tương lai của ngôn ngữ lập trình, tuy nhiên tôi cần một vài người quen biết làm vật thí nghiệm trước (yaoming)
Haskell Batmobile Trông rất tuyệt nhưng bạn sẽ không bao giờ biết làm sao để lái được nó
Java Hummer Sử dụng nhiều tài nguyên hơn cần thiết
Perl Classical Mini Một loại xe cổ điển bị ảnh hưởng bơi nhiều loại xe khác, nhưng không thực tế
PHP Fiat Mutipla Xấu xí, không ai muốn mình bị nhìn thấy khi lái loại xe này
Ruby Smart Car Thiết kế thực tế. Nó sẽ đưa bạn đi vòng quanh thành phố một cách nhanh chóng nhưng không thể sử dụng tốt trên đường cao tốc.
Python VW Golf Mạnh mẽ, đáng tin cậy.
NodeJS Bicycle Không có yêu cầu gì. Một loại xe sử dựng mọi ngày cho mọi người.
.NET Zipcar Phải thuê, xe của bạn nhưng thực chất lại thuộc về người khác.

Lợi ích khi sử dụng Ruby on Rails

Vậy tại sao lại là RoR. Mình nhận ra rằng Ruby cung cấp cho chúng ta một sự kết hợp giữa những các công cụ tốt nhất, thư viện code chất lượng và cách tiếp cận tốt tới phần mềm. Bên cạnh đó cộng đồng Ruby cũng cực kỳ lớn.

  • Công cụ: Rails cung cấp cho ta công cụ tuyệt vời giúp chúng ta triển khải được nhiều tính năng hơn mà lại tốn ít thời gian hơn. Nó cung cấp cho ta một cấu trúc chuẩn cho ứng dụng web.
  • Thư viện: Rails cung cấp cho ta gem, thứ có thẻ thay thế hầu hết cho mọi thứ mà bạn có thể nghĩ ra được. Hơn nữa, tất cả gem đều có thể sử dụng một cách hoàn toàn miền phí và có thể dễ dàng tra cứu tại https://rubygems.org/.
  • Chất lượng code: Nhìn chung, mình nhận thấy rằng chất lượng của các phần mềm hỗ trợ Ruby code là cao hơn so với một số ngôn ngữ khác.
  • Cộng đồng: Cộng đồng Ruby rất lớn. Mình tin rằng điều này giúp cải thiện những sản phẩm của Ruby rất nhiều và đây cũng là một lý do mà thư viện của Ruby lại tuyệt vời như vậy. Ruby cũng là một trong số những ngôn ngữ lập trình phổ biến nhất trên Github.
  • Hiệu suất: RoR là một ngôn ngữ gọn gàng, khi mà sử dụng kết hợp cùng các thư viện hỗ trợ, RoR cho phép bạn phát triển một cách khá là nhanh chóng.
  • Tương lai: RoR có thể được xem là ngôn ngữ được lựa chọn trong các trang học lập trình trực tuyến phổ biến như Makers Academy, CodeCademy . Điều này có nghĩa là số lượng lập trình viên tài giỏi tham gia vào cộng đồng Ruby sẽ tăng lên trong các năm tới.

Nhược điểm của Ruby on Rails

Đương nhiên không có một ngôn ngữ nào là hoàn hảo và Rail cũng không phải là một ngoại lệ. Dưới đây là những nhược điểm đáng lưu ý của Rails:

  • Thời gian chạy: Phần lớn những cuộc tranh luận về Rail đều có những ý kiến răng Rails chậm. Điều này hoàn toàn đúng, so với NodeJS hay GoLang, Rails có tốc độ chạy khá chậm. Mặc dù trong thực thế, hiệu suất của ứng dụng Rails rất khó làm chậm lại việc kinh doanh, Vấn đề thường nằm ở việc thiết kế server, thậm chí là cả cơ sở dữ liệu.
  • Tốc độ boot: Vấn đề chính gây khó chịu khi làm việc với Rails là tốc độ boot của Rails framework. Phụ thuộc vào số lượng gem và file, chúng ta có thể mất một khoảng thời gian kha khá để khởi động, điều này có thể ảnh hưởng trực tiếp tới hiệu suất làm việc. Với việc Spring ra đời, tốc độ boot đã được cải thiện nhưng có vẻ như nó vẫn còn có thể nhanh hơn nữa.

A joke will refresh your mind             </div>
            
            <div class=

0