💧

2021年後半から2年程度の Drupal でのフロントエンド開発展望

2021/12/08に公開

Drupal Advent Calendar 2021 の8日目の記事です。

はじめに

今年の後半から今後2年程度で Drupal のフロントエンド開発に影響がありそうな内容を個人的な意見やコメントを交えて列挙してみました。Drupal プロジェクトでのフロントエンド開発の際に参考になればと思います。

2021 後半で年内までに実現した、または予想されること

Node 16 の安定版がリリースされた (2021/10/26)

Drupal 9.3 がリリース (2021/12 予定)

2022 年前半までに予想されること

Drupal 10 のリリース (2022/06 予定)

ES2022 がリリース (2022/06 予定)

2023 年前半までに予想されること

Dart Sass で @import の記法が廃止 (2022/10 予定)

ES2023 がリリース (2023/06 予定)

Node.js のライブラリは ES Modules の記法に移行が進む?

  • 2021/04 に Node 10 がサポートされなくなったので、現行のサポートバージョンでは ES
    Modules
    で記述可能になった
    • よって、Node.js で使用するライブラリは ES Modules に移行が進む可能性がある
  • 一方ブラウザで使用するライブラリは現時点ではなんとも言えない
    • ライブラリ単体で ES Modules に対応したとしても、Rollup や Webpack などのバンドラーでソースコードをまとめないと動かせないことが多いため、ブラウザで使用するライブラリは対応が進みづらいと思う
    • 現状でも、 ブラウザでも扱えるように UMD (Universal Module Definition) 形式がライブラリに同梱されることが多い
    • Drupal での ES Modules を使った画面開発への対応(コーディング規約の策定など)は不明

Drupal では yarn 2.x 以降の機能をサポートする?

終わりに

Drupal のフロントエンド開発において、2021 年後半から 2023 年前半までの期間で一番大きい変更はやはり Drupal 10 のリリースだと思います。IE のサポート終了、コアのコードで jQuery が非推奨になるなど JavaScript 周りの変更が大きくなりそうです。(ただし、jQuery に関しては、色の入力にアクセシビリティの問題が存在したりDrupal の core/misc/form.js で定義されている getSummary() 関数が jQuery の機能に依存していたりで完全には取り除かれないかもしれません)
こうなってくると、Drupal のフロントエンド開発も素の JavaScript を学習する必要性が高くなってくると思います。もし今まで、JavaScript の開発をほぼ jQuery のみで行ってきたのならばこの機会に JavaScript の文法や jQuery を使用しない記法を学習してみるのが良いでしょう。

  • JavaScript Primer
    • ECMAScript 2015 以降の JavaScript の文法に関して書かれた電子書籍(日本語)
  • You might not need jQuery
    • jQuery の関数を jQuery を使わずに実現するコード例が載っているサイト(英語)

Discussion