Chương 1.Giới thiệu

1.1. Giới thiệu chung

Ruby on Rails hay Rails là một framework được xây dựng dựa trên ngôn ngữ Ruby theo giấy phép MIT. David Heinemeier Hansson đã phát triển Rails từ công việc của mình trên công cụ quản lý dự án Basecamp. Rails là một framework Model-View-Controller cung cấp các cấu trúc mặc định cho cơ sở dữ liệu, web service và web page. Nó khuyến khích và tạo điều kiện sử dụng các tiêu chuẩn của web như Json hoặc XML để truyền dữ liệu và HTML, CSS và JavaScript để hiện thị . Ngoài ra, Rails còn sử dụng một số mẫu thiết kế và khuôn mẫu bao gồm convention over configuration (CoC), don't repeat yourself (DRY), and the active record pattern. Nó cho phép bạn viết ít code hơn lại làm được nhiều hơn so với ngôn ngữ và framework khác.

1.2. Ưu và nhược điểm của Rails

1.2.1 Ưu điểm

  • Quá trình lập trình nhanh hơn nhiều so với framework và ngôn ngữ khác, bởi vì bản chất của lập trình hướng đối tượng của Ruby và các bộ collection lớn của mã nguồn mở có sẵn trong cộng đồng Rails.
  • Các convension(qui ước) làm dễ cho các nhà phát triển để di chuyển giữa các dự án khác nhau của Rails, với mỗi dự án có xu hướng theo cùng cấu trúc và code thực tế.
  • Tốt cho việc phát triển các ứng dụng nhanh, làm dễ dàng cho phù hợp với thay đổi .
  • Code Ruby rất dễ đọc và tự bản thân code có thể làm tài liệu. Điều này làm tăng hiệu suất vì cần viết ít tài liệu, đồng thời dễ dàng phát triển các dự án có sẵn.
  • Phát triển trọng tâm về kiểm thử và là một framework tốt về kiểm thử
  • Rails và phần lớn thư viện là mã nguồn mở.

1.2.2 Nhược điểm

  • Không phải tất cả các host hỗ trợ Rails. Phần lớn đều hỗ trợ PHP, tuy nhiên Rails cũng thân thiện với các host có tồn tại như Heroku và EngineYard
  • Java và Php được sử dụng rộng rãi hơn, có nhiều nhà phát triển trên những ngôn ngữ đó.
  • ứng dụng Rails chạy không được nhanh như Java hoặc C nhưng đa số các ứng dụng chạy đủ nhanh.
  • Đối với người mới học Rails thì có vẻ rất phức tạp vì có nhiều quy ước nhưng sau một thời gian thì các quy ước này lại trở nên thuật tiện cho việc phát triển.
  • Khó triển khai hơn PHP.

1.2.3. Khi nào nên dung Rails

  • Cần code cơ sở và cơ sở dữ liệu mới.
  • Tốc độ phát triển nhanh.
  • Phát triển ứng dụng phức tạp.
  • Triển khai web
  • Dự án cần tương tác với khách hang.
  • Chi phí phát triển đắt đỏ.
  • Giá của dự án thay đổi.
  • Sớm nhận client/team