2010-10-03 15 views
6

Tôi bắt đầu một dự án web nhỏ và sử dụng Drupal để xây dựng nó. Cho đến nay, rất tốt: bạn có thể nhanh chóng thiết lập một trang web theo định hướng CMS đẹp mắt, thêm các tính năng xã hội thông qua các mô-đun và bạn có API mở rộng để thực hiện các tùy chỉnh trong nền tảng được thiết kế đẹp mắt.Sử dụng Drupal và Ruby. Có ai tích hợp cả hai?

Sự cố xảy ra ngay bây giờ: trang web đang phát triển vượt ra ngoài những gì ban đầu được lên kế hoạch và tôi thấy mình trong tình huống nghiêm túc bắt đầu viết mã cho nó. Trong khi tôi đã đạt được một sự tôn trọng mới đối với PHP nhờ vào dự án Drupal, tôi muốn làm điều đó trong Ruby. Tôi sẽ cảm thấy bối rối hơn, nó sẽ dễ dàng hơn để duy trì sau này và tôi có thể tái sử dụng nó trong các ứng dụng Ruby/Rails khác. Theo thời gian, tôi cho rằng tôi sẽ viết lại các phần hiện có trong Drupal trong Ruby.

Dựa trên điều này, câu hỏi đặt ra là: có ai đã tích hợp cả hai (cả câu chuyện thành công hay thất bại)? Đó là một quyết định khá lớn và tôi không thể tìm thấy thông tin về bất kỳ ai đã thực hiện nó trên Google.

Trả lời

11

Rất tiếc là âm. Điều này nghe có vẻ không hay với tôi.

Tôi sẽ cảm thấy dễ bị nhầm lẫn hơn, sau này sẽ dễ bảo trì hơn cho tôi và tôi có thể sử dụng lại nó trong các ứng dụng Ruby/Rails khác.

Tôi thực sự nghi ngờ điều đó. Nó có thể sẽ khó khăn hơn để duy trì/tái sử dụng trong tương lai vì mã phụ bạn sẽ cần phải viết để "tích hợp" Drupal và Ruby. Mã càng nhiều thì khả năng lỗi càng lớn. Tôi giả sử bạn sẽ liên kết hai với nhau bằng cách sử dụng REST/webservices/công nghệ tương tự - nếu đó là trường hợp bạn đang viết rất nhiều mã bổ sung! Dán các phần tử đầu cuối (mà phải ở trong Drupal) với các yếu tố chức năng (có thể trong Ruby) có vẻ rất phức tạp với tôi.

Tôi đoán chỉ bạn của mình là người sẽ duy trì mã. Nếu người khác thì sao? Bạn có dễ dàng tìm được người có hai bộ kỹ năng (Ruby + Drupal) trong khu vực/ngân sách của bạn không?

Điều gì về việc trả lại cho cộng đồng Drupal? Nếu mã của bạn trở thành một cái gì đó hữu ích và mớ hỗn độn lớn này của Drupal + Ruby bạn thực sự không thể đưa nó lên Drupal.org để những người khác xây dựng, cải thiện và thử nghiệm.

Tôi đề nghị hai lựa chọn

  1. Chỉ sử dụng Drupal.
  2. Nghe có vẻ như bạn đang yêu Ruby hoặc ở bất kỳ tỷ lệ nào quá quen với nó. Trong trường hợp đó: Tìm một CMS dựa trên Ruby! (Xin lỗi tôi không biết bất kỳ điều gì!)

Với tôi đây là một tình huống khó xử cổ điển: Bạn có nên phát triển Mô-đun tùy chỉnh Drupal có nghĩa là bạn sẽ bị đau đớn trong thời gian ngắn ... hoặc bạn nên tích hợp Ruby + Drupal sẽ dễ dàng hơn trong thời gian ngắn nhưng rất đau đớn trong thời gian dài.

tôi sẽ chọn đau ngắn hạn :-)

+0

+1 Bài đăng hay, tôi chỉ có thể nói tôi đồng ý đầy đủ. – googletorp

+0

BTW một số CMS dựa trên Ruby (chưa làm việc với một trong hai) http://refinerycms.com/ http://radiantcms.org/ –

3

Tôi nghĩ rằng thuật ngữ dùng để mô tả ý tưởng của bạn là lập trình Polyglot: http://memeagora.blogspot.com/2006/12/polyglot-programming.html

Một trong những lời chỉ trích của tôi về Drupal là mọi thứ đều trong Drupal hoặc PHP. Drush là một ngoại lệ của khóa học nhưng nó sẽ là tốt đẹp để xem một số công cụ phát triển mà không sử dụng ngăn xếp Drupal độc quyền. Tôi đã sử dụng Apache Ant trên Drupal với một số thành công (trước những ngày Drush).

Tôi cũng đã làm việc trên một dự án Drupal cung cấp Phần mềm dưới dạng Dịch vụ cho giao diện người dùng Java. Điều đó đã không hoạt động tốt nhưng dự án Dịch vụ Drupal đã được hưởng một số phát triển mới kể từ đó. Tôi cũng đã làm việc trên một số dự án Drupal giao diện với kết thúc trước flash (ugg!), Bản đồ google và các tiện ích điện thoại di động.

Bạn có đang nghĩ đến Kiến trúc định hướng dịch vụ không? Nếu bạn cảm thấy thoải mái với điều đó thì bạn có thể viết bài để viết phần mềm thực sự nhanh nhẹn. Tôi muốn nghe như thế nào bạn đi!

Tuy nhiên, nếu biện minh duy nhất của bạn là bạn cảm thấy thoải mái hơn trong Ruby (và tôi có thể hiểu tại sao) thì bạn có lẽ nên thoát khỏi vùng thoải mái của mình.

Các vấn đề liên quan