Article: Mang Ruby vào Java hay mang Java vào Ruby? 1397

ngocdaothanh.myopenid.com 149
Updated over 2 years ago

Việc kết hợp Java và Ruby với nhau hiện tại hoàn toàn khả thi. Đã có sẵn các thư viện đạt mức stable cho việc này: JRuby, Rjb...

Tuy nhiên, kết hợp như thế nào là vấn đề cần bàn. Có 2 hướng tiếp cận: mang Ruby vào Java và mang Java vào Ruby.

Mang Ruby vào Java

Java là ngôn ngữ và platform đã quá vững vàng. Sau nhiều lần dùng dằng, năm qua động thái mở mã nguồn của Sun cũng chẳng gây ồn ào mấy minh chứng cho điều này.

Platform ví như cái xe tải. Đối với các chương trình dựa chủ yếu vào Java (như Red5), việc chất thêm Ruby lên chẳng qua chỉ tô điểm màu mè thêm chút đỉnh chăng? Nghĩa là, việc đưa Ruby vào chỉ tăng chút ít lợi ích xét trên tổng thể?

Về mặt thực hiện (implementation), JRuby hiện chỉ cho phép nối với thư viện Ruby viết thuần bằng Ruby, không cho phép nối với thư viện Ruby viết bằng C. Việc này hiện gây rất nhiều cản trở trong việc đưa JRuby vào ứng dụng thực tế vì có rất nhiều thư viện Ruby viết bằng C.

Mang Java vào Ruby

Ruby đã có fullstack platform. Tuy nhiên có ý kiến cho rằng fullstack của Ruby chưa sánh ngang với của Java được.

Java có quá nhiều thư viện bất cứ developer ngoài Java (Ruby, PHP, Python...) nào cũng thèm khát. Dùng được các thư viện này vào chương trình Ruby thì quá tuyệt!

Xét về mặt thực hiện, thư viện Rjb cho phép làm việc này dễ dàng.

Kết luận

Với project cụ thể, nên xét platform và thư viên trước (Rails, Spring...). Từ tiền đề đó, xét tiếp xem sẽ mở rộng thế nào. Việc xem xét này cần làm ở giai đoạn đầu của project và cần có chuyên gia có kinh nghiệm cùng lúc cả Java cả Ruby giúp tư vấn. Xin kết thúc bài viết bằng câu cũ rích: one size does not fit all, tùy project mà cân nhắc chọn lựa.

Comments

You must login to be able to comment

Uploaded files

No file uploaded yet

You must login to be able to upload

Nhà tài trợ:

Mọi người đều tự do viết bài, sửa bài của người khác, và bình luận ở trang web này. Bạn muốn chủ động tạo bài mới để chia sẻ kinh nghiệm với mọi người? Xin click link ở dưới.

Create new content