Những Gem không thể thiếu khi viết ứng dụng Ruby on Rails


Khi lập trình ứng dụng Ruby on Rails, sẽ có lúc bạn chợt nhận ra rằng có những chức năng mà khách hàng nào cũng yêu cầu hoặc ứng dụng nào cũng cần có. Và tất nhiên khi đó cộng đồng tốt bụng đã có sẵn những người/nhóm phát triển các Ruby Gems để chúng ta tận dụng và nhanh chóng tích hợp vào ứng dụng để phục vụ cho yêu cầu của dự án.Ngoại trừ các gem được xem là bắt buộc phải có trong một ứng dụng sau (vì khách hàng thích chẳng hạn ^_^), sau đây là danh sách các Gem mà bản thân tác giả thường phải thêm vào Gemfile mỗi khi bắt đầu làm một project Ruby on Rails

1. Devise

Sign In/Sign Out, Forget Password, Confirm email… Đó là những tính năng mà bạn sẽ ngay lập tức nhận được khi thêm gem này vào trong ứng dụng. Hầu hết mọi ứng dụng tác giả đã làm cho đến bây giờ đều sử dụng Devise để chứng thực người dùng. Việc cấu hình và sử dụng gem này cũng khá là dễ dàng, khả năng tùy biến cũng rất cao.

2. Cancan

Sau khi đã chứng thực được người dùng, công việc quan trọng tiếp theo của ứng dụng là phân quyền cho người dùng đó trên ứng dụng. Cancan cho phép chúng ta định nghĩa được toàn bộ quyền hạn của 1 user ở 1 nơi duy nhất. Điều này giúp cho việc quản lý quyền rất dễ dàng. Nói chung, nếu có yêu cầu về phân quyền, hãy nghĩ đến Cancan

3. Omniauth

Ngày nay thì hầu hết các project mà mình làm thì đều có yêu cầu Đăng nhập bằng Facebook hoặc Google hoặc 1 nhà cung cấp nào đó. Omniauth là gem cho phép chúng ta thực hiện việc xác thực người dùng trên những dịch vụ này. Nếu ai đó nói với bạn về việc tích hợp đăng nhập với FB trên ứng dụng Ruby on Rails, đừng quên Omniauth.

4. Paperclip/Carrierwave

Hai gem này thường xuyên được mình sử dụng khi có các yêu cầu về upload tập tin và hình ảnh. Việc cấu hình cho các gem này cũng rất dễ dàng nếu như bạn muốn thay đổi nơi lưu trữ (Amazon S3 chẳng hạn). Tuy nhiên, hai gem này có những điểm mạnh và yếu riêng biệt mà người làm cần chú ý để phù hợp cho từng dự án. Lúc trước tôi thích dùng Carrierwave, gần đây thì tôi lại hay dùng Paperclip, chắc là do thị hiếu thay đổi😀.

Trên đây chỉ là một số Ruby Gems mà tác giả thường hay dùng trong các dự án Ruby on Rails. Còn bạn, bạn có đang sử dụng Ruby on Rails? Những Ruby Gems mà bạn yêu thích và thường hay sử dụng là gì?

Tác giả: xuanchien

Tran Xuan Chien. Japan Advanced Institute of Science and Technology - Japan. Senior Developer - NUS Technology.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s