Bahasa JavaScript telah mengalami perjalanan yang mengasyikkan sejauh ini. Sepuluh tahun yang lalu sepertinya semuanya harus dibangun dengan JavaScript. Pelepasan jQuery dan Chrome adalah katalisatornya
Komite TC39 selalu memainkan peran besar. Dengan menstandarkan bahasa dan merancang spesifikasi baru, itu telah menjadikannya seperti sekarang ini
Namun, enam tahun telah berlalu sejak ES6/ES2015 dirilis. Kecenderungan tentang satu bahasa — JavaScript — untuk mengatur seluruh tumpukan kini hilang. Bagaimana pengaruhnya terhadap JavaScript?
Pada artikel ini, kita akan melihat masa lalu, sekarang, dan masa depan bahasa. Mudah-mudahan itu akan memberi kita gambaran tentang ke mana tujuan kita
Popularitas Hadiah JavaScript
Tidak ada metrik absolut untuk mengukur popularitas suatu bahasa. Namun, yang bisa kita lakukan adalah melihat berbagai indikator dan membuat kesimpulan sendiri
- Penggunaan Repositori di GitHub
- Indeks TIOBE
- Daftar Pekerjaan
- Wawasan StackOverflow
- Survei
Sebagian besar metrik saat ini mencerminkan dominasi JavaScript saat ini. Ini telah menjadi bahasa yang paling banyak digunakan di GitHub pada tahun 2021
Jika kita melihat daftar pekerjaan, JavaScript masih banyak diminati. Itu memegang tempat nomor 1 di 'Top 11 Programming Languages' yang terdaftar di Memang
Itu juga disukai oleh pengembang seperti yang bisa kita lihat dalam survei yang diadakan oleh StackOverflow
Teks dari wawasan. stackoverflow. com
Bahasa Teratas sepanjang tahun di oktoverse. github. com
Namun, semuanya tidak begitu cerah. Ini memiliki peringkat "rendah" dalam indeks TIOBE. Bagaimana indeks itu dihitung?
Pengaruh JavaScript sedang terkikis
Kami berasal dari era di mana JavaScript digunakan di mana-mana. Sifat aslinya sekarang membentuk masa depannya. Kami melihat JavaScript terkikis di mana ia tidak bersinar atau mengungguli
Sisi server
Node. Ledakan js sebagian dipicu oleh kegembiraan memiliki JavaScript di mana-mana. Mengurangi tumpukan bahasa dapat memberikan manfaat seperti pengembang tunggal yang bekerja di seluruh aplikasi
Node. js telah berjalan jauh dan mencoba memecahkan masalah seperti multithreading dengan menambahkan fitur baru seperti modul worker_threads
. Namun, itu tetap dibangun di atas mesin JavaScript V8 Chrome. Karakteristiknya yang ringan menjadikannya ideal untuk layanan mikro dan aplikasi backend dengan efisiensi tinggi. Ini juga cocok untuk Lambdas yang masih menjadi salah satu bahasa yang paling banyak digunakan
Namun, Node. js memiliki beberapa masalah. Ini adalah platform kompleks yang menjadi sangat menantang untuk ditingkatkan dan dipelihara. Penciptanya sendiri meninggalkan proyek dan memulai Deno. Ditulis dalam Rust, Deno mendapat banyak hype awal. Namun, itu belum diambil alih dan masih membutuhkan waktu untuk matang
Apa artinya ini untuk Node.js?. js di backend? . js akan terus dipersempit ke penggunaannya yang lebih cocok. Bahasa seperti Python mengambil alih kekosongan itu dan meroket. Sekarang bahasa masuk yang digunakan oleh startup
Perkakas infrastruktur
Perkakas JavaScript sedang bergeser. Ini bukan 100% JavaScript lagi. Kami melihat bagaimana bahasa pemrograman Rust menjadi bagian penting dari proyek JavaScript baru
Proyek Deno dan SWC termasuk yang paling populer. SWC adalah pesaing Webpack. Tujuannya adalah untuk mengkompilasi dan membangun file JavaScript/TypeScript untuk didukung di browser utama
SWC 20x lebih cepat dari Babel pada satu utas dan 70x lebih cepat pada empat core
Pemaketnya masih belum siap produksi tetapi Anda dapat menggunakannya melalui swc-loader
di Webpack. Itu bukan satu-satunya yang mencoba menyanggah Babel dan Webpack. Proyek ESBuild berbasis bahasa telah dibangun dengan tujuan yang sama. Ada alat lain seperti Roma yang sekarang sedang ditulis ulang sepenuhnya di Rust
Alat JavaScript masa depan tidak ada dalam bahasa JavaScript. Kita bisa melihat pergeseran di pertengahan jalan untuk memanfaatkan alat canggih tersebut. Tidak ada manfaat nyata dalam mempertahankan utilitas JavaScript saat kinerjanya sangat baik. Itu adalah hal yang buruk? . Kami dapat fokus untuk menghasilkan kode berkualitas
Majelis Web
Majelis Web memungkinkan hal-hal yang tidak dapat dilakukan dengan JavaScript. Ini memungkinkan kita untuk menjalankan kode yang dikompilasi di Browser. Ini memecahkan beberapa kelemahan JavaScript. pengetikan, kinerja, dan keamanan
Itu bukan berita buruk. Majelis Web tidak akan menggantikan JavaScript tetapi melengkapinya. Ini akan memberdayakan pengalaman web yang tidak dapat dilakukan sebelumnya. Itu memungkinkan Adobe untuk membuat Aplikasi Photoshop Beta yang telah lama diinginkan
Jadi kita akan melihat bahwa untuk melihat kumpulan aplikasi web yang berbeda. Sebagian besar masih menggunakan JavaScript untuk tata letak dan interaktivitas. Jadi Web Assembly mungkin benar-benar memperluas jangkauan Web
Tulis sekali, jalankan di mana-mana
Tren ini masih panas. Kerangka masuk telah menjadi kerangka kerja Bereaksi selama bertahun-tahun. Itu matang dan memiliki komunitas besar di belakangnya
Namun, kami telah melihat bagaimana Flutter dan bahasa Dart-nya mendapatkan banyak daya tarik
Teks dari wawasan. stackoverflow. com/tren
Framework Flutter lebih efisien dan berperforma lebih baik daripada React di perangkat seluler. Itu juga mampu menyediakan aplikasi web. Fakta bahwa ada sedikit daftar pekerjaan mencegahnya tumbuh lebih cepat. Tapi itu hanya masalah waktu sebelum tren itu berbalik. Kepuasan developer secara keseluruhan tampaknya lebih tinggi di antara pengguna Flutter. Kerangka kerja memiliki kumpulan abstraksi yang lebih luas dan lebih baik. Ini juga tidak menyakitkan untuk ditingkatkan
Jadi, apakah React Native akan hilang?
Tidak terlalu
Pengembangan React bergeser setelah rilis 18. Ini akan dianggap lebih seperti platform daripada kerangka web. Artinya, dengan mempelajari React, Anda dapat menerapkannya ke platform apa pun yang mereka dukung
Masa Depan JavaScript
Sayangnya, beberapa topik hangat seperti Crypto, VR, AI belum dipasangkan dengan JavaScript. Mengapa? . JavaScript tidak terlalu cocok untuk VR atau AI. Beberapa bahasa yang lebih baru — seperti Solidity — dibangun dengan satu tujuan saja. Kontrak Cerdas
Namun, JavaScript mungkin masih mendapat manfaat dari teknologi baru. Bahkan jika ruang Crypto tidak terikat dengan JavaScript, teknologinya masih digunakan untuk membawa desentralisasi ke web. Kami baru saja memasuki era Web3 baru. Proyek baru terus muncul setiap hari. Tren ini berpotensi menjadi masif
JavaScript semakin jarang digunakan dalam bentuknya yang paling murni. TypeScript sudah mulai mengambil alih. Itu telah membuktikan betapa kuat dan bermanfaatnya itu. Ini adalah bahasa default di banyak proyek dan kerangka kerja. Misalnya, Deno memberikan dukungan warga kelas satu untuk TypeScript
Bahasa Teratas selama tahun oktoverse. github. com
Kita dapat melihat pada grafik di atas bagaimana bahasa ini sekarang menjadi bahasa terpopuler keempat menurut laporan Octoverse. Kami dengan cepat beralih ke tren TypeScript di mana-mana
TypeScript sangat populer sehingga sudah memiliki pesaing yang populer. Variasi baru. Ini adalah bahasa baru yang dibangun di atas subset JavaScript yang dikurasi. Ini memiliki banyak keuntungan seperti menyediakan kode JavaScript yang dapat dibaca manusia secara efisien, dan kompiler yang cepat. Masih harus dilihat apakah akan diadopsi secara luas atau dilupakan begitu saja
Kesimpulan
Ada desas-desus setiap tahun, masing-masing menceritakan kisah tentang bagaimana JavaScript akan menghilang. Klaim tersebut terus dibantah dari tahun ke tahun. Bahkan jika masa depannya sekarang terlihat sedikit lebih bergelombang dari sebelumnya, itu hanya bagaimana kemajuan bekerja
Tidak jelas apakah JavaScript akan tetap relevan di ranah asli seluler. Flutter memiliki banyak keunggulan utama dibandingkan JavaScript. Apa pun yang terjadi, tim React Native diharapkan untuk melawan
Bahkan jika kehadirannya mungkin berkurang dalam waktu dekat, JavaScript tidak akan kemana-mana. Kami dapat meramalkan masa depan di mana JavaScript semakin terbatas pada Web. Itu diharapkan karena itu adalah tempat di mana ia benar-benar bersinar
Ini memiliki potensi untuk mendapatkan keuntungan dari teknologi seperti Crypto dan Web Assembly. Alih-alih bersaing dengan JavaScript, bahasa pemrograman lain akan melengkapinya. Mereka membantu membuat Web menjadi ekosistem yang lebih menarik
Bangun aplikasi web yang dapat disusun
Jangan membangun monolit web. Gunakan Bit untuk membuat dan menyusun komponen perangkat lunak yang dipisahkan — dalam kerangka kerja favorit Anda seperti React atau Node. Bangun frontend dan backend yang dapat diskalakan dengan pengalaman dev yang kuat dan menyenangkan
Bawa tim Anda ke Bit Cloud untuk menghosting dan berkolaborasi pada komponen bersama-sama, dan sangat mempercepat, menskalakan, dan menstandarkan pengembangan sebagai sebuah tim. Mulai dengan frontend yang dapat dikomposisi seperti Sistem Desain atau Frontend Mikro, atau jelajahi backend yang dapat dikomposisi. Cobalah →