Saya telah menggunakan Ember dan Backbone bersama dengan Drupal - tetapi tidak dengan cara yang Anda pikirkan.
Ember dan Backbone sama-sama alat yang bagus untuk membuat aplikasi web - tetapi Drupal bukan alat yang baik untuk digunakan bersama mereka. Apa yang Anda inginkan ketika Anda membangun aplikasi web adalah sesuatu yang ringan dan cepat. Anda ingin menjadi cepat untuk dapat memberikan perasaan kepada pengguna Anda jika waktu respons segera. Anda ingin menjadi ringan untuk membuatnya lebih baik. Drupal tidak cepat - bootstrap Drupal lengkap membutuhkan waktu lama (dibandingkan dengan banyak opsi lain) jika semua yang ingin Anda lakukan adalah menyediakan REST API untuk aplikasi web Anda. Drupal adalah PHP, yang juga membuatnya cukup lapar karena membatasi jumlah pengguna secara bersamaan.
Jadi jika Drupal sangat buruk untuk ini mengapa menggunakannya?
Anda harus benar-benar menggunakan Drupal untuk keunggulan Drupal - sebuah CMS. Apa yang telah saya lakukan di masa lalu dengan proyek-proyek yang membutuhkan aplikasi web adalah menggunakan Drupal untuk membuat CMS di sekitar aplikasi web. Untuk membuat hal-hal seperti blog, daftar konten dan sejenisnya. Saya juga membuat modul untuk mendefinisikan beberapa hal backend - seperti definisi skema, dan hal-hal lain di mana masuk akal untuk menggunakan Drupal - karena itu membuat pengembangan saya jauh lebih mudah.
Alih-alih menggunakan Drupal untuk membuat API REST yang dibutuhkan webapp - saya menggunakan Node.js untuk membuat API REST yang sebenarnya dan cek AJAX lainnya yang disebut webapp perlu dibuat. Node.js unggul dalam melakukan hal ini. Ini sangat cepat (waktu respons serendah 30 ms untuk daftar objek). Ini juga sangat ringan, karena JavaScript di server menggunakan tindakan asinkron, server Node.js biasanya dapat menangani ribuan pengguna bersamaan di mana PHP dapat menangani mungkin 100. Selain itu - karena Node.js adalah JavaScript, Anda dapat menggunakan kembali banyak dari server kode dan sisi klien. Anda benar-benar dapat menulis kode validasi yang sama, daripada harus mengimplementasikan sisi klien dalam JavaScript dan sisi server dalam PHP. Jika Anda akan ke Drupal con di Münich dalam beberapa minggu - Anda harus mempertimbangkan menonton presentasi node.js.
Jadi jika Anda seorang pengembang, saya sangat merekomendasikan melakukan pengaturan yang sama, dan hanya menggunakan Drupal untuk apa yang benar-benar bagus. Jika Anda ingin membuat aplikasi web sederhana dan Anda tidak berharap banyak pengguna, menggunakan Drupal sebagai backend bisa menjadi pilihan jika itu membantu waktu pengembangan Anda.
Perbarui Drupal 8
Jadi dengan rilis Drupal 8 beberapa di atas masih berlaku tetapi tidak dalam perpanjangan yang sama seperti sebelumnya. Drupal 8 seperti Drupal 7 bukan alat yang ringan, seperti Node.js, Rails, Django dll. Karena aplikasi JavaScript umumnya mengkonsumsi berbagai layanan, Anda masih harus mempertimbangkan apakah Drupal adalah alat terbaik untuk ini.
Dengan Drupal 8 banyak hal telah diperbaiki. Layanan jauh lebih asli, dengan Symphony mengarahkan permintaan / tanggapan. Drupal 8 memiliki banyak kemungkinan menarik dengan caching canggih dan semua fitur hebat. Tetapi bahkan dengan semua kehebatan Drupal 8, masih jauh lebih berat daripada aplikasi ringan. Sulit untuk mengatakan seberapa sukses Drupal 8 dapat digunakan sebagai penyedia layanan web yang cepat.
Jadi tetap saja, dengan semua yang dikatakan dan dilakukan, rekomendasi umum saya tetap sama. Menjadi pengembang Drupal, mudah menggunakan Drupal untuk semuanya, karena kita sudah mengenalnya. Rasanya aman dan Drupal dapat digunakan untuk apa saja. Ingat, walaupun dimungkinkan untuk menggunakan Drupal untuk apa pun, itu tidak berarti bahwa itu adalah alat terbaik untuk semuanya. Melakukan analisis yang baik dan memahami kekuatan dan kelemahan alat yang ingin Anda gunakan pada proyek TI, akan selalu sangat membantu dan dapat membantu Anda menghindari berakhir pada posisi buntu dengan hasil yang tidak sesuai dengan harapan Anda .