Saya telah dengan senang hati menggunakan JQuery selama 2 tahun terakhir dan telah cukup berhasil membuat beberapa fungsi yang sangat keren dengannya ... jadi saya sangat nyaman dengannya. Saya juga percaya masa depan web akan berlanjut di jalur sisi klien saat ini.
Namun...
Tantangan berikutnya tampaknya akan datang dalam bentuk berbagai kerangka kerja pengontrol: KnockoutJS , BackboneJS , SproutCore , JavaScriptMVC (daftar berjalan).
Selain itu, ada beberapa alat AMD Loader yang bagus untuk digunakan seperti RequireJS atau LabJS dll. Namun, jQuery sekarang memiliki define
dan then
kemampuan yang dipanggang.
Semakin sulit untuk melacak semuanya ...
Dan sekarang, tugas saya tampaknya mengevaluasi / memutuskan arah strategis untuk menggunakan beberapa bentuk kerangka kerja sisi klien MVC atau MVVM ... tapi saya punya banyak pertanyaan.
- Di mana JQuery cocok dengan berbagai framework-controller yang disebutkan di atas?
- Apakah JQuery digunakan bersama masing-masing atau apakah beberapa dari mereka memiliki ' JQuery -styled version' sendiri?
- Apakah alat seperti RequireJS masih diperlukan jika Anda menerapkan salah satu dari berbagai kerangka kerja kontroler yang disebutkan di atas?
- Apakah
define
danthen
kemampuan yang dimasukkan ke dalam JQuery sekarang menggantikan AMD Loader yang disebutkan di atas? - Mana yang tampaknya paling modular? (lihat catatan di bawah)
CATATAN:
Satu hal yang tidak saya inginkan dalam kerangka kerja masa depan adalah persyaratan harus menerima sejumlah besar fungsi yang tidak saya gunakan. Artinya, saya lebih suka menggunakan kerangka kerja yang benar-benar modular. Misalnya, untuk menggunakan jQuery UI Anda harus menerima banyak pustaka inti lain yang mungkin tidak Anda gunakan.
Saya akan bereksperimen dengan masing-masing, tetapi beberapa umpan balik NYATA akan bagus. Saya telah melihat beberapa pertanyaan 'serupa', tetapi tidak ada yang benar-benar menjawab kecenderungan di atas.
Terima kasih sebelumnya!
sumber
Saya akan menjawab di JavaScriptMVC karena saya seorang kontributor:
JavaScriptMVC bergantung pada jQuery dan menggunakannya secara luas.
JavaScriptMVC tidak memiliki fungsi bersaing dengan jQuery. Ini tidak benar dengan Backbone yang memiliki sistem acara sendiri. Tapi, apa pun yang ditambahkan tulang punggung atau tulang belakang sangat minim.
JavaScriptMVC hadir dengan sistem manajemen ketergantungan -> mencuri. Anda dapat menggunakan JavaScriptMVC dengan RequireJS, tetapi mencuri sebenarnya jauh lebih kuat dan berukuran sama dengan yang diunduh oleh pengguna.
Ini tidak ada pendapat. JavaScriptMVC sangat modular. Anda hanya menggunakan apa yang Anda butuhkan. Dibandingkan dengan Backbone atau tulang belakang, Anda dapat menggunakannya M, V, atau C bagian mandiri. Saat dirakit bersama, ukurannya hanya 1k lebih besar dari Backbone (saat menggunakan jQuery dan Underscore). Anda dapat melihat berbagai ukuran komponen dasar di sini: https://github.com/jupiterjs/javascriptmvc/issues/26
Tetapi JavaScriptMVC jauh lebih kuat (dalam hal fitur) vs Backbone atau Spine. Sebagai contoh, itu pengendali event templated praktis mencegah semua kebocoran memori. Berikut ini tooltip yang menyembunyikan dirinya ketika jendela diklik:
Ini sangat penting dengan pendekatan MVC ketika kontrol Anda mendengarkan perubahan dalam model seperti:
Pengontrol akan mencabut ikatan otomatis semua penangan peristiwa eksternal ini.
Beberapa kekuatan lain hanya bagian MVC:
Sekarang, JavaScriptMVC lebih dari sekadar bagian-bagian MVC-nya (yang merupakan bagian dari sub-proyek jQueryMX). Memiliki:
Sekarang, apa yang harus digunakan, sangat tergantung. Banyak hal bergantung pada apakah Anda membuat "aplikasi" atau "halaman". Sebuah aplikasi, yang perlu pengujian, manajemen ketergantungan, di mana Anda peduli dengan kebocoran memori, saya akan melihat JMVC atau SproutCore.
Jika Anda menempelkan beberapa widget dasar bersama, saya akan melihat tulang belakang atau tulang punggung.
sumber