Chủ Nhật, 2 tháng 5, 2010

Mang Ruby vào Java hay mang Java vào Ruby?


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ỉ là 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 về tổng thể?

Xét 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 gây rất nhiều cản trở trong việc đưa JRuby vào ứng dụng thực tế.

Mang Java vào Ruby

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

Java có quá nhiều thư viện bất cứ developer ngoài Java (Ruby, 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

Nên xét platform/stack 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.


Theo cntt

0 nhận xét:

Đăng nhận xét