Зустрічаємо JSON:API у складі Drupal: майбутнє “API-first” уже настало!

02.05.2019
Зустрічаємо JSON:API у складі Drupal
Автор:

«Проаналізувавши дані і поговоривши з колегами, я відчув, що JSON:API мусить бути частиною ядра Drupal»

Дріс Байтаерт, засновник Друпала

Одна з новинок Друпала змусить прихильників підходу “API-first” просто затамувати подих. Адже серед надходжень вчорашнього релізу 8.7.0 — модуль JSON:API у складі Drupal! Тепер він — частина вбудованих веб-сервісів Drupal 8, що відповідальні за обмін даними зі сторонніми додатками. Давайте дізнаємось більше про роботу JSON:API, його шлях до основного складу, а також чому вхід JSON:API до складу Drupal 8.7 — величезна подія.

“API-first” Drupal: майбутнє вже тут!

Нові часи диктують нові правила. Сьогодні бізнес по-справжньому виграє не просто від наявності сайту. Адже можна охоплювати ще більше різноманітних діджітал-каналів за принципом «Створи один раз — публікуй всюди» (“Create Once, Publish Everywhere”). Ваш контент може «летіти» на мобільні додатки, пристрої “Internet of Things”, і так далі, через API.

Бути “API-first” означає бути повністю готовим і відкритим до такої співпраці. “API-first“ Drupal був пріоритетом Drupal-спільноти протягом останніх кількох років. Новий Drupal 8 в 2015 році був укомплектований базовим REST API, який все більше вдосконалювався протягом наступних мінорних релізів. Все це — результат API-first Drupal Initiative і серйозної роботи спільноти.

На додачу до веб-сервісів RESTful у ядрі Drupal 8, виникла ціла екосистема контрібних проектів для “API-first” Drupal:

  • контрібні модулі, такі як GraphQL, Simple OAuth, Open API, Consumers, RELAXed Web Services, Subrequests і так далі
  • “decoupled” дистрибутиви Contenta CMS, Reservoir і Headless Lightning
  • Waterwheel.js SDK

Серед цих проектів, звісно, був контрібний модуль JSON:API, який зараз завершив свій шлях до ядра Drupal. Вітаємо!

Шлях JSON:API до ядра Drupal 8

Специфікація JSON:API набирала все більшої популярності в JavaScript-спільноті. Дріс Байтаерт, 2017-го року рекомендував молодий модуль JSON:API до складу ядра Drupal 8. Як сказав засновник Друпала, він відчув, що JSON:API мусить там бути. Проте попереду було дуже багато роботи з підготовки.

Творцем і основним мейнтейнером модуля був Матеу Агіло Бош (e0ipso). Але Дріс також попросив Віма Лірса та Гейба Сулліса з Acquia, щоб вони присвятили максимум часу допомозі з підготовкою нового модуля до ядра. Загалом, як написав Вім Лірс у статті, на проекті було 103 контрибутори.

За словами Дріса Байтаерта, з самого початку і до моменту, коли JSON:API був закомічений в гілку Drupal 8.7, знадобилось:

  • 28 місяців
  • 450 комітів
  • 32 релізів
  • 5,500+ запусків тестів

Модуль-рекордсмен: одразу стабільний у ядрі!

Зазвичай контрібні Drupal-модулі додаються в якості експериментальних. Вони стають стабільними, тільки коли їх доводять майже до бездоганності. Однак, JSON:API став першим модулем в історії, що потрапив у ядро одразу стабільним! Про це пише його творець Матеу Агіло Бош.

Як працює модуль JSON:API

Після увімкнення JSON:API у складі Drupal, усі сутності (блог-пости, користувачі, коментарі і так далі) стають доступними через веб-сервіс API. Для JSON:API сутності є ресурс-об’єктами. Він створює URL-и, за якими всі типи сутностей та бандли відкриті для доступу за допомогою HTTP-методів.

За словами Дріса, розробники і контент-редактори можуть створювати свої контент-моделі прямо в інтерфейсі Друпала. Окрім чудових можливостей зі створення контенту, пише Дріс, вони отримують потужний і сумісний з усіма стандартами веб-сервіс API, що робить контент доступним JS-додаткам, інформаційним кіоскам, чатботам, голосовим асистентам, і так далі.

При цьому є можливість:

  • виводити лише окремі поля сутностей (наприклад, назви блогів)
  • одразу включати зв’язки сутностей (наприклад, авторів контенту) і таким чином уникати додаткових запитів
  • фільтрувати колекції ресурсів
  • сортувати колекції ресурсів
  • здійснювати пагінацію колекцій ресурсів

і багато іншого.

Що ця новина означає для користувачів контрібного модуля JSON:API

За словами Віма Лірса, користувачів контрібного модуля JSON:API 8.x-2.x в Drupal 8.5 або 8.6 можуть оновити ядро до Drupal 8.7 і видалити цей контріб. Це не повинно принести ніяких проблем в роботі. Також зверніть увагу, що контрібний модуль припинить підтримку наприкінці 2019 року.

Оновлюйтесь до 8.7.0 і насолоджуйтесь JSON:API у складі Drupal!

Ще раз вітаємо невтомну команду JSON:API! Філософія “API-first” Drupal дає нам необмежену свободу у втіленні ідей наших клієнтів відносно інтеграції зі сторонніми системами. Тож якщо ви бажаєте: оновити ядро до Drupal 8.7 створити цікаві рішення з обміну даними за допомогою JSON:API розширити свій бізнес за допомогою нових діджітал-каналів Звертайтесь до наших Drupal-розробників!

Голосів: 1 Рейтинг: 5

Також по темі

1

Сьогодні все більше ажіотажу викликає архітектура “decoupled Drupal”. Звісно, Drupal має дистрибутиви і для неї. Вони включають у себе Reservoir, Headless Lightning, а також “героя” нашої...

2

Кожен власник магазину мріє про те, щоб кошик був наповнений товарами і успішно вирушав на оплату. Ми ділилися з вами універсальними...

3

Drupal 8 пропонує десятки корисних модулів для оптимізації швидкості сайту. Сьогодні ми з радістю спостерігаємо появу новинки для підвищення швидкодії — це модуль Quicklink в Drupal 8. На його...

4

Сайти на Drupal 8 здатні легко передавати дані на сторонні сайти та додатки. Веб-...

5

Різноманітні форми — основа співпраці сайту з користувачем. Тож інструменти для створення форм завжди користуються популярністю —...

Subscribe to our blog updates