Ngôn ngữ lập trình Ruby có nhiều ứng dụng thực tế.
Nhưng đây là chuyện…
Nhiều người bị thu hút bởi Ruby vì Ruby on Rails. Rails là framework. Framework là bộ công cụ giúp bạn xây dựng trang web, hoặc ứng dụng web, dễ dàng & nhanh hơn so với bắt đầu từ con số không.
Đó không sao.
Nhưng Ruby là ngôn ngữ lập trình đẹp bản thân nó, và sau khi bạn dành thời gian với nó bạn sẽ yêu nó!
Câu hỏi bây giờ là…
Ruby có bị giới hạn bởi những gì Rails làm được?
Không!
Không hề.
Ruby là ngôn ngữ lập trình chung (general-purpose).
Về lý thuyết, bạn có thể làm bất cứ điều gì bạn muốn với Ruby.
Bây giờ:
Mức độ khó để làm điều gì đó là chuyện khác.
Nó phụ thuộc vào gem & thư viện nào có sẵn vì các gem này làm phần lớn việc nặng nhọc cho bạn.
Những Điều Bạn Có Thể Làm Với Ruby
Dưới đây là một số ví dụ nếu bạn cần cảm hứng:
- Phát triển web full-stack
- Web scraping & crawling
- Static website generators (tạo trang web tĩnh)
- Command-line media player (dùng FFI + libVLC) & công cụ dòng lệnh khác
- Automation, Backup & DevOps tools
- Servers (máy chủ)
- Parsing, data cleaning & filtering (phân tích, làm sạch & lọc dữ liệu)
- API Clients (như Twitter API hoặc Github API)
- Report generators (PDF, HTML, CSV)
Đó là danh sách tốt!
Bạn có thể làm tất cả điều này & giao付 ở mức production.
Kém thực tế hơn, nhưng vẫn làm được:
- Games (gosu / Ruby2D)
- Data science (khoa học dữ liệu)
- Machine Learning & AI (học máy & AI)
Những cái này bạn làm chủ yếu cho dự án cá nhân & vui.
Mọi thứ khác?
Bạn vẫn có thể làm, tất nhiên, nhưng sẽ mất nhiều công sức, code & kiến thức chuyên môn hơn.
Dự Án Mã Nguồn Mở Ruby Phổ Biến
Tôi muốn cho bạn danh sách dự án làm bằng Ruby để bạn cảm hứng & thấy được điều gì có thể.
Tất cả dự án này có 4k+ Github Stars.
Rails apps:
- https://github.com/postalhq/postal (Email inbox)
- https://github.com/huginn/huginn (Event notifications)
- https://github.com/discourse/discourse (Forum software)
- https://github.com/gitlabhq/gitlabhq (Web-based git interface, như Github)
Non-rails apps:
- https://github.com/puma/puma/ (Rack application server)
- https://github.com/hashicorp/vagrant (Môi trường dev qua Máy ảo)
- https://github.com/sparklemotion/nokogiri (HTML / XML parsing)
- https://github.com/opal/opal (Viết Javascript với Ruby)
- https://github.com/Homebrew/brew (macOS package manager)
- https://github.com/fluent/fluentd (Logging unification tool)
Có hàng nghìn dự án làm bằng Ruby, nhưng những cái này sẽ giúp bạn hình dung được bạn có thể làm gì với ngôn ngữ này.
Tóm Tắt
Nếu bạn muốn tính các chữ số của số pi (3.14159…) nhanh nhất có thể & đạt hiệu suất tối đa từ phần cứng, bạn KHÔNG dùng Ruby.
Nhưng bạn cũng KHÔNG dùng BẤT KỲ ngôn ngữ thông dịch nào khác cho tác vụ đó cả.
Ví dụ như PHP hoặc Python.
Vì chúng chia sẻ nhiều hạn chế giống nhau.
Để tối đa hiệu suất, bạn có thể phải đi xuống tới ASM (Assembly Language), gần nhất bạn có thể nói bằng 1 & 0 với máy tính.
Chuyện là…
Có sự đánh đổi cho mọi thứ.
Nếu bạn muốn dễ sử dụng & thân thiện với lập trình viên, bạn phải trả bằng một chút hiệu suất.
Không có cách nào tránh khỏi.
Với điều đó trong tâm trí, nếu bạn muốn xây dựng trang web đầy đủ, bất kỳ công cụ hữu ích nào như tự động backup, report generator, crawler, calculator mọi loại, API client, v.v… Hoặc chỉ muốn bắt đầu thế giới lập trình & vui vẻ nhiều.
Thì Ruby hoàn hảo cho bạn!
Nó đang phát triển tích cực, dễ học & bạn luôn tìm thấy giúp đỡ nếu bị kẹt.
Vậy tại sao không thử?
Tôi mong chờ thấy những dự án tuyệt vời bạn xây dựng với Ruby!