Năm 2024 rồi, có nên hay không khi trở thành Ruby on Rail developer là câu hỏi thường gặp của những bạn bước chân vào học lập trình. Vậy Ruby on Rail là gì?
Những yếu tố nào vẫn còn là sức hút lớn khi bắt đầu học Ruby on Rail? Cần làm gì để trở thành một lập trình viên Ruby on Rail giỏi?
Tất cả sẽ được giải đáp qua bài viết dưới đây.
1. Ruby on Rail là gì?
Trước khi trở thành Ruby on Rail developer thì anh em cần hiểu Ruby on rail là gì? Luôn tới với phần khái niệm đầu tiên.
Ruby on Rails is an open-source server-side web application framework with an MIT license. While Ruby on Rails is written in Ruby, a dynamic, general-purpose programming language from Japan, RoR is, in fact, a framework, not a language. Many entrepreneurs and non-developers often confuse the two, thinking of Rails when hearing Ruby but rarely the other way around.
Ruby on Rails là một framework web phía server. Mã nguồn mở và có giấy phép MIT. Trong khi Ruby on Rails được viết bằng Ruby, một ngôn ngữ lập trình đa năng, năng động phát triển bởi mấy anh Nhật Bổn, thì RoR trên thực tế là một framework chứ không phải một ngôn ngữ. Nhiều doanh nhân và những người không phải là nhà phát triển thường nhầm lẫn cả hai, nghĩ đến Rails khi nghe đến Ruby nhưng hiếm khi nghĩ ngược lại.
Đấy, anh em nhớ giúp cho, Ruby là ngôn ngữ, nhưng Ruby on Rail lại là framework nha.
Ruby ra đời năm 2004 và thằng giải ngôn ngữ lập trình của năm.
Tham khảo tuyển dụng ruby on rails lương cao trên TopDev
2. Ruby on Rail developer và Web application
Kể từ khi được ra mắt vào năm 2005, Ruby on Rail lúc này đã giới thiệu một cách tiếp cận mới để xây dựng các ứng dụng Web (web application). Không chỉ nhanh chóng, thuận tiện (do các gem hỗ trợ). Ruby Rails mang theo mô hình thiết kế phần mềm dựa. Mô hình thì nhiều nhưng Ruby thiết kế mô hình sao cho anh em developer làm việc ở nhiều cấp độ.
Với Django, so sánh luôn với cả Laravel, Rails tiên phong đưa MVC và các phương pháp phát triển phần mềm tốt vào. Một số nguyên tắc thiết kế cũng được ưu tiên đem vào Rail. Chẳng hạn như nguyên tắc DRY.
Ruby on rail lúc này như đấng cứu thế, giải phóng anh em developer khỏi mấy thứ config lặt vặt. Để cho anh em developer tập trung duy nhất vào các tính năng kinh doanh và logic của ứng dụng. Mà từ chỗ chỉ tập trung vào 1 phần, rõ ràng là tăng năng suất và giúp anh em developer giao hàng MVP nhanh thiệt nhanh.
Cho anh em nào cho biết thì MVP là phần core của product.
3. Tại sao mọi người nghĩ không nên học Ruby on Rail?
Nếu anh em có một vài người bạn học Java, Golang. Thường là sẽ chê Ruby. Nhưng thường họ chê gì ở ngôn ngữ lập trình Ruby?.
Anh em cần tỉnh táo nhìn rõ hồng trần như thế nào để tin tưởng lựa chọn viên ngọc quý (Ruby on Rail)?
3.1 Performance (hiệu năng)
Thật sự thì nếu chấm điểm benchmark, Ruby tỏ ra hụt hơi so với golang hoặc nodejs. Tuy nhiên anh em nên nhớ sự chậm đó chỉ nhận ra khi nói về dữ liệu lớn. Tức là từ lớn tới cực lớn mới nhận ra sự khác biệt này. Ngoài ra còn các yếu tố liên quan tới server và hệ cơ sở dữ liệu.
Vì vậy, nếu nói đến chậm, cần đặt lên bàn cân, xem xét Ruby đang sử dụng cho ứng dụng lớn cỡ nào. Chưa kể các bản release gần đây Ruby cải thiến khá nhiều về tốc độ. Anh em có thể xem thử.
Xem thêm việc làm Ruby các vị trí hấp dẫn trên TopDev
3.2 Khả năng mở rộng
Nói về khả năng mở rộng thì không nằm tại ngôn ngữ lập trình. Bản thân ngôn ngữ chỉ là công cụ. Nếu muốn hệ thống có thể mở rộng. Ngoài chip, CPU và kiến trúc lựa chọn từ trước, ta cần có thiết kế hệ thống cụ thể.
Cụ thể khi Twitter chuyển từ Rail qua Scala, anh em thường đồn thổi là do Ruby khó có khả năng mở rộng. Tuy nhiên mức độ và tốc độ được yêu cầu ở Twitter lại khác hẳn so với các ứng dụng khác. Nên khả năng mở rộng, bàn tới hay không thì anh em cần đặt vào bài toán thực tế nó như thế nào.
4. Mức độ phổ biến của Ruby on Rail
Có thể anh em vẫn còn đang lấn cấn về mức độ phổ biến của Ruby on Rail. Cũng dễ hiểu vì xung quanh chúng ta ít có nghe nói về Ruby. Số lượng Ruby developer thì lại các ít.
Đã ít lại còn hiếm có khó tìm, nhưng ít người học không có nghĩa là ngôn ngữ Ruby hiếm như số lượng Ruby on Rail developer.
Vậy về mức độ phổ biến mà nói thì không có gì lấn cấn khi anh em bắt đầu bước vào học Ruby ha.
5. Ruby on Rail sử dụng làm gì?
Không chỉ Ruby on Rail developer mà hầu hết các lập trình viên ở ngôn ngữ lập trình khác cũng luôn tò mò đặt câu hỏi. Ngôn ngữ lập trình mà chúng ta đã, đang và sẽ học sẽ được sử dụng vào mục đích gì?. Đối với Ruby on Rail, ta có một vài câu trả lời như sau:
5.1 Xây dựng MVP
Do nhẹ và nhanh chóng, Ruby on Rail thường được sử dụng để xây dựng các phần core. Phần các tính năng chủ chốt, xử lý phức tạp tập trung ở phần lõi. Phần này sẽ được viết, phát triển nhanh chóng bởi Ruby
5.2 Ứng dụng social
Do khả năng hỗ trợ các ứng dụng có lưu lượng truy cập lớn của Ruby nên nó hoàn hảo cho việc anh em xây dựng các ứng dụng mạng xã hội như Twitter, Facebook.
5.3 App căn hộ, đặt phòng
Ruby được tin tưởng lựa chọn bởi AirBnB. Nên Ruby cũng được sử dụng cho các ứng dụng đặt phòng và chia sẻ căn hộ – Điển hình như là 2 ông lớn Airbnb và Couchsurfing – vì nó quản lý nhanh chóng một số lượng lớn giao dịch hàng ngày và đặt chỗ bất động sản.
5.4 Ecommerce platforms
Có thể anh em không biết nhưng Ruby là ngôn ngữ lập trình được nhiều nền tảng thương mại điện tử như Shopee hoặc Shopify lựa chọn. Chủ yếu việc sử dụng ruby cho các ứng dụng lớn này thường để quản lý và xử lý nhiều giao dịch cùng một lúc.
6. So sánh với các ngôn ngữ khác
Không thể phủ nhận rằng việc trở thành Ruby on Rail developer phải đánh đổi một vài thứ. Thực tế mà nói mức độ phổ biến khi so sánh với Php và Python, Ruby on Rail tỏ ra kém cạnh hơn về mức độ phổ biến.
Nhưng nói về đóng góp (Contributor), 2 framework phổ biến dùng PHP và Python là Laravel và Django lại có ít người đóng góp hơn Ruby on Rail. Mà càng nhiều người đóng góp thì thư viện hoặc framework sẽ được coi là có chất lượng tốt.
Một số contributor phổ biến đóng góp cho Ruby on Rail
Đối với Laravel và Django ta có con số contributor lần lượt là
- Django: 2,230
- Laravel: 3,151
Về cơ hội việc làm, cũng không phải là ít khi xem một vài con số thống kê các ngôn ngữ lập trình
- Ruby on Rails developer: 39,119
- Laravel developer: 1,161
- Django developer: 41,695
- Ruby developer: 27,985
- PHP developer: 62,443
- Python developer: 147,255
Với con số này, anh em đã tự tin để học trở thành Ruby on Rail developer chưa nào?
7. Tham khảo
- Ruby on Rails — A web-app framework
- 4 Key Things You Need to Know About Ruby on Rails
- Why Use Ruby on Rails? My Take After Two Decades of Programming
Cảm ơn anh em đã đọc bài – Thank you for your time – Happy coding!
Tác giả: Kiên Nguyễn