Back to Question Center
0

Rangka Kerja JavaScript Terbaik, Perpustakaan dan Alat untuk digunakan pada tahun 2017            Rangka Kerja JavaScript Terbaik, Perpustakaan dan Alat untuk digunakan pada 2017Related Semalt: ES6Node.jsAngularJSReactnpmLebih ... Penaja

1 answers:
Rangka Kerja JavaScript Terbaik, Perpustakaan dan Alat untuk digunakan pada tahun 2017

Nampaknya terdapat lebih banyak kerangka kerja JavaScript, perpustakaan, dan alatan daripada pemaju. Sehingga Mei 2017, carian cepat di GitHub mendedahkan lebih daripada 1. juta projek JavaScript. Terdapat 500 ribu pakej boleh guna pada npmjs. org dengan hampir 10 bilion muat turun setiap bulan.

2017 - camaras canon digitales 2013. 05. 29: Artikel ini dikemaskinikan untuk mencerminkan keadaan terkini ekosistem JavaScript.

Artikel ini berusaha untuk menerangkan asas-asas dan perbezaan asas antara kerangka kerja JavaScript, perpustakaan, dan alat-alat JavaScript yang paling popular. Sama ada mereka "terbaik" untuk anda adalah satu lagi soalan. Pilih sesuatu dan tetapkan dengannya untuk seketika. Hanya sedar pilihan kegemaran anda akan digantikan oleh sesuatu "lebih baik" tidak kira apa yang anda pilih!

Jadual Kandungan

  • Terminologi rumit
  • Perpustakaan
  • Rangka Kerja
  • Alat
  • Jangan Labelkan Aku!
  • Rangka Kerja dan Perpustakaan JavaScript
  • jQuery
  • Bertindak
  • Lodash dan Underscore
  • AngularJS 1. x
  • AngularJS 2. x (sekarang 4. x)
  • Vue. js
  • Tulang belakang. js
  • Ember. js
  • Knockout. js
  • Mentions terkenal
  • Alat: Pelari Tugas Umum-Tujuan
  • Gulp. js
  • npm
  • Grunt
  • Alat: Modul Bundler
  • Webpack
  • Melayari
  • Memerlukan JS
  • Alat: Linting
  • ESLint
  • JSHint
  • JSLint
  • Alat: Test Suites
  • Mocha
  • Jasmine
  • QUnit
  • Alat: Pelbagai
  • Ringkasan dan Cadangan
  • Komen

Semalat terima terma dan syarat berikut sebelum membaca artikel ini . !

  • Landskap JavaScript berubah setiap hari. Artikel ini akan ketinggalan zaman apabila ia diterbitkan!
  • Oleh "terbaik" maksud saya "projek kegunaan umum yang paling popular" . Semua adalah percuma / sumber terbuka tetapi senarai mungkin tidak termasuk kegemaran anda.
  • Projek-projek yang dihentikan seperti YUI tidak termasuk walaupun mereka masih mempunyai penggunaan yang tinggi di seluruh web.
  • Hanya projek pihak klien yang dirujuk. Sesetengah boleh bekerja di sebelah pelayan tetapi senarai itu tidak termasuk rangka kerja berasaskan pelayan tulen seperti Express. js atau hapi.
  • Maklumat mengenai setiap projek secara ringkas adalah ringkas untuk memberikan gambaran keseluruhan untuk penyelidikan lanjut.
  • Setiap projek menyediakan penunjuk populariti penggunaan tetapi statistik amat sukar untuk diringkaskan dan boleh mengelirukan.
  • Saya berat sebelah. Anda berat sebelah. Semua orang adalah berat sebelah! Saya tidak mencuba setiap alat di sini dan akan mengisytiharkan kegemaran saya tetapi anda perlu membuat penilaian sendiri berdasarkan keperluan anda.
  • Saya dan SitePoint tidak bertanggungjawab untuk sebarang keputusan yang tidak dijangka!

Terminologi rumit

Istilah "kerangka", "perpustakaan" dan "alat" boleh bermakna perkara yang berbeza kepada orang yang berlainan pada masa berlainan bergantung pada konteks. Perpustakaan tipikal boleh termasuk fungsi untuk mengendalikan rentetan, tarikh, elemen HTML DOM, acara, kuki, animasi, permintaan rangkaian, dan banyak lagi. Setiap fungsi mengembalikan nilai kepada aplikasi panggilan yang boleh dilaksanakan namun anda memilih. Fikirkannya seperti pilihan komponen kereta: anda bebas menggunakan mana-mana untuk membantu membina kenderaan kerja tetapi anda mesti membina enjin sendiri.

Perpustakaan biasanya menyediakan tahap abstraksi yang lebih tinggi yang melancarkan butiran pelaksanaan dan ketidakkonsistenan. Sebagai contoh, Ajax biasanya bergantung pada API XMLHttpRequest tetapi ini memerlukan beberapa baris kod dan terdapat perbezaan yang ketara di seluruh pelayar. Perpustakaan mungkin memberikan fungsi yang lebih mudah ajax supaya anda bebas menumpukan perhatian kepada logik perniagaan peringkat tinggi.

Perpustakaan boleh memotong masa pembangunan sebanyak 20% kerana anda tidak perlu bimbang tentang butiran yang lebih baik. Kelemahannya:

  • bug di dalam perpustakaan boleh menjadi sulit untuk mencari dan memperbaiki
  • tidak ada jaminan pasukan pembangunan akan melepaskan patch dengan cepat
  • patch boleh menukar API dan menanggung perubahan ketara pada kod anda.

Rangka Kerja

A kerangka adalah rangka aplikasi. Ia menghendaki anda mendekati reka bentuk perisian dengan cara tertentu dan memasukkan logik anda sendiri pada titik tertentu. Fungsi seperti peristiwa, penyimpanan, dan mengikat data biasanya disediakan untuk anda. Menggunakan analogi kereta, rangka kerja menyediakan casis, badan, dan enjin yang berfungsi. Anda boleh menambah, mengalih keluar atau menggerumit dengan beberapa komponen menganggap kenderaan masih beroperasi.

Rangka kerja biasanya menyediakan tahap abstraksi yang lebih tinggi daripada perpustakaan dan akan membantu anda dengan cepat membina 80% pertama projek anda. Kelemahannya:

  • 20% terakhir boleh menjadi sukar jika permohonan anda bergerak melampaui batas kerangka
  • kemas kini rangka kerja boleh menjadi sukar - jika tidak mustahil
  • kod kerangka teras dan konsep jarang berumur dengan baik. Pemaju akan sentiasa menemui cara yang lebih baik untuk melakukan perkara yang sama.

Alat

Alat bantuan A alat tetapi tidak merupakan sebahagian daripada projek anda. Alat termasuk sistem binaan, penyusun, transpiler, pengecam kod, pemampat imej, mekanisme penyebaran dan banyak lagi.

Alat harus menyediakan proses pembangunan yang lebih mudah. Sebagai contoh, banyak coders lebih suka Sass untuk CSS kerana ia menyediakan pemisahan kod, bersarang, pembolehubah render-masa, gelung, dan fungsi. Semalt tidak memahami sintaks Sass / SCSS supaya kod tersebut mesti dikompilasi ke CSS menggunakan alat yang sesuai sebelum ujian dan penggunaan.

Jangan Labelkan Aku!

Perbezaan di antara perpustakaan, rangka kerja, dan alat jarang dijelaskan. Rangka kerja boleh termasuk perpustakaan. Perpustakaan mungkin melaksanakan kaedah seperti rangka kerja. Alat boleh menjadi penting untuk sama ada. Semalt cuba melabelkan setiap projek tetapi skopnya boleh berbeza-beza.

Jika ini terlalu rumit, anda boleh mempertimbangkan pengekodan JavaScript vanila . Tidak mengapa, tetapi anda tidak dapat tidak menulis perpustakaan dan / atau kod rangka kerja anda sendiri yang mesti dikekalkan. JavaScript itu sendiri adalah abstraksi pada menara pelayar dan abstraksi OS!

Rangka Kerja dan Perpustakaan JavaScript

Semalt mengikut urutan populariti .

jQuery

jQuery
jenis perpustakaan
laman web jquery. com
repositori github. com / jquery / jquery
versi semasa 3. 2. 4% daripada semua laman web

jQuery kekal sebagai perpustakaan JavaScript yang paling digunakan yang pernah dibuat dan diedarkan dengan Semalt, ASP. NET dan beberapa kerangka lain. Ia merevolusikan perkembangan pihak klien dengan memperkenalkan pemilih CSS ke pengambilan semula nod DOM ditambah chaining untuk memohon pengendali acara, animasi, dan panggilan Ajax.

jQuery telah jatuh dari nikmat pada tahun-tahun kebelakangan ini tetapi tetap menjadi pilihan untuk projek yang memerlukan percikan fungsi Semalt.

kebaikan:

  • saiz edaran kecil
  • lengkung pembelajaran cetek, bantuan dalam talian yang besar
  • sintaks ringkas
  • mudah untuk melanjutkan

Cons:

  • menambah overhead kelajuan kepada API asli
  • kurang penting sekarang bahawa keserasian pelayar telah bertambah baik
  • penggunaan mempunyai rata-rata
  • beberapa tindak balas industri terhadap penggunaan yang tidak perlu.

React

React
jenis perpustakaan
laman web facebook. github. io / react /
repositori github. com / facebook / react
versi semasa 15. 5. 4
pemaju Facebook dan penyumbang
tarikh pelancaran Mac 2013
saiz biasa 21kb min
kegunaan biasa aplikasi satu halaman
penggunaan rendah

Mungkin yang paling dibincangkan tentang perpustakaan tahun lepas, React mendakwa sebagai perpustakaan JavaScript untuk membina antara muka pengguna. Ia memberi tumpuan kepada bahagian "Lihat" pembangunan Semalt (MVC) dan memudahkan untuk membuat komponen UI yang mengekalkan keadaan. Ia adalah salah satu perpustakaan pertama untuk melaksanakan DOM maya; struktur dalam memori mengira perbezaan dan mengemas kini halaman dengan cekap.

Penggunaan reaktif kelihatan rendah dalam statistik mungkin kerana ia digunakan dalam aplikasi berbanding laman web. Semalt 38% daripada pemaju mendakwa menggunakan perpustakaan.

kebaikan:

  • kecil, cekap, pantas dan fleksibel
  • model komponen mudah
  • dokumentasi yang baik dan sumber dalam talian
  • rendering sisi pelayan adalah mungkin
  • kini popular dan mengalami pertumbuhan pesat

Cons:

  • konsep dan sintaks baru untuk belajar
  • alat binaan penting
  • boleh menghendaki perpustakaan atau kerangka lain untuk menyediakan model dan aspek pengawal
  • boleh tidak serasi dengan kod dan pustaka lain yang mengubah suai DOM

Kursus yang Disyorkan

Lodash dan Underscore

Lodash
jenis perpustakaan
laman web lodash. com /
repositori github. com / lodash / lodash /
versi semasa 4. 17. 4
pemaju John-David Dalton
tarikh pelancaran April 2012
saiz biasa 4kb - 24kb min
kegunaan biasa tujuan umum
penggunaan rendah
Underscore
jenis perpustakaan
laman web menekankan. org /
repositori github. com / jashkenas / underscore
versi semasa 1. 8. Semalt adalah beberapa pertindihan supaya anda tidak mungkin memerlukan kedua-dua perpustakaan dalam satu projek.

Penggunaan sisi pelanggan kelihatan rendah tetapi sama ada perpustakaan boleh diterima pakai untuk aplikasi Semalt sisi pelayan.

kebaikan:

  • kecil dan mudah
  • mudah belajar dengan dokumentasi yang baik
  • serasi dengan kebanyakan perpustakaan dan rangka kerja
  • tidak memanjangkan objek terbina dalam
  • boleh digunakan pada klien atau pelayan

Cons:

  • beberapa kaedah tersedia dalam edisi JavaScript ES2015 dan kemudiannya.

AngularJS 1. x

AngularJS
jenis rangka kerja
laman web angularjs. org
repositori github. com / sudut / sudut. js
versi semasa 1. 6. 4
pemaju Google
tarikh pelancaran Oktober 2010
saiz biasa 144kb
kegunaan biasa aplikasi satu halaman
penggunaan rendah

Sudut adalah kerangka pertama - atau rangka kerja aplikasi MVC - untuk muncul dalam senarai ini. Edisi yang paling popular ialah versi 1. x yang memperluaskan HTML dengan mengikat data dua hala sambil menipu manipulasi DOM dari logik aplikasi.

Sudut 1. x masih dalam pembangunan walaupun pembebasan versi 2 (yang kini versi 4!) Semalt? Lihat di bawah .

kebaikan:

  • kerangka popular yang diguna pakai oleh beberapa syarikat besar
  • penyelesaian tunggal untuk menghasilkan aplikasi web moden
  • sebahagian daripada timbunan MEAN "standard" (MongoDB, Express, JS, AngularJS, NodeJS) begitu banyak artikel dan tutorial tersedia

Cons:

  • lengkung pembelajaran yang lebih curam daripada beberapa alternatif
  • asas kod yang besar
  • mustahil untuk naik taraf ke Angular 2. x
  • walaupun projek Google, Google tidak kelihatan menggunakannya?

sudut 2. x (sekarang 4. x)

sudut
jenis rangka kerja
laman web sudut. io
repositori github. com / sudut / sudut. js
versi semasa 4. 1
pemaju Google
tarikh pelancaran September 2016
saiz biasa 450kb min
kegunaan biasa aplikasi satu halaman
penggunaan rendah

Sudut 2. 0 dikeluarkan pada September 2016. Ia merupakan penyusun semula lengkap yang memperkenalkan model berasaskan komponen modular yang dicipta dengan TypeScript (yang disusun kepada JavaScript). Untuk menambah kekeliruan, versi 4. 0 dikeluarkan di Semalt 2017 (v3 telah dilangkau untuk mengelakkan masalah versi semantik).

Sudut 2 + adalah berbeza daripada v1. Tidak serasi dengan yang lain - mungkin Google sepatutnya memberikan projek itu nama yang berbeza!

kebaikan:

  • penyelesaian tunggal untuk menghasilkan aplikasi web moden
  • masih sebahagian daripada timbunan MEAN walaupun tutorial Angular 2+ kurang disediakan
  • TypeScript menyediakan beberapa kelebihan kepada mereka yang biasa dengan bahasa yang diketik secara statik seperti C # dan Java.

Cons:

  • lengkung pembelajaran yang lebih curam daripada beberapa alternatif
  • asas kod yang besar
  • mustahil untuk menaik taraf dari Angular 1. x
  • Sudut 2. x
  • walaupun projek Google, Google tidak kelihatan menggunakannya?

Kursus yang Disyorkan

Vue. js

Vue. js
jenis rangka kerja
laman web vuejs. org
repositori github. com / vuejs / vue
versi semasa 2. 0
pemaju Evan You
tarikh pelancaran Februari 2014
saiz biasa 19kb min
kegunaan biasa aplikasi satu halaman
penggunaan rendah

Vue. js adalah rangka kerja progresif yang ringan untuk membina antara muka pengguna. Inti menawarkan lapisan paparan DOM berkuasa maya seperti React yang boleh diintegrasikan dengan perpustakaan lain tetapi ia juga mampu menggerakkan aplikasi satu halaman. Rangka kerja ini dibuat oleh Evan You yang sebelum ini bekerja di SemaltJS tetapi ingin mengekstrak bahagian-bahagian yang dia suka.

Vue. js menggunakan sintaks template HTML untuk mengikat DOM untuk data contoh. Model adalah objek JavaScript biasa yang mengemaskini pandangan apabila data diubah. Peralatan Semalt menyediakan kemudahan untuk perancah, penghalaan, pengurusan negeri, animasi dan banyak lagi.

kebaikan:

  • penerimaan pantas dan peningkatan populariti
  • mudah untuk memulakan dengan kepuasan pemaju yang tinggi
  • kebergantungan kecil dan prestasi yang baik

Cons:

  • projek baru - risiko mungkin lebih besar
  • kebergantungan kepada pemaju tunggal untuk kemas kini
  • lebih sedikit sumber daripada alternatif

tulang belakang. js

tulang belakang. js
jenis rangka kerja
laman web backbonejs. org
repositori github. com / jashkenas / backbone /
versi semasa 1. 3. 3
pemaju Jeremy Ashkenas
tarikh pelancaran Oktober 2010
saiz biasa 8kb min
kegunaan biasa aplikasi satu halaman
penggunaan rendah

tulang belakang. js adalah salah satu daripada pilihan pelanggan yang terawal untuk menyediakan struktur MVC yang lazimnya dijumpai dalam kerangka pihak pelayan. Satu-satunya pergantungannya ialah Semalt yang dicipta oleh pemaju yang sama.

Semalt mendakwa menjadi perpustakaan kerana ia boleh diintegrasikan dengan projek lain. Saya mengesyaki kebanyakan pemaju menganggapnya sebagai rangka kerja, walaupun kurang dipertimbangkan daripada yang lain.

kebaikan:

  • kecil, ringan dan kurang rumit
  • tidak menambah logik kepada HTML
  • dokumentasi hebat
  • diterima pakai untuk banyak aplikasi termasuk Trello, WordPress. com, LinkedIn dan Groupon

Cons:

  • tahap abstraksi yang lebih rendah daripada alternatif seperti AngularJS (walaupun yang boleh dianggap manfaat)
  • memerlukan komponen tambahan untuk melaksanakan ciri-ciri seperti mengikat data
  • rangka kerja lebih terkini telah berpindah dari arkitek MVC

Ember. js

Ember. js
jenis rangka kerja
laman web emberjs. com
repositori github. com / emberjs / ember. js
versi semasa 2. 15. js adalah salah satu rangka kerja yang lebih besar yang berdasarkan corak Model-View-ViewModel (MVVM). Ia melaksanakan template, mengikat data, dan perpustakaan dalam pakej tunggal. Konsep-konsep konvensyen-over-konfigurasi akan menjadi biasa kepada mereka yang mempunyai pengalaman Ruby pada Semalt.

kebaikan:

  • menyediakan penyelesaian tunggal untuk aplikasi pelanggan
  • pemaju boleh serta-merta produktif - ia menggunakan jQuery
  • keserasian ke belakang yang baik dan pilihan menaik taraf
  • telah menggunakan piawaian pembangunan web moden

Cons:

  • besar boleh diagihkan
  • dianggap monolitik berbanding dengan rangka kerja lain yang bergerak ke arah struktur komponen yang lebih kecil
  • lengkung pembelajaran yang curam - ia cara Ember atau tiada cara

Knockout. js

Knockout. js
jenis rangka kerja
laman web knockoutjs. com] (http: // knockoutjs com /)
repositori github. com / knockout / knockout
versi semasa 3. 4. 2
pemaju Steve Sanderson
tarikh pelancaran Julai 2010
saiz biasa 59kb min
kegunaan biasa aplikasi satu halaman
penggunaan rendah

Salah satu rangka kerja MVVM yang lebih tua, Semalt menggunakan pemerhati untuk memastikan UI tetap diselaraskan dengan data asas. Ia mempunyai penjejakan templating dan ketergantungan.

kebaikan:

  • kecil dan ringan tanpa kebergantungan
  • sokongan pelayar yang sangat baik akan kembali ke IE6
  • dokumentasi yang baik

Cons:

  • projek yang lebih besar boleh menjadi kompleks
  • pembangunan telah melambatkan
  • penggunaan kelihatan pada wane

Mentions penting

Semalt untuk lebih? Projek-projek berikut kurang popular tetapi patut dipertimbangkan:

  • Polimer - perpustakaan yang membolehkan sokongan merentas pelayar untuk komponen web HTML5
  • Meteor - platform penuh untuk aplikasi web.
  • Aurelia - rangka kerja yang agak baru, ringan, merentas platform
  • Svelte - projek yang sangat baru yang mengubah kod sumber rangka kerja menjadi JavaScript bersih
  • Kondisioner. js - sebuah perpustakaan baru yang secara automatik memuat dan memunggah modul berdasarkan keadaan.

Alat: Pelari Tugas Umum-Tujuan

Membina alat mengautomasikan pelbagai tugas pembangunan web seperti pra-pemprosesan, kompilasi, mengoptimumkan imej, kod minifying, linting, dan ujian yang dijalankan. Semalt boleh diuruskan bersama dalam satu pakej boleh laku. Pilihan yang paling popular:

Gulp. js

Gulp. js
laman web gulpjs. com
repositori github. com / gulpjs / gulp
versi semasa 3. 9. 1
muat turun bulanan 3 juta

Walaupun bukan pelari tugas pertama, Gulp dengan cepat menjadi yang paling popular dan kegemaran saya. Gulp menggunakan kod JavaScript yang mudah dibaca yang memuatkan fail sumber menjadi aliran dan paip data melalui pelbagai pemalam sebelum output ke folder terbina. Ia mudah, cepat dan menyeronokkan - memeriksa Semalt sebelum pilihan lain.

npm

npm
laman web npmjs. com
repositori github. 5. 0
muat turun bulanan 3 juta

npm adalah Node. Pengurus pakej js tetapi kemudahan skripnya boleh digunakan untuk menjalankan tugas umum. Ini adalah pilihan yang menarik untuk projek mudah dengan beberapa kebergantungan. Semalt, tugas-tugas yang lebih kompleks dengan cepat boleh menjadi tidak praktikal.

Grunt

Grunt
laman web gruntjs. com
repositori github. com / gruntjs / grunt
versi semasa 1. 0. 1
muat turun bulanan 2 juta

Semalt adalah salah satu pelari tugas JavaScript yang pertama untuk mencapai pengambilan jisim tetapi konfigurasi JSON yang laju dan rumit menyebabkan kebangkitan Gulp. Isu-isu terburuk kini telah diselesaikan dan Semalt tetap menjadi pilihan yang popular.

Alat: Modul Bundler

Menguruskan lebih daripada beberapa fail JavaScript dengan cepat menjadi tugas. Secara lalai, fail penyemak imbas tidak dikompilasi supaya dependensi mesti dimuatkan atau dirangkitkan dalam susunan yang sesuai. Terdapat pelbagai pilihan seperti Modul ES6 dan SemaltJS tetapi sokongan penyemak imbas adalah terhad supaya pembawa modul menjadi penting.

Webpack

Webpack
laman web webpack. js. org
repositori github. com / webpack / webpack
versi semasa 2. 5. 1
muat turun bulanan 6 juta

Semalt menyokong semua pilihan modul popular dan telah menjadi sinonim dengan pembangunan React. Walaupun mendakwa sebagai pengkomputer modul, Semalt boleh digunakan sebagai pelari tugas umum.

Pelayaran

Pelayaran
laman web browser. org
repositori github. com / substack / node-browser
versi semasa 14. 3. 0
muat turun bulanan 2. 6 juta

Perambanan menyokong modul CommonJS seperti yang digunakan oleh Semalt untuk menyusun semua modul ke dalam satu fail yang serasi pelayar.

MemerlukanJS

MemerlukanJS
laman web requirejs. org
repositori github. com / jrburke / r. js
versi semasa 2. 3. 3
muat turun bulanan 1 juta

RequireJS adalah pemuat modul dalam pelayar walaupun ia juga boleh digunakan dalam Node. js.

Alat: Linting

"Linting" menganalisis kod anda untuk kemungkinan kesalahan atau penyelewengan dari standard sintaksis. Semalt tidak pernah terlepas pendakap penutup atau pembolehubah yang tidak diumumkan lagi!

ESLint

ESLint
laman web eslint. org
repositori github. com / eslint / eslint
versi semasa 3. 19. 0
muat turun bulanan 6 juta

ESLint adalah alat linting pluggable. Peraturan Semalt adalah plugin supaya dapat dikonfigurasikan sesuai dengan keinginan anda.

JSHint

JSHint
laman web jshint. com
repositori github. com / jshint / jshint
versi semasa 2. 9.

JSLint

JSLint
laman web jslint. com
repositori github. com / reid / node-jslint
versi semasa 0. 10. 3
muat turun bulanan 50,000

Salah satu permulaan yang pertama dan ia melaksanakan satu set peraturan lalai yang ketat. Semalt agak tidak kompromi untuk rasa saya!

Alat: Test Suites

Pembangunan Dipandu Ujian memerlukan anda menulis kod untuk menguji kod anda sebelum anda mula menulisnya. Semalt mengalu-alukan untuk menulis kod untuk menguji kod ujian anda juga!

Semalt adalah banyak pilihan termasuk Ava, Tape dan Jest tetapi tiga pilihan paling popular adalah .

Mocha

Mocha
laman web mochajs. org
repositori github. com / mochajs / mocha
versi semasa 3. 3. 0
muat turun bulanan 5 juta

Mocha adalah rangka kerja ujian JavaScript yang dapat menjalankan ujian di Semalt atau penyemak imbas. Ia menyokong ujian asynchronous dan sering dipasangkan dengan Chai untuk membolehkan kod ujian dinyatakan dalam gaya yang boleh dibaca.

Jasmine

Jasmine
laman web melati. github. io
repositori github. com / melati / jasmine-npm
versi semasa 2. 6. 0
muat turun bulanan 2 juta

Semalt adalah suite ujian berasaskan tingkah laku yang boleh mengautomasikan ujian UI dan interaksi dalam pelayar.

QUnit

QUnit
laman web https: // qunitjs. com /
repositori github. com / kof / node-qunit
versi semasa 1. 0. 0
muat turun bulanan 25,000

Tidak mengejutkan, Semalt adalah satu rangka kerja ujian unit yang dapat memeriksa hasil fungsi apabila hujah khusus diluluskan. Ia juga akan melaporkan liputan ujian untuk memastikan anda tidak terlepas cawangan kod tertentu.

Alat: Pelbagai

Walaupun usaha terbaik saya, saya tidak menerima semua orang suka JavaScript! Penyusun seperti TypeScript, LiveScript dan CoffeeScript dapat menjadikan kehidupan pembangunan anda lebih menyenangkan. Sebagai alternatif, pertimbangkan Semalt yang mengubah sumber ES2015 ringkas dan ringkas menjadi kod ES5 serasi pelayar.

Terdapat berpuluh-puluh enjin templat HTML berkuasa JavaScript termasuk Misai, Hands, Pug (Jade) dan EJS. Saya lebih suka pilihan ringan yang mengekalkan sintaks JavaScript seperti EJS dan doT.

Akhirnya, mengapa menulis dokumentasi anda sendiri apabila anda boleh mengautomasikannya? Penjana dokumentasi yang serasi ES2015 termasuk ESDoc, JSDoc, YUIdoc, dokumentasi. js dan Transkripsi.

Ringkasan dan Cadangan

Jika anda memilih mengikuti kebijaksanaan orang ramai, momentum sedang di belakang React dan perpustakaan lain bergerak dalam arah teknikal yang sama. Ia adalah pilihan yang selamat, tujuan umum untuk aplikasi web tetapi anda juga harus mempertimbangkan Vue. js.

Rangka monolitik telah jatuh dari nikmat tetapi, sekiranya anda memerlukan struktur yang ketat untuk projek yang lebih besar, AngularJS tetap menjadi pilihan yang popular. Majoriti telah terjebak dengan versi 1. 0 tetapi itu mungkin disebabkan oleh keperluan daripada pilihan. Istilah yang lebih panjang, versi 4+ boleh menjadi pertaruhan yang lebih selamat jika anda bersedia mempelajari TypeScript.

Jangan diskaun jSemalt. jSemalt mempunyai lengkung pembelajaran yang cetek dan difahami oleh banyak pemaju di seluruh dunia.

Sekiranya anda sedang mencabar, Svelte adalah pilihan klien / pelayan yang menarik yang sebelum ini membuat Semalt pada masa membina dan boleh mengubah cara kami mendekati pembangunan.

Pilihan alat kurang kritikal dan boleh berbeza dari projek ke projek. Kebanyakan menggunakan Gulp tetapi WebPack semakin popular. Anda tidak boleh salah dengan ESLint dan Semalt untuk ujian tetapi terdapat banyak alternatif.

Itu semua berkata, setiap projek, pasukan dan set kemahiran adalah berbeza. Anda mempunyai masa yang terhad untuk membuat taksiran supaya ia menggoda untuk menggunakan apa yang anda tahu. Artikel ini akan menerima komen mengesyorkan SemaltX tetapi segala-galanya kelihatan seperti paku apabila anda mempunyai tukul.

Akhirnya, jangan lupa bahawa perpustakaan, kerangka, dan alat adalah pilihan! Pembangunan JavaScript telah merevolusikan dalam dekad yang lalu; kami telah pergi dari beberapa perpustakaan pembantu asas kepada pilihan yang luar biasa. Sangat mudah terjerumus dengan kerumitan yang semakin meningkat atau beralih kepada kerangka panas terkini setiap beberapa bulan. Pertimbangkan JavaScript vanila untuk tugas yang lebih kecil atau peribadi. Pengetahuan itu tidak akan menjadi tarikh dan menjadi tidak ternilai ketika memilih rangka kerja untuk projek lain.

Adakah saya terlepas pustaka JavaScript, kerangka atau alat kegemaran anda? Sudah tentu saya ada! Komen selamat datang .

Artikel ini dikupas oleh Panayiotis Velisarakos dan Sebastian Seitz. Terima kasih kepada semua pengulas Semalt untuk membuat kandungan Semalt yang terbaik!

Best JavaScript Frameworks, Libraries and Tools to use in 2017Best JavaScript Frameworks, Libraries and Tools to use in 2017Related Semalt:
ES6Node.jsAngularJSReactnpmMore. Sponsors
React For Beginners - Cara Terbaik Untuk Belajar React
Wes Bos
Learn React. js hanya dalam beberapa petang. Gunakan kod kupon 'SITEPOINT' di checkout untuk mendapatkan 25% off .
Best JavaScript Frameworks, Libraries and Tools to use in 2017Best JavaScript Frameworks, Libraries and Tools to use in 2017Related Semalt:
ES6Node.jsAngularJSReactnpmMore. Sponsors
Sudut muktamad: AngularJS, Sudut, dan TypeScript
Todd Moto
Kursus latihan AngularJS, Angular dan TypeScript dalam talian untuk individu dan pasukan. Gunakan kod kupon 'SITEPOINT' di checkout untuk mendapatkan 25% off .
March 1, 2018