Trong bài viết này tôi sẽ chia sẻ những công nghệ trong lập trình giao diện để có thể tạo một ứng dụng website Ruby on Rails.

Học lập trình web Ruby on Rails

Những thư viện mà tôi chỉ cho các bạn trong bài này sẽ là những lựa chọn tốt nhất để bạn có được những giải pháp cho các vấn đề phức tạp theo phương thức Agile và Dry trong khoảng thời gian nhanh nhất có thể.

Những thư viện này là cốt lõi của Gemfile (file chứa danh sách các thư viện sẽ dùng trong dự án Rails) vì chúng cho phép chúng ta xử lý các vấn đề thường gặp trong mọi ứng dụng. Ngoài ra có rất nhiều các thư viện khác được dùng hỗ trợ để phát triển chức năng xã hội, các mẫu kiểm toán, kết hợp với các API bên ngoài và nhiều hơn nữa.

Devise (https://rubygems.org/gems/devise): Những năm gần đây, Devise đã trở thành hệ thống xác thực người dùng rất được ưa chuộng bở các lập trình viên Rails. Mạnh mẽ, hỗ trợ tạo giao diện mẫu, linh hoạt và tích hợp với các hệ thống xác thực mở (Oauth) một cách dễ dàng.

Haml (https://rubygems.org/gems/haml): Giúp các bạn viết XHTML dễ dàng hơn, thời lượng học ít hơn

Gritter (https://rubygems.org/gems/gritter): Từ các tin định dạng flash nhảy lên trên các trang web, chũng ta đã chuyển sang thông báo Growl. Nhờ các pop-up này chúng ta có thể cho các tin nhắn flash xuất hiện một cách đẹp đẽ và không làm phiền người đọc.

Cells (https://rubygems.org/gems/cells): Cells giúp cho màn hình gọn hơn. Chúng ta dùng Cells để thể hiện và lưu vào bộ nhớ tạm nhiều thành phần của ứng dụng như “mặt hàng nóng”, “mặt hàng giảm giá”… Bản thân tôi rất thích dùng Cells.

FriendlyId (https://rubygems.org/gems/friendly_id): Thư viện hoàn hảo giúp SEO cho trang các địa chỉ trên trang web của bạn.

SimpleForm (https://rubygems.org/gems/simple_form): Dễ dàng tích hợp với Bootstrap và sử dụng.

Paperclip (https://rubygems.org/gems/paperclip): Dù sau bao nhiêu năm, Paperclip vẫn là thư viện đáng tham khảo cho việc quản lý file đính kèm.

Kaminari (https://rubygems.org/gems/kaminari): Thư viện dùng để phân trang.

Cancan (https://rubygems.org/gems/cancan): Đây là sự lựa chọn của chúng tôi khi quản lý việc phân quyền. Chúng tôi chưa bao giờ thấy cần thiết phải thay đổi điều này.

Resque (https://rubygems.org/gems/resque) hay  Delayed Job (https://rubygems.org/gems/delayed_job): Cả 2 đều rất cần thiêt trong việc quản lý các quá trình chạy ngầm. Nếu bạn không thể làm Redis server thì chúng tôi khuyên bạn dùng Delayed Jobs.

Sunspot (https://rubygems.org/gems/sunspot): Sau một thời gian dùng thinking_sphinx, chúng tôi đã chuyển sang thư viện đánh index rất mạnh mẽ này. Nhờ có Solr, chúng tôi có thể dễ dàng cài đặt full text search. Vấn đề duy nhất là bạn sẽ phải cấu hình một server chuyên dụng – Tomcat. Nếu bạn không thể làm điều này, chúng tôi khuyên bạn dùng pg_search (https://rubygems.org/gems/pg_search) với Postgres database hoặc là meta_search (http://rubygems.org/gems/meta_search) .

ActiveAdmin (https://rubygems.org/gems/activeadmin): Nêu bạn cần phải thiết lập một bộ máy hành chính quản lý trong một thời gian ngắn thì đây là sự lựa chọn chính xác.

Letter opener (https://rubygems.org/gems/letter_opener): Hữu dụng khi kiểm thử gửi email bằng cách mở ra trên một trình duyệt

RSpec (https://rubygems.org/gems/rspec): Một công cụ quá tuyệt vời để thực hiện lập trình ứng dụng Rails theo phương thức TDD, BDD. Nó cho phép chúng ta viết các script test tự động

Capybara (https://rubygems.org/gems/capybara) : Ngoài việc viết script test model bằng Rspec, chúng tôi cũng rất thích tạo ra các bộ kiểm thử sự chấp thuận. Capybara cho phép bạn kiểm thử tất cả các chức năng người dùng trong thời gian rất ngắn.

Bài dịch từ Devinterface

Tham khảo khóa học Ruby on Rails của TechMaster Vietnam