Bài viết được dịch từ trang web Skillcrush

Học lập trình web online bằng Ruby on Rails

Hiện nay nhu cầu học lập trình Ruby on Rails đang rất lớn, đây cũng là một kỹ năng mà nhiều nhà tuyển dụng đang tìm kiếm và công việc này thường có mức lương khá cao so với mặt bằng chung. Nhưng nhiều bạn trẻ khi muốn tìm hiểu về Rails vẫn còn nhiều sự nhầm lẫn. Chúng ta có thể liệt kê ra những câu hỏi thường được các newbie đặt ra như: 

Rails là gì? Nó khác với Ruby on Rails như thế nào? Học nó có khó không? Nó có phải là một ngôn ngữ lập trình không? Tôi cần phải biết những gì trước khi học Ruby on Rails?

Vì vậy tôi đã tập hợp lại những câu hỏi phổ biến này, và đã hỏi trực tiếp một người có nhiều kinh nghiệm về Ruby on Rails là Adda (CEO và đồng sáng lập của Skillcrush). Sau đây là danh sách 13 câu hỏi về Ruby on Rails và những câu trả lời rất rõ ràng của Adda. Hy vọng danh sách này sẽ giúp cho các bạn newbie dễ dàng hơn trong quá trình học lập trình Ruby on Rails trong thời gian tới.

Khóa học lập trình Ruby On Rails được học cả HTML5, CSS3, JavaScript. Cam kết việc làm cho học viên có sản phẩm tốt nghiệp

1. Rails là gì?

Rails là một web framework được thiết kế để làm việc bằng ngôn ngữ lập trình Ruby. Nghe vẫn thấy khó hiểu phải không bạn? Vậy hãy để tôi giải thích tiếp nhé!

Ý tưởng CHÍNH của nó là như thế này: có một ngôn ngữ lập trình gọi là Ruby. Nó là một ngôn ngữ rất thú vị. Trong thực tế, tác giả tạo ra nó cho biết rằng động lực chính của ông khi viết ra ngôn ngữ này là để thiết kế một ngôn ngữ làm cho lập trình viên hạnh phúc. Thật tuyệt, phải không bạn?

Để tôi cung cấp cho bạn một ví dụ.

Nếu tôi muốn in một cái gì đó lên màn hình bằng PHP thì tôi cần phải viết:

echo "Hello World";

Bạn có để ý thấy dấu chấm phẩy không? Và thậm chí echo có nghĩa là gì?!!

Mặt khác, nếu tôi muốn làm điều tương tự trong Ruby thì tôi sẽ viết là:

puts "Hello World"

Không có dấu chấm phẩy, và puts trông có vẻ dễ hiểu và trực quan hơn so với sử dụng từ khóa echo trong PHP.

Nghiêm túc mà nói, khi bạn bỏ ra nhiều giờ mỗi ngày để viết code, thì điều tưởng chừng như nhỏ bé đó lại mang lại một sự khác biệt LỚN.

Vì vậy, dù sao vấn đề duy nhất với Ruby là nó không được thiết kế để sử dụng trên Web. Hiểu nôm na là... bạn không thể thực sự sử dụng nó để làm các trang web. Đó là lúc cần đến... Rails!

Tôi không chắc liệu Rails có phải là web framework đầu tiên cho Ruby hay không, nhưng nó CHẮC CHẮN là framework phổ biến nhất được viết bằng Ruby.

Rails cung cấp tất cả những thứ cần thiết để bạn có thể viết một ứng dụng Ruby và các trang web một cách dễ dàng. 

2. Ruby on Rails là gì?

Ruby on Rails là một cái tên ĐẦY ĐỦ cho framework Rails. Nhưng khi nói về nó thì các lập trình viên thường bỏ mất cụm từ "Ruby on" và chỉ cần gọi nó là Rails.

Bởi vậy để cho dễ nói chuyện trong cộng đồng thì bạn cũng nên gọi nó là Rails, nhưng khi có ai đó nói là "Ruby on Rails" thì bạn cũng BIẾT nó là gì nhé!

Học lập trình web online bằng Ruby on Rails

3. Tôi nghe nói là Rails rất tốt cho người mới bắt đầu. Có đúng vậy không?

Có một số lý do tại sao Rails là tuyệt vời cho người mới bắt đầu. Lý do đầu tiên chỉ đơn giản Ruby là thực sự tuyệt vời cho người mới bắt đầu. Học lập trình bằng Ruby dễ dàng hơn nhiều so với các ngôn ngữ lập trình khác bởi vì ngôn ngữ này cực kỳ linh hoạt, nó giúp bạn mất ít thời gian để nắm những nguyên tắc cơ bản trong lập trình và ít phải vò đầu bứt tóc khi gặp những khái niệm khó hiểu.

Còn lý do tại sao Rails rất thú vị cho người mới bắt đầu là bởi vì nó thực sự rất mạnh mẽ và thực hiện RẤT NHIỀU công việc khó cho bạn.

Cách mà tôi mô tả nó là việc sử dụng Rails giống như bạn đang lái chiếc xe tải 18 bánh vậy. Và nó mạnh mẽ một cách khủng khiếp!!! Nhưng bạn có thực sự hiểu cách thức hoạt động của một chiếc xe tải 18 bánh?

Nói cách khác, thực tế là Rails sẽ làm giúp bạn rất nhiều thứ và cho phép bạn tạo ra sản phẩm rất nhanh chóng. Nhưng nó có thể là một con dao hai lưỡi vì đôi khi bạn sẽ quá lạm dụng nó mà không hiểu điều gì thực sự làm việc phía dưới nền tảng này.

Vì lý do đó, điều quan trọng là bạn nên tìm hiểu Ruby on Rails từ những kiến thức cơ bản nhất, và đặc biệt là bạn phải thật thành thạo Ruby.

Nếu không, khi bạn nhảy xuống từ chiếc xe tải 18 bánh thì bạn sẽ tự nói với bản thân rằng: Đợi một chút! Tôi vừa mới lái cái xe đó ư?!?!

4. Một Rails developer khác với một lập trình viên Ruby như thế nào?

Về mặt kỹ thuật thì câu trả lời sẽ là, đó là bạn lập trình các ứng dụng trong Ruby nhưng không sử dụng Rails.

Theo giả thuyết, bạn có thể làm việc trên các ứng dụng web của Ruby bằng cách sử dụng các web framework khác như Sinatra, nhưng tôi sẽ đặt cược rằng 99% thời gian bạn sẽ không được thuê CHỈ ĐỂ lập trình Ruby. Vì vậy, tốt nhất là bạn nên học lập trình Rails!

5. Tôi cần phải giỏi Ruby ở mức độ nào? Tôi nên học gì trước khi nhảy vào học Rails?

Các ý kiến ​​về điều này thực sự khác nhau, nhưng trong hình ảnh ví dụ về chiếc xe tải 18 bánh ở trên, cá nhân tôi tin rằng bạn sẽ cần phải thành thạo Ruby trước khi bạn nhảy vào Rails.

Nó giống như... bạn nên tập đi xe đạp trước khi bạn lái xe hơi thông thường, và sau đó mới chuyển sang học lái một chiếc xe tải 18 bánh.

Điểm mấu chốt đó là PHẦN LỚN thời gian bạn làm việc trên Rails thì thực ra là bạn đang dành thời gian để viết code Ruby. 

Xét về chi tiết cụ thể, tốt nhất bạn cần phải biết tất cả những kiến thức cơ bản như các loại dữ liệu (data types), các phương thức (method), hướng đối tượng, gỡ lỗi (debugging), v.v…

Nhưng bạn không cần phải là một CHUYÊN GIA về Ruby, chỉ cần cảm thấy thoải mái khi làm việc với nó là được.

Học lập trình web online bằng Ruby on Rails

6. Tại sao tôi nên học Rails? Điều gì làm cho nó trở nên đặc biệt?

Nó là một framework mạnh mẽ và tuyệt vời. Liệu bạn còn cần biết điều gì nhiều hơn thế nữa?

Nói một cách nghiêm túc, Rails được thiết kế với những best practice để nó về cơ bản có thể hướng dẫn bạn viết ra những phần code tuyệt vời.

Điều này có nghĩa là nếu bạn muốn viết các ứng dụng web mạnh mẽ để có thể dễ dàng bảo trì và mở rộng khi cần thiết, thì Rails là một framework tuyệt vời để làm điều đó.

Và cộng với đó là có hàng tá các công ty lớn đang sử dụng nó. Điều này thật là tuyệt vời…

À! Tôi quên mất một điều quan trọng!

Một trong những lý do tại sao Rails rất phổ biến trong cộng đồng startup, đó là do nó thực sự tuyệt vời để bạn có thể tạo ra các nguyên mẫu nhanh chóng. Bạn nghĩ về một ứng dụng mà mình muốn xây dựng và có thể sử dụng Rails để dựng nó lên chỉ trong vòng vài giờ. Có rất ít framework có khả năng làm được điều đó.

7. Tôi có thể xây dựng sản phẩm gì với nó?

Bạn đang suy nghĩ để xây dựng sản phẩm gì?!! Thực sự nếu nó là một ứng dụng web, thì bạn có thể xây dựng nó bằng Rails. Chỉ cần kiểm tra một trong số những ví dụ về các trang web được xây dựng bằng Rails như: Hulu, Airbnb, Basecamp. 

8. Tôi có thể làm điều gì trên di động với Rails không?

Câu hỏi này rất hay. Bạn không thể xây dựng một ứng dụng di động trong Rails theo nghĩa đen, nhưng bạn chắc chắn có thể xây dựng một ứng dụng web trong Rails để phục vụ như là phần backend cho một ứng dụng di động.

Ngoài ra còn có một thứ được gọi là RubyMotion mà cơ bản để xây dựng các ứng dụng native iOS và Android sử dụng Ruby. Nhưng đó là Ruby, không phải Rails.

Nói cách khác, bạn sẽ không sử dụng Rails để tạo ra một ứng dụng di động THEO NGHĨA ĐEN để đem bán trong các kho ứng dụng, nhưng Rails chắc chắn có thể là một phần quan trọng của một dự án di động.

9. Những loại công việc nào mà tôi có thể nhận được?

Rails là một trong các kỹ năng có nhu cầu tuyển dụng nhiều nhất hiện nay, vì vậy bạn có rất nhiều lựa chọn để làm việc cho nhiều loại công ty khác nhau.

Các startup đặc biệt yêu thích Rails, vì vậy bạn có thể tham gia một công ty đang ở giai đoạn đầu như Zearn, đó là một công ty giáo dục kỹ thuật số phi lợi nhuận.

Hoặc bạn có thể gia nhập một tập đoàn lớn như Bloomberg, công việc của bạn là phát triển các trang web và ứng dụng được sử dụng bởi hàng triệu người trên khắp thế giới.

Và thậm chí freelancing là một lựa chọn tuyệt vời cho các nhà phát triển Rails. Là một người làm việc tự do, bạn có thể lựa chọn để làm việc trên các dự án nhỏ và ngắn hạn hoặc làm việc với rất nhiều các khách hàng lâu dài.

10. Tôi đã thử [chèn ngôn ngữ lập trình ở đây] và không thấy thích nó. Tại sao tôi nên thử học về Rails?

Vâng, bạn nên nhớ rằng Rails không phải là một ngôn ngữ lập trình, nó là một framework.

Vì vậy, nếu bạn đang phân vân giữa việc học ngôn ngữ lập trình nào thì tôi có thể nói rằng Ruby là ngôn ngữ lập trình đáng yêu nhất trên thế giới, vì vậy tôi nghĩ rằng trước tiên bạn nên tìm hiểu về Ruby sau đó mới chuyển qua nghiên cứu về framework Rails.

11. Bạn có chắc là tôi không nên học JavaScript để thay thế?

Sự thật đó là, nếu bạn là một Rails developer thì bạn sẽ cần phải tìm hiểu về JavaScript. Đây không phải là một yêu cầu bắt buộc cho việc học Rails nhưng nó là một kỹ năng mà bạn sẽ cần trong quá trình học tập và làm việc.

Thành thật mà nói, khi ngày càng tiến sâu hơn vào thế giới công nghệ, bạn sẽ cần phải thành thạo một số các công nghệ khác nhau (tức là trở thành một lập trình viên fullstack). May mắn thay, ngày càng trở nên dễ dàng hơn để có thể học thêm các ngôn ngữ cũng như các framework mới.

Bạn học về JavaScript hoặc Ruby đầu tiên đều được. Tôi cho rằng Ruby là dễ học hơn so với JavaScript và điều này đã được kiểm chứng bởi nhiều sinh viên, nhưng như tôi đã nói, bạn có thể học ngôn ngữ nào trước cũng được, miễn là bạn cảm thấy thoải mái.

12. Tôi sẽ cần học nó trong bao lâu để thành thạo?

Bạn sẽ cần phải dành ra bao nhiêu thời gian để học mỗi ngày? Tôi tin rằng bạn có thể có được một sự hiểu biết rất tốt về Rails chỉ trong vòng một vài tháng nghiên cứu chuyên tâm.

Nhưng để trở thành một chuyên gia về Rails thì sẽ mất 10.000 giờ cũng giống như để thông thạo bất kỳ kỹ năng nào khác, do đó, điều tốt nhất bạn có thể làm bây giờ là hãy bắt đầu ngay.

Và tất nhiên, mức độ bạn quen thuộc với lập trình nói chung sẽ có một ảnh hưởng lớn đến việc bạn học Rails nhanh ra sao.

Nhưng nếu bạn là một người hoàn toàn mới học lập trình, thì Ruby và Rails là hai nơi tuyệt vời để bắt đầu (xem câu hỏi ở trên).

13. Bạn đã bắt đầu như thế nào? Tôi nên làm gì đầu tiên?

Bạn có thể đăng ký khóa học về Ruby on Rails tại đây!

Nếu bạn CHƯA BAO GIỜ viết một dòng code nào trong cuộc đời mình, thì điều đầu tiên bạn cần làm là nên học trước về HTML & CSS. May mắn thay, HTML & CSS tương đối dễ học :)

Sau đó, bạn cần phải tìm hiểu về Ruby, Git & command line.

Điều QUAN TRỌNG nhất bạn có thể làm cho chính mình khi học một cái gì đó là có một dự án để làm việc trên đó, một cái đích mà bạn muốn hướng tới và dĩ nhiên là cả những sự hỗ trợ nữa! Và nếu bạn kiên trì học tập mỗi ngày thì nhất định bạn sẽ thành công.