ここまで、「ウェブ・アプリケーション・フレームワーク」について、
その内容を開発目的と提供価値・提供機能に分けて検討してきたので、ここで総合してみることにする。
まず、開発目的となる「動的なウェブサイト」「ウェブ・アプリケーション」「ウェブ・サービス」という用語については、
大なり小なり何らかのサービスを提供する、プログラムにより生成されるウェブサイト
という言い方でまとめることができるだろう。
そして、提供価値・提供機能である「アプリケーション・フレームワーク」という用語については、
プログラミングを容易にするためのプログラムのパーツ(部品)やツール(道具)のセット
ということであった。
とすれば、ウェブ・アプリケーション・フレームワークとは、
『大なり小なり何らかのサービスを提供する、プログラムにより生成されるウェブサイト』の
開発をサポートするために設計された、
『プログラミングを容易にするためのプログラムのパーツやツールのセット』
ということになる。
ということは、Drupal とは、
(1)『大なり小なり何らかのサービスを提供する、
プログラムにより生成されるウェブサイト』の開発を促進・支援する
そして、具体的には、
(2)そのための『プログラミングを容易にするプログラムのパーツやツールのセット』を提供する
ということになる。
ただ、この説明は、拡大解釈すれば、Drupal に限らず、他の動的 CMS にも援用することができるかもしれない。
また、それぞれの CMS には、それぞれのエキスパートがいるため、結果としてでき上がるサイト間の差は小さくなり、
そのようなエキスパートの手にかかれば、CMS 間の差は小さいということになるのかもしれない。
また、CMS 全体から見れば、私がカバーしている範囲はあまりにも狭いため、
この観点で私が主観的に適切な評価を下すことはできない。
(ただ、個人的には、私が開発経験のある CMS の中では、
プログラミングの視点においては、Drupal が最も優れている、と感じている。)
ということで、ここでは、できる限り、比較可能な計量的な指標をもって、
Drupal の相対的な位置付けを確認することに留めたい。
『プログラムのパーツやツール』とは、
例としては、プログラミングの専門用語になって恐縮であるが、「定数・変数・タグ」「関数」などを挙げることができる。
そこで、Drupal とあるメジャーな動的 CMS を比較すると、
あるメジャーな動的 CMS では、デフォルトで提供されるタグが約140個、関数が約430個となっているのに対して、
Drupal では、デフォルトで提供される変数・定数が約270個、関数が約2260個となっている。
「定数・変数・タグ」で2倍弱、「関数」で5倍強である。
少なくとも、この点に関しては、Drupal は、
より充実した『プログラミングを容易にするプログラムのパーツやツールのセット』を提供していると、言えるだろう。