Rumah >hujung hadapan web >tutorial js >Rangka Kerja, Perpustakaan dan Alat JavaScript Terbaik untuk digunakan pada tahun 2019

Rangka Kerja, Perpustakaan dan Alat JavaScript Terbaik untuk digunakan pada tahun 2019

Lisa Kudrow
Lisa Kudrowasal
2025-02-14 09:58:11942semak imbas

Best JavaScript Frameworks, Libraries and Tools to Use in 2019

Bilangan kerangka JavaScript, perpustakaan dan alat nampaknya telah melebihi jumlah pemaju. Pada akhir tahun 2018, carian cepat di GitHub menunjukkan 2.3 juta projek JavaScript. NPM telah menjadi sistem modul terbesar di dunia, dengan 700,000 pakej perisian yang tersedia di NPMJS.com dan berbilion muat turun setiap bulan.

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

    React tetap menjadi pilihan pertama untuk membina antara muka pengguna, terutamanya aplikasi satu halaman, berkat dom maya yang cekap dan seni bina berasaskan komponen.
  • vue.js telah menerima pujian untuk kesederhanaan dan fleksibiliti, menjadikannya pilihan yang sangat baik untuk pemaju mencari kerangka progresif yang mudah diintegrasikan dengan perpustakaan lain.
  • Angular menyediakan penyelesaian rangka kerja yang komprehensif, terutamanya dalam versi terkini (2), yang banyak disokong oleh Google dan memberi tumpuan kepada TypeScript, yang menarik pemaju yang biasa dengan bahasa yang ditaip secara statik.
  • JQuery, walaupun penurunan gembar -gembur, masih relevan dan digunakan secara meluas dalam banyak projek kerana ia mudah digunakan dan mempunyai keserasian yang luas di pelbagai platform web.
  • Webpack dan Eslint ditekankan sebagai alat penting dalam pembangunan JavaScript moden, yang digunakan untuk penggabungan modul dan jaminan kualiti kod.
  • Sencha Ext JS dianggap sebagai rangka kerja peringkat perusahaan yang kuat yang menyediakan pelbagai komponen dan alat UI, dengan sokongan komersil dan pilihan latihan yang kuat.
katalog

    katalog
  • istilah sukar
  • perpustakaan
  • bingkai
  • Alat
  • Jangan labelkan saya!
  • Rangka Kerja dan Perpustakaan JavaScript
  • jQuery
  • React
  • AngularJS 1.x
  • sudut 2 (sekarang 7.x)
  • vue.js
  • Sencha ext JS
  • Lodash dan garis bawah
  • backbone.js
  • Ember.js
  • knockout.js
  • projek yang bernilai memberi perhatian kepada
  • alat: pelari tugas umum
  • Webpack
  • Gulp.js
  • npm
  • grunt
  • Alat: modul bundler
  • BROWSERIFY
  • memerlukan
  • Alat: pemeriksaan gaya kod
  • Eslint
  • jshint
  • jslint
  • alat: ujian suite
  • jest
  • mocha
  • Jasmine
  • Alat: Alat Lain
  • Ringkasan dan Cadangan
  • Komen
  • Sila terima terma dan syarat berikut sebelum membaca artikel ini! ...
    • Persekitaran JavaScript berubah setiap hari. Artikel ini akan ketinggalan zaman ketika diterbitkan!
    • oleh "terbaik" maksud saya "projek umum yang paling popular/digunakan/hyped". Semua projek mempunyai pilihan sumber percuma/terbuka, tetapi senarai mungkin tidak mengandungi projek kegemaran anda.
    • barang -barang berhenti (seperti Yui) tidak termasuk, walaupun mereka masih sangat tinggi di rangkaian.
    • Rujuk projek pelanggan sahaja. Sesetengah bekerja di sisi pelayan, tetapi senarai itu tidak termasuk rangka kerja pelayan tulen seperti Express.js atau HAPI.
    • Maklumat mengenai setiap projek bertujuan untuk menjadi ringkas untuk memberikan gambaran keseluruhan penyelidikan lanjut.
    • Setiap projek menyediakan penunjuk populariti penggunaan, tetapi statistik diketahui sukar untuk diselesaikan dan boleh mengelirukan.
    • Saya berat sebelah. Anda juga mempunyai kecenderungan. Yang lain juga mempunyai kecenderungan! Saya tidak mencuba setiap alat di sini dan akan mengisytiharkan alat kegemaran saya, tetapi anda harus membuat penilaian anda sendiri berdasarkan keperluan anda.
    • SitePoint dan saya tidak bertanggungjawab untuk sebarang keputusan yang anda buat!
    istilah sukar

    istilah "rangka kerja", "perpustakaan" dan "alat" mungkin mempunyai makna yang berbeza untuk orang yang berlainan pada masa yang berlainan, bergantung kepada konteksnya. Definisi biasa yang digunakan di sini:

    perpustakaan

    Perpustakaan adalah koleksi ciri yang teratur dan berguna. Perpustakaan biasa mungkin termasuk fungsi yang mengendalikan rentetan, tarikh, elemen HTML, acara, kuki, animasi, permintaan rangkaian, dan banyak lagi. Setiap fungsi mengembalikan nilai kepada aplikasi panggilan, yang boleh anda laksanakan mengikut pilihan anda. Fikirkannya sebagai satu siri komponen automotif: anda boleh menggunakan mana -mana komponen di Will untuk membantu membina kereta yang boleh memandu dengan betul, tetapi anda perlu membina enjin sendiri.

    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
    • Pasukan pembangunan tidak dapat menjamin bahawa patch akan dikeluarkan dengan cepat
    • patch boleh mengubah API dan menyebabkan perubahan ketara pada kod.
    • bingkai

    Rangka kerja adalah kerangka permohonan. Ia memerlukan anda mengendalikan reka bentuk perisian dengan cara tertentu dan memasukkan logik anda sendiri pada titik tertentu. Anda biasanya akan menyediakan fungsi seperti peristiwa, penyimpanan dan pengikatan data. Menggunakan analogi kereta, bingkai menyediakan casis, badan dan enjin yang berfungsi. Anda boleh menambah, mengeluarkan, atau menyesuaikan komponen tertentu, dengan syarat kenderaan masih berjalan.

    Rangka kerja biasanya memberikan tahap abstraksi yang lebih tinggi daripada perpustakaan dan dapat membantu anda membina 80% pertama projek anda dengan cepat. Kelemahan:

    • Jika permohonan anda berada di luar skop untuk rangka kerja, 20% terakhir boleh menjadi sukar- jika tidak mustahil
    • kemas kini bingkai atau penghijrahan boleh menjadi sukar
    • Kod dan konsep kerangka teras jarang menyesuaikan diri dengan masa. Pemaju akan sentiasa mencari cara yang lebih baik untuk melakukan perkara yang sama.
    • Alat

    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.

    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!

    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.

    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

    item yang diatur dengan anggaran urutan penggunaan/populariti/gembar -gembur ...

    jQuery

    jQuery 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

      lengkung pembelajaran lancar, dan terdapat banyak bantuan dalam talian
    • Tatabahasa mudah
    • Mudah untuk berkembang
    • Kekurangan:
      • tambah overhead kelajuan untuk API asli
      • sekarang keserasian penyemak imbas telah bertambah baik, jadi tidak begitu penting
      • Kadar penggunaan cenderung menstabilkan
      • Beberapa rintangan industri untuk kegunaan yang tidak perlu.

      React

      React Description Taip laman web perpustakaan facebook.github.io/ React/Repository github.com/facebook/react GitHub Stars 115,000 Versi semasa 16.6.3 Pemaju Facebook dan Penyumbang Tarikh Tarikh Mac 2013 Saiz Tipikal 21kb Min Penggunaan Khas Page Single Penggunaan Permohon Tuntutan menjadi perpustakaan JavaScript untuk membina antara muka pengguna. Ia memberi tumpuan kepada bahagian "Lihat" dalam pembangunan Model-View-Controller (MVC) dan menjadikannya mudah untuk membuat komponen UI yang dipelihara oleh negara. Ia adalah salah satu perpustakaan pertama untuk melaksanakan DOM maya;

      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:

        kecil, cekap, cepat dan fleksibel
      • Model Komponen Mudah
      • dokumentasi yang baik dan sumber dalam talian
      • rendering sisi pelayan mungkin
      • masih sangat popular dan berkembang pesat
      • banyak kerja mengiklankan pemaju reaksi
      Kekurangan:

        Konsep baru dan tatabahasa perlu dipelajari
      • alat bangunan adalah penting
      • perpustakaan atau rangka kerja lain mungkin diperlukan untuk menyediakan aspek model dan pengawal
      • mungkin tidak sesuai dengan kod dan perpustakaan lain yang mengubah suai Dom
      AngularJS 1.x

      angularjs description . . Versi yang paling popular masih versi 1.x, yang memanjangkan HTML melalui pengikatan data bidirectional semasa memisahkan operasi DOM dari logik aplikasi. Walaupun versi 2.0 dikeluarkan (sekarang versi 4.0!), Angular 1.x masih dalam pembangunan. Hairan? Lihat di bawah ... Pro:

      Rangka kerja popular yang diterima pakai oleh beberapa syarikat besar

      penyelesaian tunggal untuk membuat aplikasi web moden

        adalah sebahagian daripada stack "standard" (mongoDB, express.js, angularjs, nodejs), jadi terdapat banyak artikel dan tutorial yang tersedia
      • Kekurangan:
        • lengkung pembelajaran lebih curam daripada alternatif lain
        • asas kod sangat besar
        • tidak dapat menaik taraf ke sudut 2.x
        • Walaupun projek Google, Google nampaknya tidak menggunakannya?

        sudut 2 (sekarang 7.x)

        angular Description . Ini adalah penulisan semula lengkap yang memperkenalkan model komponen modular yang dibuat menggunakan TypeScript (disusun sebagai JavaScript). Untuk meningkatkan kekeliruan, versi 4.0 dikeluarkan pada bulan Mac 2017 (dilangkau v3 untuk mengelakkan isu versi semantik). Angular 2 sama sekali berbeza daripada V1. Tidak serasi-

        mungkin Google harus memberikan projek nama yang berbeza? !

        Pro:

        penyelesaian tunggal untuk membuat aplikasi web moden
        • masih menjadi sebahagian daripada tumpukan min, walaupun sedikit tutorial Angular 2 tersedia
        • Bagi mereka yang biasa dengan bahasa yang ditaip secara statik seperti C# dan Java, Typescript menawarkan beberapa kelebihan.
        • Kekurangan:

        lengkung pembelajaran lebih curam daripada alternatif lain
        • asas kod sangat besar
        • tidak dapat menaik taraf dari sudut 1.x
        • berbanding dengan 1.x, kadar penggunaan sudut 2.x sudut agak rendah
        • Walaupun projek Google, Google nampaknya tidak menggunakannya?
        • vue.js

        vue.js Description github.com/vuejs/vue GitHub Stars 120,000 Versi semasa 2.5.17 Pemaju Evan Anda Tarikh pelepasan Februari 2014 Saiz tipikal 19KB Min Komponen tujuan khas dan aplikasi halaman tunggal penggunaan Vue.js rendah adalah progresif, rangka kerja ringan, rangka kerja untuk membina antara muka pengguna. Inti menyediakan lapisan paparan yang didorong oleh DOM maya yang boleh diintegrasikan dengan perpustakaan lain, tetapi ia juga mampu memacu aplikasi halaman tunggal. Rangka kerja itu dicipta oleh Evan You, yang sebelum ini bekerja di AngularJS tetapi ingin mengekstrak bahagian yang dia suka. vue.js mengikat DOM untuk mendapatkan data menggunakan sintaks templat HTML. Apabila data berubah, model adalah objek JavaScript biasa yang mengemas kini paparan. Alat lain menyediakan alat untuk perancah, penghalaan, pengurusan status, animasi, dan banyak lagi. Pro:

        Pengangkatan Cepat dan Meningkatkan Populariti

        Mudah Bermula, Kepuasan Pemaju Tinggi
        • ringan, ketergantungan rendah, prestasi yang baik
        • Kekurangan:
          • boleh dilindungi oleh React
          • Bergantung pada kemas kini untuk pemaju individu
          • kurang sumber daripada alternatif

          Sencha ext JS

          ext JS Description Rangka Kerja dan Komponen Perpustakaan Laman Web Sencha / extjs/ Versi semasa 6.6.0 Pemaju Sencha Tarikh Siaran Disember 2007 Saiz tipikal bergantung kepada keperluan: 85-500kb Komponen penggunaan biasa dan aplikasi halaman tunggal penggunaan rendah ext JS dibangunkan dari Yui-Ext, salah satu sejarah terpanjang dalam senarai ini. Walaupun ia paling terkenal dengan pelbagai komponen UI yang boleh dikonfigurasikan, boleh diakses dan alat visualisasi data, ext JS juga menyediakan rangka kerja untuk membina aplikasi lengkap. Sebagai alternatif, anda boleh menggunakan perpustakaan komponen dengan reaksi atau sudut. ext JS adalah satu -satunya rangka kerja di sini yang menyediakan latihan dan sokongan perniagaan. Terdapat juga pilihan untuk mempunyai pasukan SENCHA membantu mengkaji semula kod anda, mengautomasikan ujian, dan berhijrah ke platform lain.

          Pro:

          komponen yang tersedia secara meluas
          • mengandungi semua yang anda perlukan untuk membuat aplikasi web dan mudah alih
          • penyesuaian skrip, alat reka bentuk dan prototaip cepat
          • menyediakan alat untuk membina dan menggaya aplikasi web secara intuitif
          • Sokongan Perniagaan dan Dokumentasi Cemerlang
          • Percubaan Percuma 30 Hari dan Versi Komuniti untuk Aplikasi Kecil (Pendapatan kurang dari $ 10,000 setahun)
          • Kekurangan:

          Sehingga kini, integrasi dengan rangka kerja selain React dan Sudut mungkin tidak praktikal -lihat pelan pelan jalanan JS 7
          • perubahan UI tersuai yang mendalam boleh menjadi sukar
          • Lodash dan garis bawah
          3 . > Description

          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. Penggunaan klien adalah rendah, tetapi sama ada perpustakaan boleh digunakan dalam aplikasi Node.js sisi pelayan. Pro: Kecil dan sederhana mudah belajar, dokumentasi yang baik serasi dengan kebanyakan perpustakaan dan kerangka Jangan melanjutkan objek terbina dalam boleh digunakan pada sisi klien atau pelayan Kekurangan:

          • Beberapa kaedah disediakan dalam ES2015 dan kemudian JavaScript.

          backbone.js

          backbone.js description github.com/Jashkenas/backbone/ GitHub Stars 37,000 Versi semasa 1.3.3 Pemaju Jeremy Ashkenas Tarikh Tarikh Oktober 2010 Saiz Tipikal 8KB Min Penggunaan Tipikal Permohonan Halaman Single Backbone.js Penggunaan Rendah Pilihan pelanggan untuk struktur MVC. Satu -satunya kebergantungannya ialah underscore.js, yang dicipta oleh pemaju yang sama. Backbone.js mendakwa sebagai perpustakaan kerana ia boleh diintegrasikan dengan projek lain. Saya mengesyaki kebanyakan pemaju berpendapat ia adalah rangka kerja, walaupun ia tidak sewenang -wenang seperti yang lain.

          Pro:

          kecil, ringan dan tidak terlalu rumit
          • jangan tambahkan logik ke html
          • Dokumentasi yang sangat baik
          • telah diterima pakai oleh banyak aplikasi, termasuk Trello, WordPress.com, LinkedIn dan Groupon
          • Kekurangan:

          tahap abstraksi yang lebih rendah daripada alternatif seperti angularjs (tetapi ini boleh dianggap sebagai kelebihan)
          • komponen lain diperlukan untuk melaksanakan fungsi seperti pengikatan data
          • rangka kerja baru -baru ini telah jauh dari seni bina MVC
          • Ember.js

          eMBER.JS DESCRIPT repositori github.com/emberjs/ember.js github stars 20,000 Versi semasa 3.6.0 Pemaju Ember Team Release Tarikh Disember 2011 Saiz tipikal 95kb Min Penggunaan Tipikal Permohonan Low Ember.js Berdasarkan Model-View-View Salah satu dari Salah satu dari satu pandangan Rangka kerja yang lebih besar dari model model (MVVM). Ia melaksanakan templat, pengikatan data, dan perpustakaan dalam satu pakej. Bagi mereka yang berpengalaman dengan Ruby on Rails, konsep konvensyen mengenai konfigurasi segera biasa. Pro: menyediakan satu penyelesaian untuk aplikasi klien

          pemaju boleh meningkatkan produktiviti dengan segera - ia menggunakan jQuery

            keserasian belakang yang baik dan pilihan naik taraf
          • standard pembangunan web moden yang digunakan
          • Kekurangan:
          • mengedarkan fail besar

          ia dianggap monolitik berbanding rangka kerja lain yang bergerak ke struktur komponen yang lebih kecil

            lengkung pembelajaran curam - ini adalah cara Ember, atau tidak ada cara sama sekali
          • knockout.js
          • 3 github.com/knockout/knockout github stars 9,000 Versi semasa 3.5.0 pemaju Steve Sanderson Tarikh Tarikh Julai 2010 Saiz Tipikal 59KB Min Penggunaan Tipikal Permohonan Low Row Knockout.js adalah salah satu rangka kerja MVVM yang lebih tua, ia menggunakan pemerhati untuk memastikan bahawa UI kekal selaras dengan data yang mendasari. Ia mempunyai templat dan keupayaan penjejakan pergantungan.
          • Pro:

          kecil dan ringan, tiada dependensi

          sokongan penyemak imbas yang sangat baik, dapat dikesan dengan IE6

          Dokumentasi yang sangat baik Kekurangan:
          • projek besar boleh menjadi rumit
          • Kelajuan pembangunan melambatkan
          • Penggunaan nampaknya merosot

          projek yang bernilai memberi perhatian kepada

          berharap dapat mengetahui lebih lanjut? Item berikut tidak begitu popular, tetapi patut dipertimbangkan:

          • Polimer - Perpustakaan yang membolehkan sokongan penyemak imbas untuk komponen web HTML5
          • Meteor - platform stack penuh untuk aplikasi web.
          • aurelia - rangka kerja ringan, cross -platform
          • svelte - projek yang cukup baru yang menukar kod sumber rangka kerja kepada JavaScript asli
          • Conditioner.js - Perpustakaan baru yang secara automatik memuat dan memunggah modul berdasarkan status mereka.

          alat: pelari tugas umum

          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:

          Webpack

          Webpack Description laman web webpack.js.org repository github. com/webpack/webpack GitHub Stars 45,000 Versi semasa 4.25.1 4 juta muat turun setiap minggu Webpack menyokong semua pilihan modul yang popular dan telah menjadi sinonim dengan pembangunan React. Walaupun mendakwa sebagai modul modul, Webpack boleh digunakan sebagai pelari tugas tujuan umum. Konfigurasi berdasarkan objek JavaScript boleh menjadi sedikit kekok. Penjana boleh didapati, tetapi beberapa pengguna webpack telah berpindah ke bungkusan untuk konfigurasi yang lebih mudah dan masa penyusunan yang lebih cepat.

          Gulp.js

          gulp.js Description laman web gulpjs.com repositori github. Com/Gulpjs/Gulp GitHub Stars 30,000 Versi semasa 4.0.0 (3.9.1 masih aktif) 750,000 muat turun mingguan Walaupun bukan pelari tugas pertama, Gulp dengan cepat menjadi salah satu pelari tugas yang paling popular, yang juga kegemaran saya . Gulp menggunakan kod JavaScript yang mudah dibaca yang memuatkan fail sumber ke dalam aliran, kemudian lulus data melalui pelbagai plugin sebelum mengeluarkannya ke folder Build. Ia mudah, cepat dan menyeronokkan, tetapi pemaju telah berpindah ke Webpack. npm 3 . Ini adalah pilihan yang menarik untuk projek mudah dengan ketergantungan yang lebih sedikit. Walau bagaimanapun, tugas yang lebih kompleks dapat dengan cepat menjadi tidak praktikal.

          grunt

          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.

          Alat: modul bundler

          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.

          BROWSERIFY

          Browserify Description laman web browserify.org repository github.com/ BROWSERIFY/BROWSERIFY GITHUB STARS 12,000 Versi semasa 16.2.3 Muat turun setiap minggu 480,000 BROWSERIFY menyokong modul CommonJS yang digunakan oleh Node.js, menyusun semua modul ke dalam fail serasi penyemak imbas tunggal. memerlukan

          Memerlukan GitHub Stars 2,500 Versi semasa 2.3.6 Muat turun setiap minggu 230,000 yang diperlukan pada asalnya merupakan modul modul dalam penyemak imbas, walaupun ia juga boleh digunakan dalam node.js. Ia menyokong sintaks AMD. Alat: pemeriksaan gaya kod CODE CODE CHECK Analisis kod anda untuk kesilapan atau penyimpangan yang berpotensi dari piawaian tatabahasa. Anda tidak akan terlepas pendakap rapat atau pemboleh ubah yang tidak diisytiharkan!

          Eslint

          eslint Description laman web repositori github.com/ Eslint/Eslint GitHub Stars 12,000 Versi semasa 5.9.0 Muat turun 4 juta seminggu Eslint adalah alat pemeriksaan gaya kod yang paling popular, yang disokong oleh kebanyakan ides, editor, bundlers, dan pelari tugas. Setiap peraturan adalah plugin, jadi ia boleh dikonfigurasikan mengikut keutamaan anda. jshint

          jshint Description laman web jshint.com repository github.com/ JSHINT/JSHINT GITHUB Bintang 8,000 Versi semasa 2.9.6 Muat turun setiap minggu 390,000 Pemeriksa gaya kod JavaScript yang fleksibel yang tidak boleh dikonfigurasikan sebagai eslint, tetapi menyerang keseimbangan yang baik antara bug sebenar dan keperluan sintaks yang tegar. jslint

          jslint description laman web jslint.com repository github.com/ Reid/Node-Jslint GitHub Stars 8,000 Versi semasa 0.12.0 Muat turun seminggu salah satu periksa gaya kod terawal yang melaksanakan set peraturan lalai yang ketat. Pembangunan telah perlahan, dan bagi sesetengah pemaju ia mungkin sedikit tidak kompromi. alat: ujian suite Pembangunan yang didorong oleh ujian memerlukan anda menulis kod untuk menguji kod anda sebelum anda mula menulisnya. Selamat datang untuk menulis kod untuk menguji kod ujian anda! Terdapat banyak pilihan, termasuk ava, pita dan melati, tetapi tiga pilihan paling popular adalah ...

          jest

          jest Description laman web https: // www .php.cn/link/50be28d343081a44df25869ab1e4502f repositori github.com/kof/node-qunit github stars 21,000 Versi semasa 23.6.0 muat turun mingguan 2 juta dari rangka kerja Lebih dan lebih popular.

          mocha

          mocha Description laman web mochajs.org repository github.com/ MOCHAJS/MOCHA GITHUB STARS 16,500 Versi semasa 5.2.0 1.8 juta muat turun seminggu Mocha boleh menjalankan ujian dalam node.js dan pelayar. Ia menyokong ujian asynchronous dan biasanya digunakan dengan chai untuk dapat menyatakan kod ujian dalam gaya yang boleh dibaca. Ia telah menjadi pilihan yang paling popular selama bertahun -tahun.

          Jasmine

          Jasmine Description laman web Jasmine.github.io repositori gitHub. Com/Jasmine/Jasmine-Npm GitHub Stars 300 Versi semasa 3.3.0 Muat turun setiap minggu 750,000 Jasmine adalah suite ujian yang didorong oleh tingkah laku yang mengautomasikan UI dan interaksi anda dalam penyemak imbas anda. Alat: Alat Lain

          Walaupun usaha terbaik saya, saya mengakui bahawa tidak semua orang suka JavaScript! Penyusun seperti TypeScript, LiveScript dan CoffeeScript boleh menjadikan kehidupan pembangunan anda sedikit lebih menyeronokkan. Sebagai alternatif, pertimbangkan untuk menggunakan Babel untuk menukar kod sumber ES2015 moden, ke dalam kod ES5 yang bersesuaian dengan penyebaran.

          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

          Jika anda mengikuti kebijaksanaan orang ramai, momentum semasa berada di belakang React, dan perpustakaan lain juga bergerak ke arah arah teknologi yang sama. Ini adalah pilihan kerjaya yang selamat, tetapi anda juga harus mempertimbangkan vue.js atau reaksi yang serasi tetapi lebih kecil.

          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 ...

          Soalan Lazim mengenai Rangka Kerja, Perpustakaan dan Alat JavaScript Top

          Apakah perbezaan utama antara sudut dan bertindak balas?

          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.

          Bagaimana memilih rangka kerja JavaScript yang betul untuk projek saya?

          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.

          Apakah kelebihan menggunakan vue.js berbanding dengan rangka kerja JavaScript yang lain?

          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.

          Apakah peranan node.js dalam pembangunan JavaScript?

          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.

          Betapa pentingnya untuk mempelajari TypeScript apabila menggunakan Rangka Kerja JavaScript?

          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.

          Apakah faedah menggunakan perpustakaan JavaScript seperti Lodash?

          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.

          bagaimana Ember.js dibandingkan dengan kerangka JavaScript yang lain?

          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.

          Apakah ciri -ciri utama perpustakaan polimer?

          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.

          Bagaimana jQuery berfungsi dalam persekitaran JavaScript moden?

          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.

          Apakah rangka kerja dan perpustakaan JavaScript yang baru muncul?

          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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn