Я використовував і Ембер, і Хребну разом з Друпалом, але не так, як ви думаєте.
Ember і Backbone - це чудові інструменти для створення веб-додатків, але Drupal насправді не є хорошим інструментом, який можна використовувати разом з ними. Те, що ви хочете, коли ви створили веб-додаток, - це щось легке і швидке. Ви хочете, щоб це було швидко, щоб ви могли дати своїм користувачам відчуття, якщо негайний час відгуку. Ви хочете, щоб воно було легким, щоб воно було краще. Drupal не швидкий - повний завантажувальний засіб Drupal займає багато часу (порівняно з багатьма іншими варіантами), якщо все, що ви хочете зробити, - це забезпечити REST API для свого веб-програми. Drupal - це PHP, що також робить його голодним оперативною пам'яткою, обмежуючи кількість одночасних користувачів.
Тож якщо Drupal настільки поганий для цього, навіщо його використовувати?
Ви дійсно повинні використовувати Drupal для того, на що Drupal перевершує - CMS. Що я робив у минулому з проектами, для яких потрібен веб-додаток, - це використовувати Drupal для створення CMS навколо веб-програми. Створювати такі речі, як блоги, списки вмісту та подібні. Я також створив модулі для визначення деяких речей, таких як визначення схеми, та інших матеріалів, де було сенс використовувати Drupal - тому що це значно полегшило мою розробку.
Замість того, щоб використовувати Drupal для створення API REST, який потрібен webapp - я використовував Node.js для створення фактичного API REST та інших перевірок AJAX-дзвінків, які потрібно здійснити webapp. Node.js чудово робить саме це. Це швидко спалахує (час відгуку становить лише 30 мс для списку об’єктів). Він також дуже легкий, оскільки JavaScript на сервері використовує асинхронні дії, сервер Node.js зазвичай може обробляти тисячі одночасних користувачів, де PHP може обробляти, можливо, 100. Окрім цього - оскільки Node.js - JavaScript, ви можете багаторазово використовувати сервера коду та на стороні клієнта. Ви можете буквально написати один і той же код перевірки, замість того, щоб реалізовувати обидві сторони клієнта в JavaScript та серверну частину в PHP. Якщо ви збираєтеся до Drupal con в Мюніху через кілька тижнів - вам варто розглянути презентацію node.js.
Тож якщо ви розробник, я б настійно рекомендував зробити подібну установку, і використовувати тільки Drupal для того, у чому це дійсно добре. Якщо ви хочете зробити простий веб-сервер, і ви не очікуєте багато користувачів, використання Drupal як бекенда може бути варіантом, якщо це допоможе вашому часу на розробку.
Оновлення Drupal 8
Тож із випуском Drupal 8 деякі з перерахованих вище залишаються дійсними, але не в тому ж розкладі, як раніше. Drupal 8 схожий на Drupal 7 - це не легкий інструмент, як Node.js, Rails, Django і т. Д. Оскільки додатки JavaScript в основному споживають різні сервіси, ви все ще повинні врахувати, чи найкращим інструментом для цього є Drupal.
З Drupal 8 багато чого покращили. Послуги набагато рідніші: Symphony визначає запит / відповідь. Drupal 8 має багато цікавих можливостей, завдяки вдосконаленому кешуванню та всім чудовим функціям. Але навіть маючи всю велич Drupal 8, він все-таки набагато важчий, ніж легкі програми. Важко сказати, наскільки успішно Drupal 8 може бути використаний як швидкий провайдер веб-сервісів.
Так що, маючи все сказане і зроблене, моя загальна рекомендація залишається такою ж. Будучи розробником Drupal, його легко використовувати для всього, оскільки ми з ним знайомі. Він відчуває себе в безпеці, і Drupal можна використовувати практично будь-що. Пам'ятайте, хоча Drupal можна використовувати для чого завгодно, це не означає, що це найкращий інструмент для всього. Здійснення ґрунтовного аналізу та розуміння сильних та слабких сторін інструментів, які ви хочете використовувати в ІТ-проекті, завжди буде чудовою допомогою і допоможе вам уникнути того, щоб опинитися в тупиковій ситуації з результатом, який не відповідає вашим очікуванням .