20 Kerangka Kerja JavaScript Gratis Terbaik untuk Pengembang Web 2022
Diterbitkan: 2022-01-05Kerangka kerja JavaScript mana yang digunakan dan mengapa? Kami akan mencari tahu!
Komunitas JavaScript baru-baru ini mengalami beberapa perubahan besar. ECMAScript 2021 akhirnya distandarisasi dan diterbitkan, dan sebagian besar kompiler dan browser web populer bekerja keras untuk beradaptasi dengan perubahan dan peraturan baru. Untuk sepenuhnya memahami pembaruan besar seperti itu (pembaruan ES terakhir pada tahun 2009), Anda perlu membenamkan diri dalam panduan langkah demi langkah yang solid yang membahas semua aspek standar baru. Dan panduan terbaik yang dapat kami temukan berasal dari Lars Kappert, yang membagikan daftar perubahan ES6-nya di Smashing Mag.
Dalam hal menerapkan fitur ECMAScript 2021 ke dalam browser itu sendiri, Mozilla Firefox dan Google Chrome saat ini memimpin paket untuk diikuti semua orang. Tetapi JavaScript lebih dari sekadar standar, beberapa aplikasi dan platform hebat telah dibuat dan dipublikasikan untuk publik tahun ini, salah satu yang terbaru adalah OS.js — platform cloud yang berfungsi penuh yang mengintegrasikan fitur Komputer Desktop di dalam browser.
JavaScript berkembang pesat, menjadi lebih asli, tetapi yang terpenting — menjadi lebih stabil. Jumlah kerangka kerja pengembangan web yang masuk ke ranah JavaScript dalam beberapa tahun terakhir telah meningkat pesat. Banyak kerangka kerja telah membentuk komunitas besar di sekitar mereka, Angular, Meteor, dan React, untuk beberapa nama. Dalam posting hari ini, kita akan melihat lebih dekat kerangka kerja JavaScript paling populer saat ini. Kami sangat yakin bahwa kerangka kerja ini akan mengalami banyak pertumbuhan, keterlibatan, dan keterpaparan. Maukah Anda berbagi pengalaman pribadi Anda dengan kerangka kerja yang telah Anda gunakan dari daftar kami, karena kami ingin mendengar lebih banyak masukan tentang kasus penggunaan untuk setiap kerangka kerja?
Kerangka Kerja JavaScript Reaktif
Pengembangan web reaktif adalah tentang daya tanggap, ketahanan, skalabilitas, dan akurasi. Kami ingin membangun aplikasi dan perangkat lunak yang responsif terhadap tuntutan waktu nyata yang dibebankan pada mereka. Kami juga ingin sistem kami tahan terhadap kinerja puncak atau tuntutan dari sumber yang tidak diketahui. Selain itu, kami ingin proyek kami dapat diskalakan untuk dengan mudah meningkatkan atau menurunkan perangkat lunak kami untuk kinerja yang optimal ketika saatnya tiba. Kerangka kerja JavaScript berikut telah dibuat dengan mempertimbangkan pengembangan web reaktif. Kami berharap dapat mendengar tentang lebih banyak kerangka kerja seperti itu yang mungkin kami tinggalkan dari daftar khusus ini.
Webix adalah kerangka kerja UI JavaScript multi-widget yang berfokus pada pengembangan web lintas platform. Ini berisi 100+ widget UI dan kontrol JavaScript CSS / HTML5 berfitur lengkap. Webix menawarkan koleksi template dan widget kompleks siap pakai yang membantu mempercepat pengembangan aplikasi web bisnis. Library ini menyediakan alat Skin Builder dan 5 skin siap pakai yang memastikan desain UX yang responsif. Perpustakaan menonjol karena desainer Visualnya. Ini berfungsi untuk kebutuhan analisis bisnis dan memungkinkan pembuatan prototipe UI cepat. Selain itu, perpustakaan berisi Webix Jet – kerangka kerja mikro sumber terbuka gratis untuk membuat aplikasi satu halaman yang bekerja dengan volume data yang besar. Webix mudah diintegrasikan dengan kerangka kerja JS lain seperti Angular, React, Vue.js, dan Meteor.
Dengan MobX Anda akan dapat mulai mengamati struktur data Anda, sementara juga memiliki kemampuan untuk membuat fungsi Anda reaktif. Itu berarti mereka akan menilai kembali diri mereka sendiri setiap kali data diubah secara real-time. Ambil setiap bagian data dari struktur Anda dan ubah menjadi baris terpisah, lalu ubah fungsi Anda menjadi formula yang diperbarui secara otomatis. Misi MobX adalah untuk membantu pengembang tampilan sederhana dan efektif yang selalu sepenuhnya dirender, tanpa perlu tambahan lemak yang mungkin dibawa oleh kerangka kerja full-render lainnya ke meja.
Mahatahu menyediakan pengembang dengan fitur dan alat untuk membangun UI fungsional berdasarkan komponen yang jelas; memungkinkan model pengembangan yang lebih statis. Sangat mirip dengan pengembangan web statis yang akan kita lakukan dalam HTML, tetapi Mahatahu memungkinkan fitur pemrograman. Anda masih dapat memanipulasi Tampilan Anda agar fasih, hanya tanpa perlu bekerja dengan hal-hal seperti mesin templating, atau bahasa khusus domain. Mahatahu mendorong komponen kecil yang dapat dikomposisi, dan fungsionalitas bersama melalui mixin.
Menganimasikan objek dan elemen terjadi lebih mudah daripada yang Anda pikirkan saat memanfaatkan kekuatan Anime.js. Ini adalah pustaka animasi yang ringan dan mudah digunakan untuk JavaScript dengan API yang fleksibel. Meskipun animasi yang Anda rencanakan untuk disertakan rumit, Anime.js menyederhanakan banyak hal untuk kenyamanan Anda. Menakjubkan, transformasi CSS berlapis, kontrol, panggilan balik, sebut saja, Anime.js mencakupnya. Singkatnya, dengan perpustakaan yang banyak akal ini, Anda dapat menganimasikan hampir semua hal yang diinginkan hati Anda. Juga, Anda mendapatkan dokumentasi dan contoh berbeda untuk aliran eksekusi yang mudah. Anda dapat melihat pratinjau semua sampel terlebih dahulu dan pergi dari sana untuk mendapatkan informasi Anda. Unduh dan gunakan Anime.js untuk segera digunakan.
Chart.js sepenuhnya open-source, menyambut kontributor kapan saja untuk membawa charting JavaScript ini ke tingkat berikutnya. Seperti namanya, Chart.js akan membantu Anda membuat semua jenis bagan untuk proyek Anda. Mencampur grafik yang berbeda, skala kustom, transisi animasi, daftar fitur berjalan. Dalam bundel, Anda mendapatkan delapan gaya bagan yang berbeda untuk presentasi yang indah. Ubah statistik membosankan dan informasi lainnya menjadi produk akhir yang menarik secara visual yang menghiasi aplikasi Anda dengan indah. Perlu diingat, semua yang Anda rencanakan untuk dibuat juga akan responsif dan fleksibel. Berbagai sampel tersedia untuk dipratinjau dan lebih memahami apa yang mungkin dilakukan dengan Chart.js.
Memformat konten teks input secara otomatis terjadi dengan cepat dan mudah dengan Cleave.js. Saat bekerja dengan pustaka JavaScript ini, Anda tidak perlu menjalani membangun semuanya dari awal yang membosankan. Tentu saja, Anda masih perlu memvalidasi data di back-end agar berfungsi dengan baik. Selain itu, beberapa fitur pemformatan Cleave.js adalah nomor kartu kredit, tanggal, nomor telepon, angka, pembatas khusus, dan waktu, untuk beberapa nama. Anda juga dapat menggunakannya untuk berbagai opsi kustom, yang memperluas kemungkinan Cleave.js lebih jauh. Dapatkan seluruh proses instalasi dan dokumentasi di GitHub.
Jika Anda mencari tooltips dan pop-overs, Anda sebaiknya membiarkan Popper melakukan kerja keras untuk Anda. Dengan alat ini, Anda dapat menghindari kerumitan memposisikan elemen UI yang mengapung di dekat elemen target. Dengan tooltip, Anda juga dapat menggunakan Popper untuk pop-over, drop-down dan variasi lainnya. Selain itu, Popper bekerja dengan sempurna dengan Bootstrap, Material UI, React, Angular, Foundation, dll. Ini beroperasi bersamaan dengan elemen Anda yang lain, ringan dan menghemat banyak waktu dan energi. Pelajari tentang proses instalasi dan beri tahu diri Anda tentang detail lainnya untuk mendapatkan intinya sebelum Anda berkomitmen penuh.
Ractive telah ada untuk sementara waktu. Banyak situs web terkemuka di Dunia telah menggunakan fungsionalitas aslinya untuk membangun komponen Antarmuka Pengguna berorientasi template yang mendukung fitur dan fleksibilitas JavaScript. Membuat aplikasi interaktif seperti pengalaman dalam browser bukanlah tugas yang mudah, tidak pernah, tetapi Ractive adalah salah satu kerangka kerja langka yang membantu menjembatani kesenjangan ini dan membantu membangun pengalaman yang lebih mulus. Eugene Mirotin dari Toptal mendalami kemampuan Ractive dan mengeksplorasi proses membangun aplikasi yang sederhana, reaktif, dan interaktif.
React telah menjadi pemberi pengaruh besar untuk sebagian besar kerangka kerja JavaScript reaktif yang kita lihat di Dunia pengembangan saat ini, dan Riot.js tidak terkecuali. Dengan kata mereka sendiri, Riot.js adalah perpustakaan UI berbasis React yang berfokus pada fungsi mikro. Streamdata telah mengeksplorasi pendekatan ini dengan sangat rinci di blog mereka. (Setelah Anda selesai dengan artikel itu, gulir ke bawah untuk mempelajari lebih banyak konten Riot.js yang telah mereka terbitkan!) Riot.js dikelola oleh para pengembang di Muut — salah satu platform diskusi paling menonjol yang pernah kami lihat to date, yang juga super-reaktif dan interaktif, jadi harapkan jenis kinerja yang sama di aplikasi Anda setelah Anda mulai menggunakan fungsionalitas Riot di proyek Anda.
Mithril menonjol dengan ukuran perpustakaannya yang fleksibel (7kb), serta dokumentasi proaktif yang terus diperbarui dengan konteks dan pendekatan baru seiring dengan kemajuan perpustakaan itu sendiri dalam proses pengembangan. Dibandingkan dengan kerangka kerja JavaScript terkenal lainnya, tolok ukurnya mengejutkan dan akan membuat Anda tertarik untuk mencobanya.
Vue.js sangat sederhana dalam hal menggambarkan dirinya sebagai kerangka kerja. Ia lebih suka menggunakan istilah 'perpustakaan' yang kemudian dikombinasikan dengan alat lain dapat diubah menjadi kerangka kerja yang berfungsi penuh. Vue adalah untuk mengembangkan dan membuat antarmuka web yang modern dan ramping. Sampai baru-baru ini, itu masih merupakan proyek beta, tetapi Oktober 2015 menandai dirilisnya V1 yang berarti bahwa Vue siap untuk pengembangan dunia nyata, dan begitu banyak yang sudah berbagi wawasan dan pengalaman mereka dengan kerangka kerja. Jika Anda suka membuat kode yang masuk akal sejak Anda melihatnya, maka Vue patut dicoba.
Kerangka Kerja JavaScript MVC
MVC adalah pendekatan perangkat lunak yang memisahkan logika aplikasi dari presentasi. Dalam praktiknya, ini memungkinkan halaman web Anda berisi skrip minimal karena presentasinya terpisah dari skrip PHP. Kerangka kerja MVC yang akan kita lihat sebentar lagi telah berkembang pesat selama bertahun-tahun, dan sebagian besar menyediakan fitur yang memungkinkan pengembangan aplikasi seluler tanpa hambatan.
Kerangka kerja web seperti Angular (yang akan segera hadir di V2) dan React telah mengubah lanskap pengembangan web menjadi lebih baik, dan begitu banyak kegembiraan tersembunyi dalam antisipasi apa yang akan datang.
Dalam beberapa tahun terakhir, kerangka kerja pengembangan web Google Angular yang selalu populer telah meledak dengan popularitas. Ini terus memberikan landasan dasar yang kuat bagi pengembang yang bekerja secara ketat dengan standar dan kemampuan industri terbaru. Angular.js menyediakan serangkaian fitur pengembangan dan desain modern untuk pengembangan aplikasi yang cepat. Google telah melangkah lebih jauh dengan membuat bagian terpisah dari situs yang menawarkan spesifikasi Desain Material untuk membantu Anda membangun aplikasi yang tetap berhubungan dengan pendekatan paling modern yang ada.
Angular 2 mendekati rilis BETA pertama, yang dapat Anda pelajari lebih lanjut di pos terbaru dari tim pengembang Angular. Dan karena sifat kerangka kerja Angular yang ekstensif, Angular sepenuhnya mendukung pustaka dan plugin yang dapat diperpanjang.

Dengan jenis umur yang sudah dimiliki proyek ini, bahkan mereka yang hidup di bawah batu akan pernah mendengar tentang jQuery sebelumnya. Kapan pun seseorang ingin memperluas situs web mereka (atau halaman seluler) dan membuatnya lebih interaktif; mereka mengandalkan fungsionalitas jQuery. Pustaka kecil ini mengubah seluruh web menjadi pengalaman yang sepenuhnya interaktif dan menghibur, dengan 70%+ situs web terkemuka dunia yang dilaporkan terkait dengan jQuery. Plugin dan widget jQuery adalah salah satu komponen yang paling banyak dicari dalam orbit pengembang front-end.
Perusahaan seperti WordPress, Google, IBM, dan banyak lainnya mengandalkan jQuery untuk memberikan pengalaman penjelajahan web yang unik kepada stafnya dan tentu saja lautan luas pengguna internet. jQuery juga sepenuhnya sesuai dengan perangkat seluler, dan memiliki perpustakaan jQuery Mobile terpisah untuk menangani semua hal seluler.
React adalah permata mahkota terbaru dari orbit pemrograman web, bahkan pengguna Angular.js yang religius telah beralih ke React karena memungkinkan pengembangan front-end yang lebih mulus tanpa perlu tenggelam dalam kompleksitas kerangka kerja front-end. Ini adalah pustaka JavaScript yang dikelola Facebook, dan bidang keahlian utama di balik React adalah membantu pengembang mengimplementasikan DOM Virtual; alih-alih menampilkan nilai yang disebut DOM Virtual. Pengembang sekarang membedakan DOM Virtual dengan status DOM saat ini, yang menghasilkan daftar operasi DOM yang akan membuat DOM saat ini terlihat seperti yang baru. Mereka dengan cepat menerapkan operasi ini dalam batch.
Dalam hal popularitas, pengembang baru-baru ini menerbitkan temuan menarik antara statistik lalu lintas dari sub-reddit r/React dan r/Angular di Reddit — dan keduanya tampaknya mendapatkan volume lalu lintas yang sama setiap hari sekarang, yang berarti bahwa React telah benar-benar terjebak dengan Angular dalam lebih dari satu cara.
Socket memperoleh banyak momentum di komunitas pengembang waktu nyata. Dengan Socket Anda dapat menikmati komunikasi real-time yang berfungsi penuh antara klien dan server. Para pengembang membagi Socket menjadi dua bagian yang berbeda. Mereka membangun bagian pertama, yaitu pustaka klien, untuk dijalankan dari browser. Sebaliknya, mereka membangun yang kedua, yang merupakan perpustakaan server di atas Node.js. Kedua perpustakaan berbagi API yang sangat mirip, dan mereka juga membuat Socket-event-driven; sangat mirip dengan Node.js. Dengan Socket, Anda dapat menerapkan streaming biner, platform pesan instan, dan kolaborasi dokumen interaktif secara real-time. Anda juga dapat memiliki statistik waktu nyata untuk aplikasi dan proyek Anda (analitik), dan banyak lagi.
Microsoft Office mengandalkan Socket untuk menyediakan sebagian besar fungsionalitas real-time, seperti halnya Yammer. Socket bekerja dengan protokol WebSocket untuk memberikan pengalaman yang transparan.
Proyek Polimer Google tidak hanya membumbui dengan Desain Material. Kerangka kerja JavaScript ini adalah tentang desain web yang cepat dan modern melalui kemampuan untuk membuat dan menggunakan kembali komponen web. Proyek ini menghabiskan waktu lama dalam rilis BETA. Tahun lalu, kami melihat rilis pertama dari V1 dan proyek ini telah berkembang pesat sejak saat itu.
Sementara banyak yang masih bertanya-tanya apa perbedaan sebenarnya antara Polymer dan Angular (karena keduanya memiliki banyak kesamaan seperti sintaks kode dan fitur desain), kami tahu pasti bahwa Polymer menghadirkan pengalaman pengembangan jenis baru yang akan mendorong sisa industri menjadi pendekatan pengembangan berbasis komponen web modern.
Node.js sangat mungkin menjadi kerangka kerja paling kuat yang telah kita lihat sejak awal JavaScript. Proyek ini telah berkembang sangat besar dalam beberapa tahun terakhir. Sementara banyak yang memperkirakan kejatuhan Node.js dan kebangkitan kerangka kerja sisi server lainnya, Node.js telah mempertahankan kejayaan kepemimpinannya hingga hari ini. Node.js telah menjadi sangat skalabel dan serbaguna dengan kemampuannya, dan banyak pengembang menempatkannya di atas bahasa pemrograman teknis seperti Java dan .NET! (setidaknya untuk web)
Tujuan utama dari kerangka kerja ini adalah untuk membantu membangun interaksi aplikasi web yang kuat. Contohnya adalah situs komunitas, situs web streaming konten, fitur aplikasi satu halaman yang berat, dan aplikasi lain yang mengandalkan interaksi data yang berat. Pembuatnya membuat Node.js di atas mesin JavaScript V8 Google. Pemula dapat dengan mudah mempelajari proyek sumber terbuka ini. Juga, pengembang yang berasal dari bahasa lain dapat dengan mudah memilih ini juga. Kurva belajar adalah sama untuk semua orang.
Tahun lalu, Node melakukan penggabungan penuh dengan IO.js — menghadirkan daftar fitur dan potensi yang diperluas.
Meteor telah berkembang dari ide inspirasional sederhana menjadi proyek yang berfungsi penuh dan didanai. Itu disetel menjadi rumah bagi ribuan pengembang yang antusias. Ini telah merevolusi pengembangan aplikasi seluler dan web waktu nyata yang dapat dibuat pengguna dari antarmuka pengembangan tunggal. Anda dapat mengonversi aplikasi web yang ada menjadi aplikasi seluler dan mempublikasikannya di toko aplikasi populer! Aplikasi web apa pun yang dibuat dengan Meteor juga secara otomatis kompatibel dengan perangkat seluler.
Dengan rilis terbaru Galaxy (platform cloud hosting), Meteor membuat pengembangan front-end dan back-end menjadi pengalaman terpadu tanpa kerumitan. Meteor adalah kerangka kerja full-stack stabil yang mendukung bahasa JavaScript asli untuk membantu Anda membangun aplikasi web dan seluler modern. Repositori paket publik Atmosphere memiliki ribuan paket yang diterbitkan yang memungkinkan Anda membangun aplikasi multipleks dengan cepat.
Visual, animasi, dan grafik adalah bagian penting dari web. Tanpa menerapkan grafik yang baik dalam desain kami, kami berisiko menggambarkan desain kami sebagai suram dan dangkal. Namun, ini tergantung pada keadaan yang diberikan. D3 adalah pustaka komponen visual berbasis data yang membantu pengembang dan perancang menggunakan JavaScript. Ini membantu mereka membangun laporan data visual yang hebat, karya seni, bagan peluru interaktif, dan diagram sunburst. Mereka juga dapat menggunakan ini untuk membangun berbagai matriks data, awan kata, dan jenis visualisasi data lainnya yang tak terhitung jumlahnya. Ini akan membuat pelanggan Anda terinspirasi dan senang dengan keseluruhan presentasi. Dibutuhkan waktu untuk mempelajari penggunaan sintaks yang benar dari D3.js, tetapi sangat berharga seperti yang akan Anda lihat pada contoh di halaman ini.
Pencipta D3 — Mike Bostock — melakukan Ask Me Anything (AMA) yang menarik di Reddit tahun lalu, dan dikemas dengan pertanyaan dan jawaban mendalam yang akan membantu Anda lebih memahami maksud, visi, dan dorongan di balik proyek ini. Anda perlu mempersiapkan meluangkan waktu untuk mencerna semua jawaban.
Ember adalah kerangka kerja pengembangan web modern untuk pengembang yang berorientasi ambisius. Orang-orang mengetahuinya karena kemampuannya untuk membantu pengembang membangun aplikasi sisi klien besar yang kompleks. Ember juga menonjol dengan kesederhanaan dan aliran fungsinya untuk membuat pengembangan aplikasi web menjadi pengalaman yang lancar. Memulai dengan Ember cepat dan tidak menyakitkan, dan banyak pengembang telah berusaha keras untuk membuat tutorial dan panduan tentang cara memulai dengan kerangka kerja yang dapat disesuaikan ini.
Ember telah berhasil menghindari istilah dan modul berkilau yang membuat kerangka kerja modern menonjol dari yang lain. Sebaliknya, Ember mempertahankan fungsionalitas tradisional sambil menghasilkan daya yang diperlukan untuk membangun aplikasi hebat, seperti yang diperlukan.
Aurelia adalah kerangka kerja pengembangan web generasi berikutnya yang memproklamirkan diri yang terutama berfokus pada pembuatan pemrograman (pengembangan web) sebagai proses kreatif. Mungkin apa yang membuat Aurelia generasi berikutnya adalah kenyataan bahwa ia telah dibangun murni dengan ES6 (standar JS terbaru) dan juga menggabungkan beberapa fitur ES7 (standar JS berikutnya) yang tersedia, sambil mempertahankan kemampuan untuk berfungsi di semua perangkat modern. browser. Pengembang membangun kerangka kerja di atas kerangka seperti modul. Ini berarti bahwa itu terdiri dari beberapa perpustakaan kecil dan besar yang dapat mereka gunakan baik bersama-sama, atau secara terpisah. Tentu saja, ini tergantung pada jenis aplikasi yang Anda buat.
Namun, ini hanyalah beberapa fitur visioner yang dikemas Aurelia. Dan sangat disarankan agar Anda membaca tulisan Rob Eisenberg tentang Aurelia untuk memahami sepenuhnya tujuan kerangka kerja.
Fitur utama Knockoutjs adalah pengikatan deklaratif, penyegaran UI otomatis, pelacakan ketergantungan, dan fitur templating. Kaitkan elemen DOM yang ada dengan model data menggunakan sintaks sederhana. Setiap kali Anda memperbarui model data Anda, itu mencerminkan perubahan UI secara real-time. Buat koneksi antara model data Anda untuk menggabungkan dan mengubahnya. Buat model UI yang rumit sebagai bagian dari fungsi yang Anda gunakan untuk model data Anda. Dengan dukungan JavaScript asli, Knockout akan membuatnya sangat mudah untuk mengintegrasikan dirinya dengan kerangka kerja yang ada. Ini termasuk semua orang di roundup kami di sini.
Kami mungkin harus menyebutkan kerangka kerja ini dalam daftar kerangka kerja Node.js yang terpisah (yang akan kami lakukan). Namun, kemampuan Keystone menonjol dalam pengembangan web front-end modern, dan kami jarang melihat kerangka Sistem Manajemen Konten (CMS) yang lengkap tersedia. Pengembang membangun Keystone dengan dukungan Express.js dan MongoDB. Keystone memiliki lebih banyak fitur untuk ditawarkan yang menjadikan CMS hebat! Ini dapat mengaktifkan fitur seperti rute dinamis, manajemen bidang basis data, UI Admin yang interaktif dan dinamis. UI ini dapat tersedia bahkan saat membangun aplikasi/sistem konten Anda. Itu juga dapat mengaktifkan pemrosesan formulir, pengiriman email, dan manajemen. Kerangka kerja ini mudah digunakan dengan basis kode.
Memilih Kerangka Pengembangan JavaScript Terbaik
Memilih kerangka kerja tidak boleh tentang jumlah fitur yang dapat disediakan kerangka kerja tertentu. Istilah seperti 'generasi berikutnya' mungkin terdengar sangat menarik, tetapi yang terpenting adalah fungsionalitas kerangka kerja yang sebenarnya. Penggunaan fungsionalitas dalam proyek, aplikasi, dan perangkat lunak baru Anda juga dapat menjadi faktor. Beberapa kerangka kerja memberikan lebih banyak pengalaman dengan membiarkan pengembang sensasional dengan pengetahuan puluhan tahun membangun kerangka kerja. Sedangkan kerangka kerja web yang lebih kecil akan fokus pada fitur berorientasi komunitas yang tergabung dalam modul kerangka kerja yang berbeda.
Pengungkapan: Halaman ini berisi tautan afiliasi eksternal yang dapat mengakibatkan kami menerima komisi jika Anda memilih untuk membeli produk yang disebutkan. Pendapat di halaman ini adalah milik kami sendiri dan kami tidak menerima bonus tambahan untuk ulasan positif.