Rumah > Artikel > hujung hadapan web > Kebaikan dan keburukan tiga rangka kerja MVVM: vue, angular dan avalon_Others
Kandungan utama artikel ini diringkaskan dengan merujuk kepada dokumentasi rasmi:
Vue.js
Vue.js @You Yuxi ialah perpustakaan untuk mencipta antara muka interaktif web Ia adalah MVVM yang diperkemas. Dari perspektif teknikal, Vue.js memfokuskan pada lapisan ViewModel model MVVM. Ia menghubungkan lapisan Lihat dan lapisan Model melalui pengikatan data dua hala. Format pengkapsulan dan output DOM sebenar disarikan ke dalam Arahan dan Penapis. Berbanding dengan perpustakaan lain, Vue.js ialah perpustakaan yang kecil tetapi cantik Tujuan utama pengarang adalah untuk menghasilkan komponen paparan yang boleh digubah dan pengikatan data reflektif melalui API semudah mungkin.
Kelebihan:
Mudah: Dokumentasi rasmi sangat jelas dan lebih mudah dipelajari daripada Angular.
Cepat: Kemas kini DOM dalam mod kelompok tak segerak.
Komposisi: Karang aplikasi anda dengan komponen yang dipisahkan dan boleh diguna semula.
Padat: ~18kb min+gzip, dan tiada kebergantungan.
Berkuasa: Ungkapan & sifat dikira tanpa mengisytiharkan kebergantungan.
Mesra modul: Ia boleh dipasang melalui NPM, Bower atau Duo Ia tidak memaksa semua kod anda untuk mengikut pelbagai peraturan Angular, dan senario penggunaan adalah lebih fleksibel.
Kelemahan:
Newborn: Vue.js ialah projek baharu, versi 0.10.0 Release Candidate dikeluarkan pada 20 Mac 2014. Versi terkini pada github ialah versi 0.11.4, yang tidak matang seperti sudut.
Kesannya tidak begitu besar: Saya melayari google dan mendapati bahawa kepelbagaian atau kekayaan Vue.js adalah kurang daripada beberapa perpustakaan terkenal lain.
Tidak menyokong IE8: Haha, tetapi AngularJS 1.3 juga meninggalkan sokongan untuk IE8, tetapi avalon cikgu @ Stu Zhengmei menyokong IE6+, jadi banyak usaha harus dilakukan untuk mengoptimumkannya. Ini tidak bagus untuk projek yang perlu menyokong IE8, tetapi ini juga merupakan trend dalam pembangunan bahagian hadapan web yang lebih rendah harus menarik diri daripada peringkat sejarah Dengan mengubah pemikiran bahagian hadapan kita, dan bukannya mematuhinya yang menggunakan versi lama Orang yang tidak menaik taraf. Cikgu @玉博 berkata sesuatu, dan saya fikir ia sangat bagus "Kini, menyokong IE6 dan 7 bukan lagi satu ciri, tetapi memalukan. Kami bekerja keras untuk mempromosikan Alipay untuk tidak menyokong IE6 dan 7. Kami berharap. kepada lebih ramai saudara yang menyertai kami." ".
AngularJS
AngularJS sangat popular baru-baru ini dan mempunyai ramai pengikut. Rangka Kerja MVW JavaScript Superheroic
Kenyataan rasmi adalah sangat mudah: "Teknologi sisi pelanggan yang ditulis sepenuhnya dalam JavaScript. Digunakan bersama-sama dengan teknologi Web lama yang lain (HTML, CSS dan JavaScript) untuk menjadikan pembangunan aplikasi Web lebih mudah dan lebih pantas berbanding sebelum ini." Apabila anda mempelajarinya, saya percaya anda akan tertarik dengan pelbagai kesan khas baharunya.
Kelebihan:
Paparan dinamik: Saya tidak pernah terfikir bahawa js boleh memanjangkan atribut HTML dengan cara ini, tetapi AngularJs telah melakukannya. Ia menambahkan banyak fungsi kebolehlanjutan pada HTML statik kami, dan rasanya seperti menjadikan HTML menjadi hidup.
Sempurna: Ia adalah rangka kerja MVW bahagian hadapan yang agak lengkap, termasuk templat, pengikatan data dua hala, penghalaan, pemodulatan, perkhidmatan, suntikan kebergantungan dan fungsi lain Templat ini berkuasa dan kaya, deklaratif, dan dilengkapi dengan pelbagai sudut arahan.
Penyelenggaraan Google: AngularJS diselenggara oleh Google sudah pasti ia mempunyai kelebihan yang jelas berbanding Vue.js dan avalon dari segi promosi dan penyelenggaraannya.
AngularJS & Ionic: Ionic: Rangka Kerja Apl Mudah Alih Hibrid HTML5, kedua-dua ini adalah rakan baik Ionic menggunakan AngularJS untuk mencipta rangka kerja yang paling sesuai untuk membangunkan aplikasi yang kaya dan berkuasa. Kali terakhir, Yu Zhihu menjawab soalan berkaitan tentang pembangunan aplikasi web yang manakah rangka kerja dan platform aplikasi berpakej yang mempunyai prestasi dan kecekapan terbaik? - Jawapan Tang Wei, butiran boleh didapati di sini.
Kelemahan:
Besar dan komprehensif: Sukar untuk belajar bagi saya, keluk pembelajaran sangat berliku-liku dan sukar untuk difahami.
Terbalik dan menulis semula: Beberapa waktu lalu, saya telah melawat komuniti dan mendapati bahawa AngularJS 2.0 akan menterbalikkan dan menulis semula yang sebelumnya keluar, tetapi saya juga berkata Kembali, /article/79637.htmArtikel ini menerangkan perubahan dalam AngularJS2.0 dengan sangat baik.
Ia tidak menyokong IE8 atau ke bawah Nampaknya 2.0 hanya menyokong terminal mudah alih.
Avalon.js
Avalon.js ialah rangka kerja mini MVVM yang ringkas dan mudah digunakan yang ditulis oleh @ Stu Zhengmei Ia mula dikeluarkan pada 15 September 2012. Ia dibangunkan untuk menyelesaikan masalah pelbagai persembahan paparan untuk logik perniagaan yang sama. . Anda sering dapat melihat guru mempromosikan Avalon.jsnya dan menerbitkan banyak tutorial, yang sudah pasti memberikan kemudahan yang hebat kepada orang di China yang mempelajari Avalon.js.
Kelebihan
Mudah untuk digunakan, tambahkan pengikatan dalam HTML, tentukan ViewModel dengan avalon.define dalam JS, kemudian panggil kaedah avalon.scan, dan ia akan bergerak!
Serasi dengan IE6 (rangka kerja MVVM lain, KnockoutJS(IE6), AngularJS(IE9), EmberJS(IE8), WinJS(IE9)) dan avalon.mobile, yang boleh berjalan dengan lebih cekap dalam versi pelayar yang lebih baharu seperti IE10
Tiada kebergantungan, kurang daripada 5000 baris, kurang daripada 50KiB selepas pemampatan
Menyokong fungsi penapis gaya watak paip untuk memudahkan output diformat
Butiran muat semula tempatan telah diperhalusi kepada nod teks, nod ciri
Nod yang akan dikendalikan terikat pada fungsi muat semula paparan dalam imbasan pertama dan dicache, jadi tiada ruang untuk pemilih muncul.
Jadikan kod manipulasi DOM hampir pupus
Gunakan mekanisme liputan bertindih seperti CSS untuk membenarkan setiap partition ViewModel memaparkan halaman secara berselang-seli
Apabila nod dialih keluar, fungsi muat semula paparan yang sepadan dipunggah secara bijak untuk menjimatkan memori
Data pengendalian bermakna mengendalikan DOM dan operasi pada ViewModel akan disegerakkan ke Lihat dan Model
Didatangkan dengan pemuat modul AMD sendiri, menghapuskan keperluan untuk disepadukan dengan pemuat lain.
Kelemahan
1. Penapisan tatasusunan tidak menyeluruh seperti penapis sudut Avalon hanya boleh digunakan untuk ms-text, ms-html
2. Tiada dokumen bahasa Inggeris dan publisiti adalah terhad
3. Kulit OniUI tidak cukup cantik.