Apa itu Knockout.js?
Knockout adalah perpustakaan Javascrip yang hebatIni membantu Anda membuat antarmuka pengguna yang kaya teks dengan kemampuan tampilan dan pengeditan yang baik hanya menggunakan model data dasar yang jelas dan bersih. Setiap kali konten UI lokal Anda perlu diperbarui secara otomatis (misalnya, tergantung pada perubahan perilaku pengguna atau sumber data eksternal), KO dapat dengan mudah diterapkan dan sangat mudah dipelihara.
Fitur penting KO:
Pelacakan dependensi yang elegan - Setiap kali model sumber data berubah, model sumber data dapat secara otomatis memperbarui konten yang ditentukan dari UI Anda. Pengikatan deklaratif - Ini mengikat UI Anda ke model sumber data dengan cara yang sederhana dan sederhana, dan Anda dapat menggunakan templat struktur berlapis apa pun untuk membangun antarmuka dinamis yang kompleks. Skalabilitas yang baik - perilaku kustom dapat diimplementasikan dengan beberapa baris kode sederhana untuk diikat sebagai deklarasi baru.
Keuntungan lainnya:
Pustaka Javascrip{filtering}t murni - kompatibel dengan teknologi server dan klien apa pun. Ini dapat diterapkan dengan baik pada aplikasi yang ada - tanpa perlu perubahan pada arsitektur utama program. Kesederhanaan - hanya 13K setelah kompresi Gzip. Kompatibel dengan browser utama mana pun (IE 6+, Firefox 2+, Chrome, Safari, dan lainnya) Serangkaian spesifikasi yang komprehensif (dengan pengembangan berbasis perilaku) – ini berarti bahwa mereka dapat dengan mudah diverifikasi di browser atau platform baru. Pengembang yang akrab dengan Ruby on Rails, Asp.net MVC, atau teknologi MVC lainnya mungkin menganggapnya sebagai formulir real-time MVC dengan sintaks deklaratif. Dengan kata lain, Anda dapat menganggap KO sebagai cara untuk membuat antarmuka pengguna UI dengan mengedit data JSON... Apa pun yang dilakukannya untuk Anda.
Bagaimana cara menggunakannya?
Cara tercepat dan paling menyenangkan untuk memulai adalah melalui instruksi interaktif, dan setelah Anda menguasai teknik paling dasar dan mempelajari setiap instance online, Anda akan siap untuk mengerjakan proyek Anda.
Apakah KO dan Jquery (prototipe, dll.) bersaing satu sama lain atau bisakah mereka digunakan bersama?
Semua orang menyukai Jquery! Di masa lalu, kami harus menanggung berbagai metode API manipulasi objek DOM yang tidak konsisten, dan munculnya Jquery adalah alternatif yang bagus untuk kerangka kerja kikuk di masa lalu, membuatnya fleksibel dan mudah digunakan. Jquery sangat baik dan mudah digunakan untuk manipulasi elemen halaman web dan penanganan peristiwa, sementara KO memecahkan masalah yang berbeda.
Jika antarmuka UI Anda sedikit lebih kompleks dan berisi beberapa perilaku yang sama, jika Anda hanya menggunakan Jquery, UI akan lebih kompleks dan sulit dari yang Anda kira, dan perawatannya akan cukup mahal. Pertimbangkan contoh menampilkan daftar item dalam tabel, menyatakan jumlah daftar dalam tabel, dan mengaktifkan tombol "Tambah" ketika jumlah daftar item kurang dari 5, jika tidak dinonaktifkan. Jquery tidak memiliki konsep model data dasar, jadi jika Anda ingin mendapatkan jumlah daftar proyek, Anda perlu menyimpulkan dari nomor tabel/tr/div. Jika Anda perlu menampilkan jumlah data dalam SPANS tertentu, Anda juga harus ingat untuk memperbarui teks SPAN saat menambahkan data baru. Tentu saja, Anda juga perlu ingat bahwa ketika jumlah total >=5, Anda perlu menonaktifkan tombol Tambah. Kemudian, jika Anda ingin mengimplementasikan fungsi Hapus, Anda harus menunjukkan elemen DOM mana yang perlu diubah setelah diklik.
Apa bedanya melakukannya dengan Knockout?
Dengan KO semuanya menjadi sangat sederhana. Ini memungkinkan Anda untuk dengan mudah menskalakan kompleksitas proyek Anda tanpa khawatir tentang inkonsistensi data yang dihasilkan. Ini hanya mengubah data Anda menjadi array Javascrip{filter}t, dan kemudian menggunakan foreach untuk mengikat array data ke tabel atau sekumpulan div di halaman. Setiap kali array data berubah, UI secara otomatis merespons perubahan (Anda tidak perlu menunjukkan cara menyisipkan baris baru atau di mana), dan sisanya adalah sinkronisasi data UI. Misalnya, Anda dapat mendeklarasikan SPAN berikut untuk menampilkan jumlah data:
Itu saja! Anda tidak perlu menulis kode untuk memperbaruinya, pembaruannya tergantung pada perubahan pada array myItems. Demikian pula, pengaktifan dan penonaktifan tombol Tambah tergantung pada panjang array myItems, sebagai berikut:
Setelah itu, jika Anda perlu menerapkan fungsi "Hapus", Anda tidak perlu menentukan cara memanipulasi elemen UI, Anda hanya perlu memodifikasi model data.
Ringkasan: KO tidak berniat bersaing dengan jQuery dan kerangka manipulasi DOM serupa lainnya. KO menyediakan cara tingkat tinggi untuk menghubungkan model data dengan antarmuka UI pengguna.KO tidak bergantung pada jQuery itu sendiri, tetapi Anda dapat menggunakan jQuery bersama-sama, Perubahan UI yang jelas dan lembut memerlukan penggunaan jQuery.
Sumber daya:
http://www.aizhengli.com/knockoutjs/50/knockout.html
http://knockoutjs.com/
|