Jika dibagi dari arsitektur dan konsep internal, kerangka kerja JavaScript dapat dibagi menjadi 5 kategori.
Tipe 1
Apa yang muncul adalah perpustakaan atau kerangka kerja kelas yang berorientasi namespace. Misalnya, jika Anda membuat array, gunakan array baru () dan menghasilkan objek dengan objek baru (), itu benar -benar gaya java. Oleh karena itu, kita dapat menggunakan objek sebagai root dan terus -menerus menambahkan atribut objek atau atribut objek sekunder untuk itu untuk mengatur kode, dan menumpuknya seperti piramida. Karya perwakilan seperti Yui dan ext awal.
Tipe 2
Apa yang muncul adalah kerangka kerja yang berorientasi pada pabrik, seperti prototipe terkenal, serta mootools, base2, dan sepuluh. Pada dasarnya, kecuali untuk namespace paling dasar, modul lain adalah objek kelas yang berasal dari pabrik kelas. Terutama mootool 1.3, merangkum semua jenis ke dalam jenis jenis.
Tipe 3
Ini adalah kerangka kerja yang berorientasi pemilih yang diwakili oleh jQuery. Seluruh kerangka kerja atau badan perpustakaan adalah objek array kelas khusus, yang nyaman untuk operasi pengumpulan - karena pemilih biasanya memilih n node elemen sekaligus, sehingga diproses bersama. JQuery berisi beberapa hal luar biasa: Teknologi "Instantiation Bebas Baru", $ (Expr) adalah untuk mengembalikan contoh tanpa secara eksplisit baru; Dapatkan Atur Pertama Semua Aturan Akses: Sistem Caching Data. Dengan cara ini, peristiwa node dapat direplikasi. Selain itu, IIFE (Ekspresi Fungsi yang Dipasang Segera) juga telah ditemukan.
Tipe 4
Ini adalah kerangka kerja yang dihubungkan oleh loader. Mereka semua memiliki beberapa file JavaScript, dan setiap file JavaScript ditulis dengan aturan tetap. Yang paling terkenal dari mereka adalah AMD. Modularitas adalah tanda bahwa JavaScript bergerak menuju industrialisasi. Yang pertama dari banyak "aturan emas" yang tercantum dalam "Unix Programming Art" adalah modul, yang mengatakan - "satu -satunya cara untuk menulis perangkat lunak yang kompleks tanpa gagal adalah menggabungkan beberapa modul sederhana dengan antarmuka yang jelas. Banyak kerangka kerja internal perusahaan pada dasarnya mengadopsi arsitektur ini, seperti Dojo, Yui, Kissy, Qwrap dan Misa.
Tipe 5
Ini adalah kerangka MV* dengan arsitektur hierarkis yang jelas. Pertama, JavaScript MVC (sekarang disebut CANJS), Backbonejs, dan Spinejs, dan kemudian lebih sesuai dengan kerangka MVVM front-end yang sebenarnya, seperti KO, Ember, Angular, Avalon, dan WinJs. Dalam kerangka kerja MVVM, operasi DOM asli digantikan oleh ikatan deklaratif dan ditangani oleh kerangka kerja itu sendiri, dan pengguna hanya perlu fokus pada kode bisnis.
Di bawah ini adalah kesimpulan tentang karakteristik kerangka kerja.
Operasi pada tipe data dasar adalah dasar -dasarnya. Misalnya, jQuery menyediakan metode seperti trim, camelcase, masing -masing, peta, dll., Dan kerangka kerja invasif seperti prototipe.js menambahkan metode seperti kamera ke prototipe.
Penentuan tipe sangat penting, dan bentuk umum adalah seri ISXXX.
Selector, domready, dan ajax adalah fitur standar dari kerangka kerja modern.
Operasi DOM adalah prioritas utama. Traversal node, operasi gaya, dan operasi atribut juga termasuk dalam ruang lingkupnya. Apakah akan membagi tergantung pada ukuran kerangka kerja.
Brower sniff sudah ketinggalan zaman dan deteksi fitur sedang diterapkan. Namun, deteksi fitur masih memiliki keterbatasan. Jika Anda menggunakan browser sniffing untuk membuat bug, kebijakan keamanan atau koreksi untuk versi browser tertentu, sniffing browser masih diperlukan. Tapi itu harus mandiri sebagai modul atau plugin, menghapus inti kerangka kerja.
Sekarang Sistem Acara Mainstream mendukung proksi acara.
Cache dan pemrosesan data saat ini disediakan oleh browser untuk memberikan atribut data-* untuk pekerjaan ini, tetapi mereka tidak mudah digunakan dan memerlukan enkapsulasi lebih lanjut dari kerangka kerja.
Mesin animasi, kecuali kerangka kerja Anda memiliki kerangka animasi terbaik seperti skrip.aculo.us sebagai dukungan, yang terbaik adalah menambahkannya.
Plug-in yang mudah dikembangkan dan diperluas.
Memberikan solusi untuk menangani proses asinkron seperti ditangguhkan.
Bahkan jika pabrik kelas tidak disediakan secara khusus, harus ada metode yang disebut Extand atau Mixin untuk memperluas objek. Meskipun JQuery tidak memiliki pabrik kelas, seseorang harus ditambahkan di JQuery UI, yang menunjukkan pentingnya.
Sejak JQuery keluar dengan metode yang disebut noconflict, kerangka kerja yang muncul semuanya membawa metode ini untuk bertahan hidup dalam celah.
Banyak kerangka kerja sangat menekankan operasi cookie.