Github.com menolak untuk menggunakan jQuery dan beralih ke JavaScript murni

Mislav Marohniฤ‡ hari ini mengumumkan bahwa pengembang Github menyingkirkan jQuery di ujung depan GitHub.com. Tampaknya tidak ada yang luar biasa dalam kenyataan ini, jika bukan karena satu hal yang menarik.

Masalah memilih kerangka kerja baru untuk frontend diselesaikan secara radikal - diputuskan untuk dilakukan tanpa kerangka kerja pada prinsipnya. Sebagai gantinya, alat-alat berikut digunakan:

  • querySelectorAll (yang seharusnya terinspirasi oleh jQuery sekaligus),
  • ambil untuk bekerja dengan AJAX,
  • acara yang didelegasikan untuk menangani acara,
  • polyfill untuk bekerja dengan DOM,
  • elemen khusus yang sedang naik daun.

Selain Elemen Kustom , diputuskan untuk tidak menggunakan hal lain dari Komponen Web . Pengembang melihat Shadow DOM dan tidak keberatan menggunakan itu - namun, karena fakta bahwa kecepatan pencarian di DOM meninggalkan banyak hal yang diinginkan untuk polyfill, mereka harus menunda usaha ini untuk saat ini.

Mengapa pada dasarnya pengembang perlu melakukan semua ini? Menurut mereka , untuk "memberi" pengunjung lebih sedikit kilobyte, untuk dapat menggunakan sintaksis yang lebih eksplisit untuk melakukan manipulasi dengan DOM, dan juga demi dapat menggunakan perpustakaan Flow.JS untuk analisis tipe statis. Menurut pengembang, proses keluar jQuery membutuhkan waktu bertahun-tahun.

gambar

Eddie Osmani dari tim Google Chrome menghargai kecepatan cepat dan memuat versi baru situs

Plugin jquery-pjax digantikan oleh vanilla pjax , yang dirancang khusus untuk Github, dilengkapi dengan perbaikan dan terkait erat dengan basis kode - sayangnya, kode versi perpustakaan yang digunakan oleh Github tidak mungkin terbuka karena kesulitan mendukungnya di masa depan.

Omong-omong, Github menempatkan banyak komponen webnya di open source - Anda dapat melihatnya dengan referensi , di masa depan daftar akan diperluas. Untuk browser yang tidak memiliki dukungan pengambilan asli, Github telah menulis polyfill sendiri; untuk mendelegasikan acara, perpustakaan acara yang didelegasikan digunakan. Kedua perpustakaan tersedia di bawah lisensi MIT.

Source: https://habr.com/ru/post/id418257/


All Articles