Ruby on Rails là gì? Ruby on một framework mã nguồn mở được thiết kế để phát triển các ứng dụng viết bằng ngôn ngữ Ruby và cho phép chúng chạy như một trang web thực sự. Nói cách khác, Ruby on Rails là phương tiện giao tiếp, là sợi dây kết nối giữa ngôn ngữ lập trình Ruby và web.
Học Ruby on Rails đã không còn quá khó với 17 tài liệu chất nhất do ITviec chọn lọc, giúp bạn :
- Nắm vững ngôn ngữ lập trình Ruby và biết được web framework Ruby on Rails là gì
- Tham gia cộng đồng Ruby on Rails chất, mở rộng network
- Cập nhật kiến thức Ruby on Rails mới nhất
Xem việc làm Ruby on Rails Developer tại ITviec
Ruby on Rails là gì? Học Ruby on Rails để làm gì?
Trước khi tìm hiểu về Ruby on Rails, chúng ta sẽ nói về ngôn ngữ Ruby. Ruby là ngôn ngữ lập trình hướng đối tượng được sáng tạo năm 1993 bởi Yukihiro Matz Matsumoto. Với niềm tin rằng mục đích của cuộc sống là hạnh phúc, Ruby ra đời nhằm giúp công việc lập trình trở nên dễ dàng và vui hơn.
Tuy nhiên, ngôn ngữ Ruby không được thiết kế để sử dụng trên web. Hay nói cách khác, để làm các trang web/ứng dụng web với Ruby, bạn cần đến các framework hỗ trợ khác.
Ruby on Rails là một web framework mã nguồn mở được thiết kế để phát triển các ứng dụng Ruby và cho phép chúng chạy như một trang web thực sự. Rails là cách gọi tắt của Ruby On Rails, thường được các developer sử dụng trong công việc.
Thực tế là có rất nhiều framework ra đời để làm việc với Ruby nhưng Rails là phổ biến nhất. Rails cung cấp mọi thứ giúp bạn viết ứng dụng web với Ruby một cách dễ dàng.
Ngoài Rails, Ruby Developer cũng có thể cân nhắc các framework khác như Sinatra hay Hanami.
Tham khảo ngay: Top 5 framework phổ biến nhất dành cho Web Developer
Tại Việt Nam, do nhu cầu tuyển dụng cao mà nguồn nhân lực khan hiếm, nên developer học Ruby on Rails có nhiều cơ hội nhận được mức lương cao hơn hẳn các .NET hoặc PHP developer cùng cấp bậc hoặc kinh nghiệm.
Theo khảo sát nhanh của ITviec, một Ruby on Rails developer chất có thể nhận mức lương $2000 hoặc hơn.
Học Ruby on Rails như thế nào?
Bạn cần học ngôn ngữ Ruby trước khi học Rails, vì:
- Code bạn viết trên Rails là bằng Ruby. Rails framework chỉ giúp việc code trở nên thuận lợi và gọn gàng hơn, giúp xây dựng các ứng dụng nhanh chóng hơn.
- Một khi đã hiểu rõ ngôn ngữ Ruby, bạn sẽ thấy học Ruby on Rails dễ như ăn kẹo vậy.
- Nắm vững ngôn ngữ Ruby, bạn sẽ hiểu gems, hay các tài liệu Ruby và Rails sâu sắc hơn.
Tài liệu học Ruby on Rails mới nhất và đầy đủ nhất
I – TÀI LIỆU HỌC LẬP TRÌNH RUBY
- 1. Learning Programming
Nếu bạn vẫn còn phân vân, chưa biết Ruby on Rails là gì thì trước hết, bạn nhất định phải hiểu ngôn ngữ Ruby là gì đã. Và đây là cuốn sách dành cho newbie khi đến với ngôn ngữ lập trình này.
Sách rất ngắn gọn, súc tích. Văn phong hài hước, thú vị. Đặc biệt, tác giả đã rất thành công trong việc giới thiệu các chủ đề, dẫn dắt các nội dung liên quan một cách sáng rõ.
Không chỉ hướng dẫn cách để code, cuốn sách còn giúp người đọc hình dung được như thế nào là code đẹp, độc đáo, và đầy cảm hứng. Đây là sự khởi đầu tốt cho những ai lần đầu tiên tìm hiểu về coding.
- 2. Learning Ruby the Hard Way
Muốn tìm hiểu ngôn ngữ Ruby, hãy tìm đến cuốn sách Learning Ruby the Hard Way – A Simple and Idiomatic Introduction to the Imaginative World Of Computational Thinking with Code của tác giả Zed A. Shaw.
Đúng như tên gọi, sách hơi khô khan “khó nhằn” và không dễ “nuốt”. Tuy nhiên, một khi hoàn thành nó, bạn sẽ thấy công sức bỏ ra là xứng đáng.
Thông qua cuốn sách, bạn sẽ học được những kiến thức lập trình Ruby căn bản. Các bài tập thực hành rất thú vị và thực tế. Đúng như tác giả cam kết cho độc giả sau khi hoàn thành cuốn sách, “You WILL learn Ruby!” – Bạn NHẤT ĐỊNH SẼ học được Ruby!
- 3. Programming Ruby
Nếu bạn đã có kinh nghiệm lập trình và muốn tìm hiểu thêm về ngôn ngữ Ruby, cuốn sách này dành cho bạn.
Lưu ý:
Đừng bỏ qua Chương 27, Metaprogramming. Đây là phần nội dung xuất sắc nhất của cuốn sách, giải thích rất rõ về object model của Ruby.
Ngoài ra, sách cũng hướng dẫn cách lập trình bằng ngôn ngữ Ruby, cách install và configure, cũng như một số chủ đề nâng cao khác. Phần cuối sách là library reference.
- 4. Practical Object-Oriented Design in Ruby
Một cuốn sách tuyệt vời của Sandi Metz. Dù đề cập chính đến ngôn ngữ Ruby, rất nhiều ý tưởng và triết lý của tác giả có thể áp dụng chung cho mọi ngôn ngữ lập trình, như:
- Nên dành thời gian xứng đáng cho việc thiết kế phần mềm, bởi vì sự cẩu thả hôm nay có thể sẽ phải trả giá đắt trong tương lai.
- Lựa chọn phương pháp thiết kế waterfall hay agile.
- 3 luật quan trọng nhất khi thiết kế hướng đối tượng:
+ Sending message: giúp các đối tượng gửi thông điệp cho nhau qua một interface rõ ràng, dễ hiểu nhất
+ Single Responsibility: chỉ nên mô tả mỗi class trong 1 câu, giúp logic của class thống nhất và chặt chẽ
+ Writing loosely coupled code: thiết kế các class không phụ thuộc vào nhau, và càng ít “kết dính” code với nhau càng tốt
Ngoài ra, sách cũng đề cập đến những chủ đề quan trọng khác như Automation Test.
Xem thêm Automation Test là gì? Khi nào cần sử dụng Automation Test?
- 5. Design Patterns in Ruby
Hầu hết những cuốn sách viết về design patterns đều dựa trên nền tảng C++ hoặc Java. Nhưng ngôn ngữ Ruby thì khác – đây là loại ngôn ngữ lập trình đặc biệt khiến cho các design patterns trở nên dễ dàng hơn trong việc thực hiện và sử dụng.
Trong sách này, Russ Olsen sẽ chỉ rõ làm cách nào để kết hợp sức mạnh của Ruby với các design patterns và viết lại chúng một cách hiệu quả nhất nhưng lại tốn ít dòng code hơn những cách thông thường.
II – SÁCH HỌC RUBY ON RAILS
- 6. Ruby on Rail Tutorial
Muốn hiểu rõ Ruby on Rails là gì, cách tốt nhất là học từ thực hành. Tác giả đưa ra một ứng dụng đơn giản (Twitter clone) và hướng dẫn từ đầu tới cuối, bao gồm cả cài đặt, xây dựng môi trường phát triển, kiểm soát source, và testing.
Những tool bạn được hướng dẫn sử dụng đều rất tốt và miễn phí, và có thể dùng trong môi trường làm việc thực tế.
Do hướng đến độc giả newbie hoàn toàn chưa có kinh nghiệm lập trình, nên sách có những phần giải thích cặn kẽ, chi tiết về các khái niệm cực kì cơ bản như SQL queries và CSS selectors.
Bạn có thể download sách miễn phí tại đây.
- 7. Agile Web Development with Rails (4th Edition)
Nội dung bao gồm:
- Cung cấp cái nhìn tổng quan về Rails
- Cách để automated testing (functional/unit testing)
- Mô tả các chi tiết thực hiện và tại sao Rails hoạt động
Nhìn chung, sách bao quát hầu hết các vấn đề thường gặp nhất khi xây dựng ứng dụng web.
Xem thêm sách lập trình kinh điển do ITviec chọn lọc
- 8. Trailblazer
Cuốn sách của tác giả Nick Sutterer, giới thiệu thêm một số layer mang tính trừu tượng trên Rails. Cung cấp cho Developer các cấu trúc và hướng dẫn Architect bổ sung cho Rails để trả lời câu hỏi cuối cùng “Tôi nên đặt loại code này ở đâu?”.
Đừng bỏ qua chương 4 nói về thành phần Cells – 1 gem được sử dụng để gộp cả view lẫn controller lại thành 1 package, phát huy tối đa tính đóng gói, kế thừa, kiểm thử.
Đặc biệt với những view có logic phức tạp, thì Cells sẽ giúp code trở nên dễ đọc và dễ dàng tái sử dụng hơn.
III – TÀI LIỆU HỌC RUBY ON RAILS ONLINE
- 9. Ruby Monk
Nếu bạn muốn tìm hiểu chuyên sâu về Ruby on Rails là gì, phát triển website, và muốn học Ruby – một trong những ngôn ngữ lập trình web phổ biến nhất, thì Ruby Monk là một lựa chọn tuyệt vời để bắt đầu.
Ưu điểm:
- Miễn phí.
- Chương trình đa dạng, bài học chia nhiều cấp độ từ cơ bản đến nâng cao.
- Bài giảng, bài tập thực hành có tính tương tác cao. Bạn có thể học ngay trên trình duyệt web của mình, và có thể học tại mọi nơi.
Bạn có thể bắt đầu với những dòng lệnh đơn giản nhất để có hình dung cơ bản về việc lập trình. Sau đó, hệ thống sẽ đánh giá kết quả bằng tin nhắn màu xanh (bạn đã làm đúng) hoặc màu đỏ (bạn đã làm sai, cần làm lại).
Ngoài ra, hệ thống cũng ghi lại lịch sử học tập, giúp bạn có thể quay lại tiếp tục bài học bất cứ lúc nào.
- Bạn có thể dùng tính năng “Ask a Question” để gửi câu hỏi chuyên sâu đến Code Monk – những người xây dựng nên website này.
Nhược điểm:
- Bạn nên có một số kiến thức lập trình cơ bản trước khi bắt đầu, do các bài học trên Ruby Monk bắt đầu với giới thiệu về arrays.
- 10. RubyTapas
Một nguồn tài liệu online học Ruby cực kì hữu ích khác. Thay vì đưa ra khóa học, Ruby Tapas cung cấp các screencast (video tutorial) hướng dẫn các tips, tools, cũng như cách giải quyết những vấn đề hết sức thiết thực trong lập trình bằng ngôn ngữ Ruby.
- 11. The Ruby on Rails Guide
Tài liệu học Ruby on Rails này thường bị mọi người đọc lướt qua vì nghĩ nó quá đơn giản.
Tuy nhiên, bạn chớ nên mắc sai lầm tương tự. Hãy đọc thật cẩn thận, trọn vẹn toàn bộ tài liệu. Hãy tra cứu lại mỗi khi thấy cần.
Đừng lo, việc này không làm bạn trông ngu ngốc đâu. Trái lại, sử dụng nguồn tài liệu chính thống, đáng tin cậy là cách rất thông minh khi tìm hiểu một vấn đề.
- 12. Railscasts
Không cung cấp các khóa học lập trình giống như Codeschool hay RailsTutorials.v.v…, Railscast là nơi bạn học Ruby on Rails thông qua các screencast (video hướng dẫn).
Lợi ích của Railscasts:
- Nhanh chóng làm quen với gems trong Ruby, cũng như biết cách sử dụng chúng.
- Học được những tips nhỏ song hữu dụng.
- Các vấn đề được nêu ra luôn mới, sát với thực tế công việc.
Lưu ý:
- Railscasts chủ yếu nêu ra các vấn đề thực tế bạn thường gặp khi làm việc với Rails. Vì vậy, nếu hoàn toàn chưa có kiến thức gì về Rails, bạn nên học một số tài liệu hoặc khóa học Ruby on Rails cơ bản trước đã. Railstutorials.org hoặc các tài liệu học Ruby on Rails cơ bản được nêu ở trên có thể là lựa chọn thích hợp cho trường hợp này.
- 13. Codeschool
Các khóa học trên Codeschool có ưu điểm là “học thông qua thực hành”. Bạn sẽ xem các video + download PDF bài giảng để làm bài tập.
Phí thành viên vào khoảng $25/tháng. Tuy nhiên, bạn có thể học thử miễn phí 1 tutorial.
Ngoài ra, nếu là newbie thì bạn nên đọc vài tài liệu cơ bản về Ruby on Rails trước khi đăng kí học tại Codeschool.
- 14. Coderwall
“Học thầy không tày học bạn”.
Tại đây, bạn có thể tìm các tips lập trình, các tool hỗ trợ, và cả các projects thú vị do chính cộng đồng developer đưa lên.
Nói cho cùng, code tốt bắt nguồn từ mã nguồn được cải tiến tốt hơn. Và không có gì phấn khích bằng việc tiếp tục nâng cấp các kiến thức/kĩ năng mình tưởng đã biết rõ hay thuần thục.
Xem thêm 18 website học lập trình và 10 website hỏi đáp cho Developer
IV – CỘNG ĐỒNG RUBY ON RAILS
- 15. Ruby Weekend (TPHCM)
Tech event được tổ chức định kì hàng tháng của cộng đồng Ruby Việt Nam. Đây là cơ hội vàng để các Ruby Developer mở rộng mối quan hệ, trao đổi kinh nghiệm và học hỏi lẫn nhau. Mỗi event chỉ kéo dài khoảng 3 giờ và giới hạn cho khoảng 40 người tham dự.
Nếu không có điều kiện trực tiếp tham gia event, bạn có thể xem live stream tại nhóm Slack:
- Thời gian: 11g trưa thứ 7 hàng tuần
- Địa điểm: Các quán café hoặc địa điểm co-working tại TP HCM
- 16. Rails Girls Summer of Code
Cơ hội tuyệt vời dành riêng cho các bạn nữ muốn trau dồi và học Ruby on Rails, được tổ chức thường niên trong 3 tháng hè. Tham gia chương trình này, các nữ Ruby Developer sẽ được:
- Làm việc 1 kèm 1 với mentor trên một dự án mã nguồn mở có liên quan đến Ruby
- Được tài trợ sinh hoạt phí cơ bản trong suốt chương trình
- Được tạo điều kiện để tham gia các sự kiện, hội thảo lớn trên thế giới
- Cơ hội đăng ký làm thực tập sinh cho các công ty công nghệ lớn như Google, Github.v.v…
Bạn nên theo dõi website thường xuyên để nộp đơn đăng kí kịp thời.
Xem thêm các IT tech group
- 17. Stack Overflow
Ngoài những tài liệu kể trên, Stack Overflow cũng là địa chỉ tuyệt vời giúp bạn học Ruby on Rails. Kĩ năng tìm kiếm và lọc thông tin sẽ giúp bạn tận dụng kinh nghiệm của người đi trước một cách hiệu quả.
Đặc biệt, đọc lại tài liệu và source code cũng là cách rất tốt để bạn xác định chính xác vấn đề gặp phải là gì, cũng như hiểu được toàn bộ hệ thống vận hành ra sao.
Nếu bạn nghĩ những chia sẻ này có thể giúp ích cho bạn bè hoặc đồng nghiệp, đừng quên nhấn nút Share bên dưới nhé!
Xem thêm việc làm Ruby on Rails Developer tại ITviec