Rumah >hujung hadapan web >tutorial js >Rangka Kerja, Perpustakaan dan Alat JavaScript Terbaik untuk digunakan pada tahun 2019
6 Disember 2018: Artikel ini telah dikemas kini untuk mencerminkan status semasa ekosistem JavaScript. Kemas kini tahun ini ditaja oleh Sencha. Terima kasih kerana menyokong rakan kongsi yang membuat SitePoint mungkin!Artikel ini bertujuan untuk menerangkan asas-asas dan perbezaan asas antara kerangka JavaScript yang paling popular, perpustakaan dan alat. Sama ada mereka sesuai untuk anda adalah satu lagi soalan. Pilih satu dan tegang untuknya sebentar. Perhatikan bahawa apa sahaja yang anda pilih, pilihan kegemaran anda akan digantikan oleh sesuatu yang lebih baik!
li.toc-h3 { margin-kiri: 20px; } li.toc-h4 { margin-kiri: 40px; } Mata Utama
perpustakaan
perpustakaan biasanya memberikan tahap abstraksi yang lebih tinggi, dengan itu memudahkan butiran pelaksanaan dan ketidakkonsistenan. Sebagai contoh, anda boleh melaksanakan AJAX menggunakan API XMLHTTPREQUEST, tetapi ini memerlukan beberapa baris kod dan terdapat sedikit perbezaan antara pelayar. Perpustakaan boleh menyediakan fungsi Ajax () yang lebih mudah, jadi anda boleh memberi tumpuan kepada tahap logik perniagaan yang lebih tinggi.
Perpustakaan boleh mengurangkan masa pembangunan sebanyak 20% kerana anda tidak perlu bimbang tentang butiran yang lebih baik. Kelemahan:
kesilapan di perpustakaan mungkin sukar dicari dan diperbaiki
Rangka kerja biasanya memberikan tahap abstraksi yang lebih tinggi daripada perpustakaan dan dapat membantu anda membina 80% pertama projek anda dengan cepat. Kelemahan: Alat harus menyediakan proses pembangunan yang lebih mudah. Sebagai contoh, banyak pengaturcara lebih suka SASS melalui CSS kerana ia menyediakan pemisahan kod, bersarang, pembolehubah masa, gelung, dan fungsi. Penyemak imbas tidak memahami sintaks SASS/SCSS, jadi kod mesti disusun ke dalam CSS menggunakan alat yang sesuai sebelum ujian dan penggunaan. Jangan labelkan saya! Jika ini terdengar terlalu rumit, anda mungkin mempertimbangkan menulis JavaScript asli. Ini hebat, tetapi anda akhirnya menulis kod perpustakaan dan/atau rangka kerja anda sendiri yang perlu dikekalkan. JavaScript sendiri adalah abstraksi di atas penyemak imbas dan sistem operasi! Rangka Kerja dan Perpustakaan JavaScript jQuery
Alat boleh membantu dalam pembangunan, tetapi bukan sebahagian daripada projek yang sangat diperlukan. Alat termasuk sistem binaan, penyusun, penterjemah, pemampat kod, pemampat imej, mekanisme penempatan, dll.
Perbezaan antara perpustakaan, rangka kerja, dan alat jarang jelas. Rangka kerja ini mungkin mengandungi perpustakaan. Perpustakaan boleh melaksanakan kaedah seperti rangka kerja. Alat boleh menjadi penting untuk kedua -duanya. Saya telah cuba menandakan setiap item, tetapi skop mungkin berbeza -beza.
item yang diatur dengan anggaran urutan penggunaan/populariti/gembar -gembur ...
Description Taip laman web perpustakaan jquery.com Repository GitHub. com/jquery/jquery github stars 50,000 Versi semasa 3.3.1 pemaju jQuery pasukan pelepasan tarikh Ogos 2006 saiz tipikal 30kb min penggunaan biasa penggunaan universal penggunaan 73.5% daripada semua laman web jQuery kekal sebagai perpustakaan JavaScript yang paling banyak digunakan, dan disumbangkan dengan WordPress, ASP .NET dan beberapa rangka kerja lain. Ia merevolusi pembangunan pelanggan dengan memperkenalkan pemilih CSS ke dalam pengambilan semula nod DOM dan menghubungkan untuk memohon pengendali acara, animasi, dan panggilan AJAX.
Pada tahun -tahun kebelakangan ini, JQuery secara beransur -ansur menjadi tidak popular dengan pemaju, tetapi kadar penggunaannya masih tinggi. Ia masih merupakan pilihan yang sesuai untuk projek yang memerlukan sedikit fungsi JavaScript.
Pro:
Saiz pengedaran
penggunaan reaksi nampaknya rendah dalam statistik, mungkin kerana ia digunakan untuk aplikasi dan bukannya laman web. Hampir 70% pemaju mendakwa mereka mempunyai pengalaman menggunakan perpustakaan.
Pro:
Rangka kerja popular yang diterima pakai oleh beberapa syarikat besar
penyelesaian tunggal untuk membuat aplikasi web moden
mungkin Google harus memberikan projek nama yang berbeza? !
Pro:penyelesaian tunggal untuk membuat aplikasi web moden
lengkung pembelajaran lebih curam daripada alternatif lain
Pengangkatan Cepat dan Meningkatkan Populariti
Mudah Bermula, Kepuasan Pemaju Tinggi
Pro:
komponen yang tersedia secara meluas
Sehingga kini, integrasi dengan rangka kerja selain React dan Sudut mungkin tidak praktikal -lihat pelan pelan jalanan JS 7
Tarikh Siaran Oktober 2009 Saiz Tipikal 6KB Min Penggunaan Biasa Penggunaan Biasa Rendah Bahagian ini menggabungkan lodash dan garis bawah kerana mereka menyediakan beratus -ratus utiliti JavaScript berfungsi untuk menambah rentetan aksara asli, nombor, tatasusunan, dan kaedah objek mentah yang lain. Terdapat beberapa pertindihan, jadi tidak mungkin anda memerlukan kedua -dua perpustakaan dalam satu projek. mudah belajar, dokumentasi yang baik
serasi dengan kebanyakan perpustakaan dan kerangka
Jangan melanjutkan objek terbina dalam
backbone.js
Pro:
kecil, ringan dan tidak terlalu rumit
tahap abstraksi yang lebih rendah daripada alternatif seperti angularjs (tetapi ini boleh dianggap sebagai kelebihan)
pemaju boleh meningkatkan produktiviti dengan segera - ia menggunakan jQuery
ia dianggap monolitik berbanding rangka kerja lain yang bergerak ke struktur komponen yang lebih kecil
sokongan penyemak imbas yang sangat baik, dapat dikesan dengan IE6
berharap dapat mengetahui lebih lanjut? Item berikut tidak begitu popular, tetapi patut dipertimbangkan:
Alat bangunan mengautomasikan pelbagai tugas pembangunan web seperti pra -proses, penyusunan, penggabungan modul, pengoptimuman imej, pemampatan kod, pemeriksaan gaya kod, dan ujian menjalankan. Tugas biasanya diuruskan bersama dalam pakej yang boleh dilaksanakan. Pilihan yang paling popular:
3 Gruntjs/Grunt GitHub Stars 17,000 Versi semasa 1.0.3 Muat turun setiap minggu 425,000 Grunt adalah salah satu pelari tugas JavaScript pertama untuk melaksanakan penggunaan besar-besaran, tetapi konfigurasi JSON kelajuan dan kompleksnya membawa kepada kebangkitan Gulp. Masalah terburuk telah diselesaikan dan Grunt masih menjadi pilihan yang popular.
Menguruskan pelbagai fail JavaScript boleh menjadi rumit. Kecuali anda boleh mengamalkan sintaks import modul ES6 yang agak baru, anda mesti memuatkan atau menyambungkan ketergantungan JavaScript dalam penyemak imbas dalam urutan yang sesuai. Jika anda perlu menyokong pelayar yang lebih tua (mana -mana pelayar yang dikeluarkan sebelum 2018), anda boleh menggunakan modul modul, tetapi permintaan untuk alat ini akan berkurangan dari masa ke masa.
Terdapat banyak enjin templat HTML yang didorong oleh JavaScript, termasuk kumis, hendal, pug (Jade) dan EJS. Saya lebih suka pilihan ringan yang memelihara sintaks JavaScript, seperti EJS dan DOT.
Akhir sekali, mengapa menulis dokumentasi anda sendiri apabila anda boleh mengautomasikannya? Penjana dokumen yang serasi ES2015 termasuk ESDOC, JSDOC, Yuidoc, Documentation.js dan Transkripsi.
Ringkasan dan Cadangan
Rangka kerja monograf tidak lagi popular, tetapi AngularJS masih menjadi pilihan yang popular jika anda perlu menyediakan struktur yang ketat untuk projek besar. Kebanyakan pemaju berpegang dengan versi 1.0, tetapi ini mungkin tidak perlu dan bukan pilihan. Versi 2 mungkin menjadi pilihan yang lebih selamat dalam jangka masa panjang, tetapi anda perlu mempelajari TypeScript.
Sencha's Ext JS adalah pilihan yang baik untuk syarikat (perniagaan kecil untuk perusahaan) yang ingin mempunyai kedua-dua kerangka dan komponen dan alat bersepadu yang telah dibina sebelum ini (termasuk akses kepada sokongan komersial). Ext JS juga mudah mengintegrasikan perpustakaan komponennya yang kuat dengan React and Sudular, yang merupakan pilihan yang baik untuk pemaju yang ingin melaksanakan komponen pra-dibina dan bukannya membina sendiri.
Jangan abaikan jQuery. Ia tidak bergaya dan jarang disebut dalam Tech News, tetapi ia berada di bawah pembangunan aktif dan lebih daripada cukup untuk laman web dan aplikasi. Kurva pembelajaran JQuery lancar dan difahami oleh banyak pemaju di seluruh dunia.
Pilihan penterjemah baru seperti Svelte dan Rawact akan menukar kod rangka kerja kepada JavaScript asli jika anda ingin mengambil risiko. Ketergantungan kerangka telah dikeluarkan, kodnya lebih kecil dan ia berjalan lebih cepat.
Pilihan alat kurang penting dan mungkin berbeza mengikut projek. Kebanyakan skrip webpack, gulp atau npm. Untuk ujian, anda boleh menggunakan Eslint dan Jest, tetapi terdapat banyak alternatif lain untuk dicuba.
iaitu, setiap projek, pasukan, dan set kemahiran adalah berbeza. Anda mempunyai masa yang terhad untuk menilai, jadi ia menggoda untuk menggunakan apa yang anda tahu. Siaran ini akan menerima komen, disyorkan frameworkx , tetapi apabila anda mempunyai tukul, semuanya kelihatan seperti kuku.
Akhir sekali, jangan lupa bahawa perpustakaan, kerangka dan alat adalah pilihan! Pembangunan JavaScript telah merevolusikan sepanjang dekad yang lalu; Sangat mudah untuk jatuh ke dalam perangkap yang semakin meningkat atau beralih ke kerangka popular terkini setiap beberapa bulan. Sentiasa pertimbangkan JavaScript asli - terutamanya dalam projek kecil dan peribadi. Pengetahuan yang anda peroleh tidak akan ketinggalan zaman dan akan menjadi tidak ternilai ketika menilai kerangka untuk projek lain.
saya hilang, dibuang kerja, atau gagal memuji kelebihan perpustakaan, rangka kerja, dan alat JavaScript kegemaran anda? Sudah tentu, saya melakukannya! Selamat datang ke komen ...
Angular dan React adalah kedua -dua kerangka JavaScript yang popular, tetapi mereka mempunyai beberapa perbezaan utama. Angular, yang dibangunkan oleh Google, adalah rangka kerja MVC yang matang yang menyediakan satu set ciri yang kuat untuk membina aplikasi yang kompleks. Ia menggunakan pengikatan data dua hala dan DOM sebenar. React, yang dibangunkan oleh Facebook, sebaliknya, adalah perpustakaan untuk membina antara muka pengguna. Ia menggunakan pengikatan data sehala dan DOM maya, yang menjadikannya lebih cepat dan lebih cekap apabila membuat senarai dan dataset yang besar.
Pilih rangka kerja JavaScript yang betul bergantung kepada beberapa faktor. Anda harus mempertimbangkan saiz dan kerumitan projek, lengkung pembelajaran rangka kerja, saiz masyarakat dan sumber yang tersedia, dan keperluan dan keperluan skalabilitas aplikasi. Ia juga penting untuk mempertimbangkan daya maju jangka panjang rangka kerja, kerana anda ingin memilih rangka kerja yang akan terus disokong dan dikemas kini pada masa akan datang.
vue.js terkenal dengan kesederhanaan dan kemudahan penggunaannya. Ia mempunyai keluk pembelajaran yang lembut, menjadikannya pilihan yang baik untuk pemula. Ia juga mempunyai seni bina yang fleksibel yang membolehkan anda memilih antara tetapan ringan, seperti perpustakaan atau tetapan rangka kerja yang lengkap. Vue.js juga menggunakan DOM maya dan menyediakan caching peringkat semula dan komponen yang cekap untuk prestasi pantas.
node.js adalah persekitaran runtime yang membolehkan JavaScript dijalankan di sisi pelayan. Ini bermakna anda boleh menggunakan JavaScript untuk membina bahagian depan dan belakang aplikasi anda, yang akan meningkatkan kecekapan pembangunan dan memudahkan penyelenggaraan kod. Node.js juga mempunyai ekosistem besar perpustakaan dan alat dan terkenal dengan prestasi dan skalabilitasnya yang tinggi.
TypeScript adalah superset JavaScript yang menambah jenis statik ke bahasa. Pembelajaran Typescript untuk menggunakan rangka kerja JavaScript tidak diperlukan, tetapi ia mungkin bermanfaat. TypeScript boleh membantu menangkap kesilapan pada masa kompilasi dan bukannya runtime, menghasilkan kod yang lebih mantap. Ia amat berguna apabila berurusan dengan pangkalan dan pasukan kod besar.
Lodash adalah perpustakaan utiliti yang menyediakan cara yang berguna untuk memanipulasi tatasusunan, objek, dan jenis data lain dalam JavaScript. Ia boleh membantu menjadikan kod anda lebih ringkas, boleh dibaca dan lebih cekap. Kaedah lodash juga dioptimumkan untuk prestasi, jadi dalam beberapa kes mereka mungkin lebih cepat daripada kaedah JavaScript asli.
Ember.js adalah rangka kerja yang berfungsi sepenuhnya yang menyediakan banyak ciri terbina dalam seperti router dan lapisan data. Ini boleh menjadikan aplikasi kompleks bangunan lebih mudah, tetapi ia juga bermakna lebih banyak kandungan perlu dipelajari. Ember.js mengikuti prinsip konvensyen mengenai konfigurasi, yang boleh mempercepatkan pembangunan, tetapi mungkin tidak fleksibel seperti rangka kerja lain.
Polimer adalah perpustakaan yang dibangunkan oleh Google untuk membina komponen web. Ia menyediakan satu set ciri untuk mewujudkan elemen HTML tersuai, merangkumi CSS dan JavaScript dalam unsur -unsur ini, dan menggunakan pengikatan data dan pemprosesan acara. Polimer juga menyokong pengikatan data sehala dan dua hala.
JQuery adalah perpustakaan yang memudahkan Dokumen HTML Traversal, Pemprosesan Acara, dan Animasi. Walaupun ia tidak semestinya kerana dulu disebabkan oleh penambahbaikan JavaScript asli dan kebangkitan kerangka moden, jQuery masih digunakan secara meluas dan merupakan pilihan yang baik untuk projek yang lebih mudah atau mengekalkan kod warisan.
Beberapa rangka kerja dan perpustakaan JavaScript yang baru muncul termasuk Svelte, rangka kerja berasaskan pengkompil yang direka untuk menyediakan pengalaman pembangunan yang lebih mudah dan lebih cepat; pada React. Alat ini menjadi lebih popular dan mungkin menjadi lebih penting pada masa akan datang.
Atas ialah kandungan terperinci Rangka Kerja, Perpustakaan dan Alat JavaScript Terbaik untuk digunakan pada tahun 2019. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!