SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Drupal 9で始めるWebサイト開発入門

高機能CMS「Drupal」とは? 基本概念を理解してローカル開発環境を構築する

Drupal 9で始めるWebサイト開発入門 第1回

  • このエントリーをはてなブックマークに追加

 誕生して今年で19年を迎えるオープンソースCMS「Drupal」は、2020年6月にDrupal 9をメジャーリリースしました。そこで改めてDrupalの基本的な概念やテーマ、モジュールの開発方法について、架空の飲食店Webサイト「タピオカドリンク喫茶店 まる茶」を構築しながらWebエンジニア向けに解説します。第1回では、Drupalの概要、特徴、そしてDrupalの開発をスタートさせるためのローカル開発環境構築方法について紹介します。

  • このエントリーをはてなブックマークに追加

対象読者

  • HTML、JavaScript、PHPなどWeb開発の基礎に理解がある方
  • Webサイト、アプリケーション開発の経験者

Drupalの概要

 昨今のインターネットインフラ、スマートフォンデバイスの普及などにより、ユーザーがデジタルコンテンツに触れる機会が急増しています。Webサイトだけではなく、スマートフォンアプリ、街中のデジタルサイネージ、スマートスピーカーなどのチャネルを駆使し、ユーザーにとって最適なタッチポイントでより良いデジタル体験を提供する企業は、もはや珍しくありません。こういった背景から、デジタル体験を促進するためのWebプラットフォームは、さらに需要が高まってきています。

 Drupalとは、2001年に誕生した、PHP製のオープンソースのコンテンツ管理システム(CMS)です。世界中で100万以上のサイトで稼働していると言われており、海外だとNASAやオーストラリア政府、また、NASDAQなどの金融機関、ネスレ、ジョンソン・エンド・ジョンソンなどのグローバル企業がDrupalを採用しています。

図1:Drupal 公式サイト
図1:Drupal 公式サイト

 Drupalは、CMSとしてのコンテンツ管理はもちろんのこと、優れた拡張性と柔軟性を備えていることから、Ruby on RailsやLaravelといったWebフレームワークとして耐えうるスペックを兼ね備えています。

 例えば、大規模会員サイトや社内情報ポータル、ECサイト、宿泊予約サイトの事例も多くあります。個人ブログから大規模なWebサービスまで幅広く活用できることも、Drupalの大きな魅力の1つです。

Drupalの特徴

 ここからDrupalの主な特徴を詳しく見ていきます。公式ドキュメントで次のように紹介されています。

  • 堅牢なセキュリティ
  • パフォーマンスとスケーラビリティ
  • 多言語対応
  • コンテンツ作成
  • Content as a Service(CaaS)

堅牢なセキュリティ

 銀行、政府、行政などミッションクリティカルなサイトとアプリケーションでDrupalが選択されています。Drupalはオープンソースプロジェクトとして、精査、保守、セキュリティ修正の対処とリリースに協力するセキュリティ専門家の専任チームを持っています。それに加え、世界中で100万人以上の開発者がDrupalに貢献しており、Drupalを最も安全で安定したプラットフォームの1つにしています。

パフォーマンスとスケーラビリティ

 Drupal標準のパフォーマンス機能は、負荷分散、高度なキャッシュなどのプレッシャー下でも十分なパフォーマンスを発揮します。これは、グラミー賞やNBCオリンピックなど極端な負荷が発生するサイトを強力にサポートします。

多言語対応

 Drupalでは強力な多言語機能が標準で備わっており、Webサイトのあらゆる部分を翻訳することが可能です。100カ国以上の言語に対応しているほか、ユーザーのIPアドレス、ブラウザの設定、URL、セッションなどに応じて優先言語を検出することができます。アラビア語など右から左へのテキストの方向を持つ言語もサポートしています。

コンテンツ作成

 CMSとしてよく耳にする一般的な機能のほとんどは標準機能に搭載されています。例えばユーザー権限に関しては、コンテンツの種類ごとに閲覧・編集をきめ細かく設定することが可能です。承認ワークフロー機能と組み合わせることで、大規模な組織でも適切な権限を与えながら安全に運用できます。

 また、Drupalにはマルチサイト機能という、単一のコードベースから複数のサイトを提供できる機能があります。企業が持つ複数のシステム、WebサイトをDrupalに規格を統一することができれば、管理・運用コストを効率化できます。

Content as a Service(CaaS)

 さまざまなWebサイトやサービスのコンテンツを1つの場所で管理し、マルチチャネルにデプロイすることが可能です。これはデカップルド・アーキテクチャ(Decoupled Architecture)およびヘッドレス(Headless)と呼ばれています。ニューヨーク地下鉄では、リアルタイムに運行情報をデジタルサイネージ、スマートウォッチなどマルチチャネルに発信する仕組みをDrupalで実現しました。通勤者に適切なデバイス、タイミングでデジタル体験を促進しています。

なぜDrupalが選ばれるのか

 このように、世界中で100万サイトでの実績があるDrupalの魅力とは何でしょうか。筆者の考えとして、Drupalの強みを3つにまとめました。

多機能・高機能であること

 上記で述べたように、Drupalは標準の機能だけで多くのことを成し遂げられます。また、データモデルの追加、各種モジュールの設定、柔軟なロール・権限の設定など、その多くは管理画面から設定することができるためコーディングを要しません。

モジュールとディストリビューションによる開発コスト削減

 Drupalの標準機能ではカバーできない要件はどのように実装するかと言うと、「モジュール」と呼ばれるプログラムの一式を用意することで実現します。現在では4万以上のモジュールがDrupal.orgで公開されており、それらは自由にインストールして利用することができます。

 独自システムからデータをインポートする必要がある場合など、要件に適したモジュールが無ければ、自身でモジュールを開発することで機能を拡張します。

 また「ディストリビューション」と呼ばれる、特定の用途に合わせてモジュールやテーマをパッケージ化して配布することができます。要件に合ったディストリビューションを使用すればさらに開発工数を軽減することが可能です。

世界中に点在する多くのDrupal開発者

 モジュール、ディストリビューションを使って開発工数を削減できると言っても、そのモジュールを選定し、オリジナルのデザインを実装するために開発者は必要です。

 Drupalは世界最大のオープンソースコミュニティの1つです。100万人のコミュニティメンバー、10万人のアクティブコントリビューターがDrupalを支えています。これにより、開発者ボトルネックを回避することが可能です。グローバルでDrupalを活用する企業であれば、国ごとにDrupal制作会社や開発者を採用することも難しくありません。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
DrupalとWordPressの違いは?

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Drupal 9で始めるWebサイト開発入門連載記事一覧

もっと読む

この記事の著者

丸山 ひかる(マルヤマ ヒカル)

2014年、独立系ソフトウェア開発会社に新卒入社。 Web APIの開発をメインに、保守、運用、顧客サポートまで幅広く携わったのちに、テクニカルエバンジェリストとしてプロダクトの普及に貢献。 現在はDrupalを基盤としたエンタープライズ向けCMSプラットフォームを提供するAcquia(アク...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/12342 2020/06/11 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング