自行開發vs.使用Drupal

有時你們可能會考慮自行開發自己的系統,而不使用Drupal。Drupal社群非常希望你的加入,因此我們會從你的觀點來呈現一些使用Drupal的好處,而不是自行開發。我們鼓勵你在動手前,思考下列項目:

採用Drupal,有趣且富教育意義

當你還在努力掙扎於讓網站符合你的需求、處在使用單純的程式語言的低階環境裡,Drupal卻有更好的方式。如果你使用Drupal,你會經歷並學習到一個被證明為強大且受歡迎的系統的內部運作方式。這對於你未來的專案,會很有幫助。

當撰寫系統架構時,處理一些無關緊要的細節常會令人感到挫折。有了Drupal,架構已經建好,你可以專注在專案裡的「牛肉」。有了Drupal,你可以減少完成工作所需的煎熬。

Drupal的使用者和開發人員基礎

有數以萬計的網站在使用Drupal,drupal.org上常常同時有超過700個使用者在瀏覽資訊。這讓你在採用Drupal時,擁有以下優勢:

  • 可以滿足廣泛需求的模組
    當你在建置你的網站時,可能會出現你原本沒有想到的功能需求。當Drupal的使用者碰到需求出現時,常常會有人撰寫新模組來滿足需求。在大部分的例子裡,這些模組都是其他使用者貢獻的,所以如果你採用Drupal,你就有機會在模組下載區域找到它們,很容易就可以安裝到系統裡開始使用。此外,你也可以修改這些模組,以更符合你的需求,因為它們都是開放源碼。
  • 容易取得協助
    如之前所提,有許多人活躍在drupal.org。你可以在討論區裡提出你的問題,或是進行搜尋,通常都可以找到一些人建議的解決辦法。如果你是自己搞,你就沒有這種大型社群的支援優勢,因為他們不知道你是怎麼做的。
  • 測試完整的平台
    當系統變得愈複雜,愈有可能發生錯誤或臭蟲,最終會變得難以處理,不是少數幾個人就可以預測所有的問題。你不能依賴你的網站訪客來回報錯誤,因為他們不會告訴你問題在哪,他們只會一去不返。

    每一個安裝了Drupal的網站,都有一個監視模組(watchdog)。這個模組會紀錄錯誤,並在管理者進入管理介面時回報給管理者。此外,對於Drupal系統的使用者來說,網站能如預期所想的方式運作,是非常重要的一件事。因此使用者會把錯誤回報給Drupal的維護人員和模組開發者。為了使這個過程變得簡易順暢,Drupal的維護人員已經建立了一套系統,可以追蹤特殊狀況,並將問題回報給有能力解決的人。

你可以用Drupal建立很酷的網站

我收集了一些範例網站,可以用來支持我的說法。請注意,他們都是很不一樣的網站哦!

想要看更多的例子,可以在範例研究Drupal網站列表裡找到。

Drupal很有彈性

通常選擇自行開發系統的一個重要原因,是因為這樣可以精確地符合自己的需求。然而,Drupal本來就是設計為可以符合各種廣泛的需求,其中一個重要功能,就是彈性。事實上,你是很有機會可以採用Drupal來達成你的目標的。除了前面已經提過的模組、以及可以修改模組以符合你的需求之外,你也很容易就可以設計自己的模組。通常這是透過在檔案裡設計一些導入了某些hooks的函式。以下的函式導入了help hook,可以讓Drupal的核心程式和其他模組來呼叫。

<?php
function mymodule_help($section) {
switch($section) {
case 'admin/help#block':
return 'My module will help you get laid';
break;
}
}
?>

這種讓模組與Drupal核心進行互動的方式,已經被證明是非常好的作法。藉由使用hooks,模組可以彼此互動,並利用Drupal的基礎元件,例如節點、分類、管理和使用者系統。

有了Drupal,你可以替未來打算

Drupal已經誕生超過五年了,並且持續地在吸引有興趣且活躍的開發人員。有了這樣良好的紀錄,你可以放心地相信它會繼續成長茁壯。持續不斷的開發,對於網站的建置與規劃而言是很重要的。對於「客製化的程式」,你必須知道是否有人提供適當的文件或回應,才不會導致「維護惡夢」。

網際網路上充滿著關於溝通的想法和作法,Drupal把重點放在與未來一同成長,提供相容於標準的解決方案。以RSS為例,Drupal 4.6版就升級到RSS 2.0的標準。

我們不知道未來的網路標準或想法會是如何,一個客製化網站若要隨之更新,你可能得重寫所有的程式碼。有了Drupal,你可以確定它的彈性和模組化功能,足以隨之成長,並很容易地就能做出改變。