Drupal7で今から開発してよいか問題。

この記事は、『Drupal Advent Calendar 2015』の3日目です。

祝 Drupal 8 リリース

ANNAIの紀野です。

2015年11月19日に待望のDrupal 8がリリースされました。
かれこれ3年近く、次のD8はすごいすごいと触れ回っていたのですが、ほんとに素晴らしい出来栄えだと思います。
数多くのコントリビューターの知力と労力、時間の結晶ですね。
どのように素晴らしいかは2015 Drupal Advent Calendar でも記事がいろいろ書かれると思います。


ところで、みなさんの頭に
「今からサイトを開発するのに、D8じゃなくてD7で作っても良いの?
もう古いんだよね?」
 という疑問が浮かんでいませんか?

わたしは実際そういうご質問を受けることが多々あります。

Drupal 8はコアだけでシンプルなサイトであれば必要十分なモジュールが同梱されています。
たとえば、

  • Drupal キラーモジュールのSQLビルダーViews
  • コンテンツ以外のサイト全体の細かなストリングスをマルチリンガル化する機能
  • HTMLエディタ
  • コンテンツ間のリレーションを実現する機能
  • RESTfulAPIの標準装備
  • コアでのResponsive デザイン対応
  • 外部DBのMigrate機能


バックエンドだけならこれでもう十分といえます。

 

Drupalらしさとは

ただ、Drupalはコードでのプログラム開発と、管理画面からのGUI開発の両方を全力で充実させようとしている非常に独自なポジションのWebフレームワークです。
2万個以上存在するモジュールはそれぞれが単体の機能ではなく、他のモジュールと連携して動くことを前提に開発され、管理画面から単なるTweak以上の開発を可能にする余地を提供してくれています。

D8でこの充実したモジュール群が整うのはもう少し先になります。


それに、いまのD7のコア、モジュールの安定度はとても素晴らしいのです。
1年前と比べてもほんとにスムースに開発が進みます。
新しい概念のモジュールも日々生まれてきています。
Drupalならではの複雑な機能を持ったサイトをモジュールの組み合わせで作りたい場合、今が旬と言っても過言ではありません。

で、サポートは?

いつまでD7はサポートされるのか?
心配されることとして、サポート期間のことがあげられるかと思います。

Drupal 8の登場と同時に、Drupalのリリースサイクルが変わります。
Drupal core release cycle: major, minor, and patch releases
https://www.drupal.org/core/release-cycle-overview

新たにセマンティック・バージョニングとLTS(Long Term Support)が導入されます。
定期的なバグフィックスでの小数点二桁目と、半年に一度の機能追加などマイナーバージョンが区別されます。
最後のマイナーバージョンがLTSとしてサポートされます。
D8LTSはD9のLTSが出てから3ヶ月後までのサポートとなります。
ただ、D10のLTS後までになるかもしれません。この辺はまだ未定です。
その中でD7のLTSの議論も始まっています。
おそらく、Drupal9.0よりは長く、D9のLTS出現まではサポートされることと思われます。

その時の選択肢は?

数年後のD7のサポートが切れた時、どのような選択肢があるかですが、

* D8へのアップグレード

コンテンツだけで考えるならば、D8へのアップグレードは非常に楽です。
コアに入ったMigrateモジュールの凄さはびっくりするほどです。
D6 > D8も一瞬でコンバートされてしまいました。
モジュールに関しても、D7のEOL(end of life)までの間にはD7時代の有力モジュールはほぼすべてアップグレードされていることと思います。
また、その際のノウハウや情報も行き渡るでしょう。

* 商用サポート

2016年2月にD6がEOLを迎えますが、有償でサポートする企業が幾つか出てきています。
100万を軽く超えるサイト数を誇るD7のサポートは恐らく十分なマーケットとなると予想されますので、
いろいろなオプションが手に入るのではないかと思います。
 

* BackdropCMSへのコンバート

Drupal7からのForkとして生まれたBackdropCMSも受け皿として期待されます。
https://backdropcms.org/
コアの移行はほぼ問題なく、モジュールのコンバートも工数はかかりますが不可能ではありません。
Ctools系がかなり変わるのでViewsやPanels、DSなど有力モジュールとの連携が難しいこと、D7から移植したモジュールのアップデートやセキュリティパッチに都度対応し難くなることなどがありますので、新規サイトをBackdropCMSで開発するのはあまりオススメ出来ませんが、
運用段階に入って長く使いたいD7サイトの拠り所としてはかなり有望ではないかと考えています。
そのためにもDrupalコミュニティとしてBackdropCMSは応援していく価値があると思います。
 

結論

「いまからD7で全然OKです!」
というわけで、安心してDrupal7でサイトを開発しましょう。

もちろん、同時にD8でバリバリ開発してモジュールをコントリビュートしてください!