13 thứ cần biết về Ruby on Rails

2158

Rails là gì? Nó khác biệt so với Ruby on Rails như thế nào? Nó khó đến mức độ nào? Liệu nó có thực sự là một ngôn ngữ lập trình? Cần phải biết những gì trước khi học về Ruby on rails?

Thú vị đấy nhưng sẽ có hàng tấn các câu hỏi xung quanh vấn đề này nếu các bạn quyết định tìm hiểu sâu về nó.

Để vào thẳng vấn đề, sau đây tôi xin trả lời 13 câu hỏi cơ bản cần thiết về Ruby on Rails qua đó khẳng định tầm quan trọng và lý do vì sao các bạn nên tìm hiểu về vấn đề này.

1. Rails là gì?

Rails là một web framework được thiết kế sẵn bằng ngôn ngữ Ruby.

Các bạn có biết không, trên thực tế, ngôn ngữ lập trình Ruby được tạo ra với động lực là để các lập trình viên cảm thấy thoải mái và hứng thú hơn khi viết nó.

Ví dụ như tôi muốn in thứ gì đó lên màn hình bằng PHP thì tôi cần viết:

echo “Hello World”;

Các bạn có để ý đến dấu chấm phảy không? Và cả từ ‘echo’, chúng thực sự chẳng có ý nghĩa gì mấy!!

Mặt khác nếu tôi muốn làm điều tương tự bằng ngôn ngữ Ruby thì tôi cần viết:

puts “Hello World”

Không còn dấu chấm phảy nữa đúng không, và puts được dùng tuy không được chuyên nghiệp cho lắm nhưng nó lại tạo cho ta cảm giác trực quan hơn nhiều so với ‘echo’.

Sự thật là khi bạn dành hàng giờ mỗi ngày để viết code thì điều nhỏ nhặt này sẽ tạo nên sự khác biệt to lớn đến không tưởng.

Dù vậy, nói thế nào đi chăng nữa, một vấn đề duy nhất về Ruby là nó không được thiết kế ra chỉ để sử dụng tạo ra website. Đó là khi Rails ra đời.

Tôi không chắc chắn liệu Rails có phải web framework đầu tiên cho Ruby hay không nhưng tôi có thể chắc chắn rằng nó là cái phổ biến nhất.

Rails cung cấp những cấu trúc cơ bản cần thiết để hình thành nên Ruby website. Điều này có vẻ khá trừu tượng nhưng về cơ bản các bạn có thể hiểu như sau: Nếu tôi viết:

puts “Hello World”

Trong một tài liệu HTML thì các bạn sẽ nhìn thấy tất cả những ký tự trên. Nhưng cái mà tôi thật sự muốn các bạn nhìn thấy chỉ là:

Hello World

Hãy tưởng tượng một cách đơn giản nhất, Rails có thể làm rất nhiều thứ đặc biệt đối với một lập trình viên, để tạo ra web nó thực sự trở nên quan trọng.

2. Ruby on rails là gì?

Ruby on Rails là tên đầy đủ nhất của Rails. Nhưng khi nói về nó thì hầu hết các developers bỏ đi ‘Ruby on’ và gọi tắt là Rails.

3. Nghe có vẻ Rails là một framework tốt cho những người bắt đầu lập trình, vậy thực sự là?

Có vài lý do tại sao Rails lại tốt cho những người bắt đầu lập trình. Nhưng lý do đầu tiên cũng chính là lý do cơ bản nhất đó là Ruby thực sự tuyệt vời cho những người bắt đầu :D. Học lập trình bằng ngôn ngữ Ruby thì dễ hơn những ngôn ngữ khác vì Ruby rất linh hoạt, dễ đọc, dễ liên tưởng và chúng làm cho người lập trình cần ít thời gian hơn để giải quyết một vấn đề nào đó.

Thực sự mà nói thì Ruby là một ngôn ngữ lập trình cực kỳ mạnh mẽ và nó là một công cụ tuyệt vời để giải quyết những vấn đề khó trong lập trình.

Cách tôi miêu tả ngôn ngữ Ruby ở đây là: giống như bạn đang lái trên một chiếc xe 18 bánh, nó thực sự rất mạnh mẽ đúng không nòa, nhưng liệu bạn có hiểu hết được 18 bánh đó làm việc ra sao?

Nói cách khác, Rails sẽ đảm nhiệm rất nhiều thứ cho bạn và giúp bạn tạo ra nhiều thứ thú vị. Nhưng nó cũng là một con dao 2 lưỡi vì nó đã support bạn quá nhiều để làm ra điều gì đó, trong khi bạn không thực sự hiểu sâu về nó.

Bởi thế bạn cần phải học thật sâu Ruby on Rails từ bé tới lớn để đảm bảo chắc chắn rằng bạn đang thoải mái lập trình với ngôn ngữ Ruby. Nếu không khi bạn nhảy xuống chiếc xe 18 bánh thì bạn sẽ nhận ra một điều rằng: bạn đã từng lái chiếc xe đấy!!!?

4. Người phát triển Rails khác so với 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à: app mà bạn đang làm là bằng Ruby không sử dụng Rails, thật ra nó chỉ là một khía cạnh nhỏ. Theo giả thuyết, bạn có thể làm việc bằng Ruby để làm nên Web app sử dụng web framework khác như Sinatra, nhưng tôi cá rằng đến 99% bạn sẽ không kiếm được một công việc nào mà chỉ viết bằng Ruby. Bởi vậy, thật sự rất tốt nếu bạn bắt đầu bằng Rails.

Bạn cần giỏi Ruby như thế nào? Bạn nên học gì trước trước khi đi sâu vào nó?

Về câu hỏi này thì thực rất nhiều ý kiến khác nhau, nhưng trên ví dụ chiếc xe 18 bánh mà tôi đã đưa ra ở trên thì tôi tin rằng bạn nên phải thực sự thoải mái (có nghĩa là bạn thật sự phải thông thạo) khi làm việc với Ruby trước khi bước vào Rails. Nó giống như là bạn phải thực sự biết đi một chiếc xe hơi 4 bánh trước khi bạn nhảy lên một chiếc 18 bánh!!

Thật vậy, bạn nên thực sự quan tâm đến Ruby trước, quan tâm những dạng dữ liệu, phương thức hay object, debugging … Nhưng bạn cũng không nên cố gắng trở thành master của Ruby làm gì, chỉ cần bạn thấy thoải mái là được.

14a7ef24-f965-4de3-b714-226bb7cbce31

6. Tại sao bạn nên học Rails? Điều gì khiến nó trở nên đặc biệt?

Nó thực sự là framework tuyệt vời, vậy những gì mà cần biết?

Rails được thiết kế với những bài luyện tập cơ bản nhất giúp bạn viết những dòng code awesome thậm chí khi bạn không hiểu nó.

Một trong những lý do khiến Rails trở nên phổ biến ở các công ty start up đó là tính tạo mẫu nhanh. Bạn có thể nghĩ rằng một Rails app mà bạn muốn xây dựng chỉ mất có vài tiếng đồng hồ để biến nó thành một app thực sự và sẵn sàng cho người dùng. Thực sự là có rất ít những framework nào có thể làm được điều đó.

7. Bạn có thể xây dựng được những gì?

Nếu bạn đang nghĩ Rails thực sự làm được những gì thì hay check ngay những website sau đây, bạn sẽ thấy nó tuyệt vời như thế nào: Hulu, Airbnb, Basecamp.

8. Liệu có thể làm gì đó trên mobile?

Câu trả lời là có, nhưng thường thì chúng ta sử dụng để làm backend cho Mobile Apps. Nhưng thực sự mà nói thì nó không phải Rails mà là Ruby. Ruby rất mạnh mẽ để viết một backend cho một services, apps nào đó trên Mobile.

9. Những công việc nào mà bạn có thể apply?

Rất nhiều công ty trẻ sử dụng Ruby on Rails vì tính tạo mẫu nhanh của nó và thực sự dễ cho những người bắt đầu, và tất nhiên cũng dễ maintain nữa.

Ở Việt Nam, có một công ty rất mạnh về Rails mà tôi biết đó là: Framgia

10. Bạn đang cố [chèn một ngôn ngữ lập trình ở đây] và bạn không thích nó. Tại sao bạn không cho Rails một “shot”?

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

Tôi có thể nói rằng Ruby là ngôn ngữ lập trình đáng để học nhất trên thế giới này, vì vậy tôi không nghĩ rằng bạn nên viết ra một trương trình nào đó trước khi bắt đầu với Ruby.

11. Bạn có chắc rằng là bạn không nên học JavaScript thay vì Rails?

Câu trả đôi lúc là có và đôi lúc là không.

Theo kinh nghiệm của tôi thì nếu bạn học Rails trước thì sẽ học JavaScript sẽ dễ hơn. Nhưng nếu được thì bạn cũng có thể học song song nó, như vậy sẽ pro nhanh hơn và app của bạn viết ra sẽ trơn tru hơn.

12. Bạn sẽ mất bao lâu để học Rails?

Nếu để bạn hiểu qua về Rails hoạt động như thế nào thì bạn chỉ mất vài tháng. Nhưng để thực sự trở thành master thì bạn cần đến 10,000 giờ.

13. Vậy bạn nên bắt đầu từ đâu khi bạn là người mới bắt đầu?

Nếu bạn chưa từng viết code thì bạn hay nên bắt đầu từ HTML & CSS, sau khi bạn tiếp xúc với HTML & CSS xong thì bạn tiếp tục tìm hiểu Ruby, Git và dòng lệnh.

Và sau khi tìm hiểu những thứ trên thì bạn hay tự viết một project bằng Rails theo cuốn tutorial này. Nó thực sự rất tuyệt cho những người bắt đầu. Chúc các bạn may mắn và thành công!

Techtalk via viblo

CHIA SẺ