Drupal8に備える

このドキュメントは、Drupalアソシエーションの以下のページから取得出来るホワイトペーパーの抄訳です。正確な内容については以下のサイトを直接ご参照下さい。

Preparing for Drupal 8 White Paper

Drupal8に備える

このドキュメントは、Drupalサービス提供者がDrupal8へ備える事を助ける最初のホワイトペーパーです。 ここでは、このメジャーリリースで変更になった特徴、利点、アーキテクチャーの変更点を要約して紹介します。 Drupal8は、Drupalの弱点として広く知られるプロジェクトの非効率性や悪名高いDrupal"人材不足(talent crunch)"に対応する為にオブジェクト指向プログラミングを用いて根本からアーキテクチャーを変更しました。 またViewsやWYSIWYGエディターなどの広く使用されているモジュールや機能はDrupalコアに取り込まれました。

変わらないもの

重要な事ですが、いくつかのDrupalの主な伝統や特性は変わりがありません。Drupalは引き続きオープンソースプラットフォームであり、GPLライセンスの元で利用可能です。 また今までのようにユーザーの貢献によって成長し進化し続けるコミュニティ主導のテクノロジーです。 柔軟性と強力さは顕著な特徴であり続けるし、性能やユーザビリティや統合性といった重要なエリアの改善によって歴史的な優位性を保ち続けるでしょう。 アーキテクチャーは大きく変わりますが、馴染みのあるサイト構築や開発の慣習の多くはDrupal8でも変わりがありません。 サイト構築者やエンドユーザーは、ブロック、Views、タクソノミーやユーザー管理といったお馴染みの機能に気付くでしょう。それらの機能は改善されていますが、基本機能は損なわれていません。

Drupal8の利点

Drupalのメジャーバージョンアップでは機能とユーザー体験において毎回大きな改善がなされます。 バージョン7では、フル機能のエンタープライズレベルWebサイトの要求をサポートするような能力を備えたプラットフォームデザインになりました。 バージョン8では、強力で柔軟性のあるプロダクトであるだけではなく、以下のキーとなる特徴においてより成熟したプロダクトに変貌します。

  • ユーザビリティ
  • モバイルファーストデザイン
  • パフォーマンス
  • 効率性
  • マイグレーション
  • 多言語機能
  • インテグレーション
  • 容易なテーマ作成
  • 保守性
  • 開発技術者の確保

ユーザビリティ

Drupal8はサイト構築者、管理者、編集者にとってより効率的で直感的な操作環境を提供し、WCAGとATAGのアクセサビリティ標準に広範囲に準拠しています。 エンドユーザーはWYSIWYGエディターや合理的なコンテンツ承認システム、新しいレスポンシブな管理テーマのような、なくてはならない道具を手にする事でしょう。 またコンテンツプレビュー、ブロック管理システム、改定版サポートにおいても多くの改善が行われました。

モバイルファーストデザイン

モバイルファーストのレスポンシブデザインが管理テーマも含めてデフォルトのテーマに組み込まれました。 刷新されたテーマシステムはデバイス非依存のユーザー体験とモバイルに最適化されたカスタマイズに焦点をおいています。 デバイス特有のコードが必要とされない為、Drupal8においてサイト訪問者と管理者の双方のデザインテーマを作成する事は簡単な作業になるでしょう。

パフォーマンス

複雑なDrupalプロジェクトにおいて歴史的に挑戦的な領域であるこの分野において、このリリースは局所的Javascriptローディング、モバイルデバイスにおけるファースト・バイ・コンフィギュレーション(初期状態で最適化された設定)、より洗練されたキャシュ能力のようなベストプラクティスの集大成になるでしょう。

効率性

Drupal8において、サイトはより素早くデプロイまたは更新する事が出来ます。 新しいファイルベースの設定・デプロイシステムは設定とコンテンツを分離した為、バージョン管理を可能にし、異なる環境間の移行を容易にしました。 Viewsモジュール、WYSIWYGエディター、多くのエンティティフィールドのようなツールがコアに組み込まれた為、サイト構築者は何時間もかけて同じモジュールをインストール・更新する作業を省略する事が出来ます。 いくつかの組織は、ほんの少しのモジュールをDrupalに追加するだけで独自のサイトを構築出来る事に気付くかもしれません。

マイグレーション

統合されたマイグレーションシステムは、既存のDrupalサイトをDrupal8に移行する際に今までの方法よりも、シンプル・スムーズでより予測可能な手順を約束するでしょう。 この統合ツールを用いる事によって、自動化されたコンテンツの移行は稼働中のサイトと並列に動作させる事が出来る為、移行時のダウンタイムは最小にする事が出来ます。 Drupal6からのマイグレーションツールは既にコアに組み込まれ、Drupal7のマイグレーションツールを完成される為にコミュニティのメンバーが奮闘しています。

多言語機能

新しい多言語ツールは初期状態で利用可能であり、シンプルで効果的な翻訳機能を提供します。 またDrupal8は多言語に対応するように最適化されており、特別な依存性なしでインストール時の言語選択からどのコンテンツや設定を翻訳対象とするかまで含めて英語以外の言語に対応します。

インテグレーション

今までよりもより簡単にWebサービスを開発出来るようになりました。 インストールしてすぐにコア機能に組み込まれたREST APIを使用して他システムと通信する事が出来ます。 プロジェクトチームは、より素早くシームレスにDrupal8を拡張して、出版、マーケティング・オートメーション、CRM、email、シングルサインオン(SSO)、受講管理やその他のITエコシステムと統合する事が出来るでしょう。

容易なテーマ作成

テーマレイヤーの大きな変更により、既定の規約はより洗練されたものになり、フロントエンドエンジニアにとってテンプレート作成はよりシンプルで理解しやすいものになるでしょう。 PHPtemplateはシンプルなタグベースのテンプレートシステムであるTwigに置き換えられ、テーマ作成にPHPを用いる必要はなくなり、より簡単にDrupal変数にアクセス出来るようになります。 テーマ作成者は以前のバージョンに存在していた"divスープ"を逃れ、レンダーされたマークアップをより制御出来るようにもなります。 最後に、Drupal8は初期状態でHTML5マークアップを出力し、多くのフロントエンドライブラリとレスポンシブ機能を伴って出荷される事を追記します。

保守性

Drupal8の新しいアーキテクチャとリリースサイクルによって、サイトの保守はより安定的で予測可能なプロセスになります。Drupal8のリリースが開始された後、6ヶ月ごとにAPI互換のフィーチャーリリースが行われます。 新しいバージョン管理において8.1や8.2はAPI互換のある新しいフィーチャーのリリースとなり、8.1.1や8.1.2はバグフィックス、セキュリティパッチ、累積的マイナー変更のリリースとなります。

開発技術者の確保

Drupal8が広く適用されるにつれ、企業は悪名高い"Drupal人材不足"についての対応に迫られる事になるかも知れません。 Drupal8は、より多くの標準化された技術や最新のベストプラクティスを取り入れました。 その結果、他の技術を持つ開発者にとってDrupalの開発は受け入れ易いものになるでしょう。

テクノロジーと基盤

システム要件

以前のバージョンに比べてDrupal8のシステム要件の水準は上がりました。 詳細は、 https://www.drupal.org/requirements をご参照下さい。 記載された最低条件はDrupalコアについてであり、より大規模で複雑な実装においては追加のリソースが必要かも知れない点にご注意下さい。

オブジェクト指向プログラミング(OOP)

Drupal基盤の最も大きな変更の一つは、手続き型からオブジェクト指向プログラミング(OOP)への変更です。この変更によってDrupalは現在のPHPの標準的なプログラム手法に則したものになります。 開発において暫くはより多くの時間とコードが必要となりますが、OOPによるコードは最終的により再利用し易く、拡張や保守が容易なコードとなるでしょう。

新しい技術

Drupal8ではさまざまな新しい技術をプラットフォームに取り入れました。 以下は採用された主要技術の抜粋です。

  • Symphony
    Webサイトやアプリケーションを開発する為の主要なPHPフレームワーク Symphony2は再利用可能なコンポーネントを提供し、それ自身も活発で献身的なオープンソースコミュニティによって支えられている。
  • Twig
    PHPTemplateの代替となるタグベースのテンプレートエンジン PHP上で動作するがシンプルであまり冗長ではないインターフェースでPHPを知らないフロントエンド開発者のDrupalのテンプレート作成を容易にする。
  • REST
    RESTはDrupal8のWebサービスに力を与えます より簡単なWebサービスの一つとして、REST APIはリモートサーバ間通信にGETやPOSTといった馴染みのあるHTTPメソッドを使用します。
  • YAML
    すべてのプログラミング言語向けの"人に優しいデータシリアライズ化標準" YAMLはデータを記述する為のとても単純な言語で、Drupal8では設定ファイル生成や以前のバージョンでの.infoファイルの役割の為に使用されます。YAMLファイルはSymfony2のYAMLコンポーネントによって解釈されます。
  • PHPUnit
    PHPフレームワークのひとつ PHPUnitはPHPでの自動化テストを作成する為の人気ツールです。Drupal8ではコア機能に含まれユニットテスト機能を提供します。
  • PHP Libraries
    Drupal8のコアは以下のような様々なPHP追加ライブラリを組み入れています。 Guzzle(HTTPクライアント)、Assetic(資源管理)、EasyRDF(メタデータ生成)、Doctrine-Common(アノテーション) さらにユーザーが依存性を考慮して他のPHPライブラリを簡単に追加出来るようにComposerツールも含まれています。
  • フロントエンドライブラリ
    Drupal8は、jQuery、jQuery UI、Backbone.js、Underscore.js、そしてModernizrなどのフロントエンドライブラリを組み入れています。 これらは、フロントエンド開発者やテーマ作成者に実装過程での様々な選択肢を与えるでしょう。

更に学ぶには

このドキュメントは、Drupalサービス提供者へ向けてDrupalアソシエーションが提供しているホワイトペーパーやその他の資料の一部です。 Drupal8について更に深く知りたい場合は、  https://www.drupal.org/drupal-8.0 にアクセスして下さい。