Ngobrolin State of JS Bagian 2
Ringkasan Episode
Bantu KoreksiEpisode ini adalah kelanjutan pembahasan State of JavaScript 2023, berfokus pada meta framework, testing tools, dan build tools. Diskusi dimulai dengan pembahasan meta framework seperti Next.js yang mendominasi pasar, diikuti oleh Nuxt, dan Astro yang mengalami pertumbuhan signifikan. Astro menonjol dengan pendekatannya yang agnostik terhadap framework UI, mendukung React, Vue, Solid, hingga Vanilla JavaScript. Pembahasan juga mencakup sentimen pengguna terhadap berbagai meta framework, dengan Gatsby mengalami penurunan drastis dan Remix yang sempat hype namun memiliki kompleksitas tersendiri. Untuk testing tools, Vitest dan Playwright mengalami kenaikan popularitas yang signifikan menggeser Jest dan Cypress. Playwright mendapat pujian karena dokumentasinya yang di-revamp dan API yang mirip dengan Testing Library. Diskusi juga menyentuh build tools seperti Vite yang semakin dominan menggantikan Webpack, serta runtime baru seperti Bun yang memiliki bundler built-in bernama "Bundler". Episode ini juga menyoroti pain points utama dalam ekosistem JavaScript modern: excessive dominance dari framework tertentu (terutama React), terlalu banyak pilihan (choice overload), vendor lock-in concerns, dan dokumentasi yang kurang lengkap. Khusus untuk Next.js, isu utama adalah App Router instability, server components complexity, dan ketergantungan pada Vercel untuk deployment. Kesimpulan penting adalah pentingnya testing minimal untuk critical business scenarios, dan pentingnya memahami trade-off antara kemudahan penggunaan (magic) dengan kustomisasi.
Poin-poin Utama
- •Next.js mendominasi meta framework dengan pangsa pasar terbesar, namun memiliki pain points signifikan terkait App Router instability, server components complexity, dan vendor lock-in ke Vercel untuk fitur seperti image optimization
- •Astro menonjol sebagai meta framework dengan pertumbuhan dua kali lipat, menawarkan pendekatan framework-agnostic yang mendukung React, Vue, Solid, hingga Vanilla JavaScript, dengan tingkat kepuasan pengguna yang sangat tinggi
- •Gatsby mengalami penurunan drastis popularitasnya dari puncak kejayaan, sekarang lebih banyak pengguna yang memiliki experience negatif dibanding positif
- •Nuxt memiliki paradoks menarik: banyak yang sudah pernah mendengar namun tidak tertarik, namun pengguna existing memberikan tingkat kepuasan yang tinggi - kemungkinan besar karena dikaitkan dengan ekosistem Vue
- •Vitest menggeser Jest sebagai testing framework populer dengan keunggulan speed yang jauh lebih cepat, sedangkan Playwright naik signifikan menggeser Cypress untuk end-to-end testing berkat dokumentasi yang di-revamp dan API yang familiar dengan Testing Library
- •Bun muncul sebagai runtime baru dengan bundler built-in bernama 'Bundler', menawarkan alternatif untuk JavaScript development yang lebih terintegrasi
- •Deno Fresh dan SolidStart mulai mendapat perhatian sebagai meta framework pendatang baru dengan pendekatan yang berbeda
- •Pain points utama JavaScript modern: excessive dominance (React terlalu dominan), choice overload yang membingungkan developer baru, dokumentasi yang kurang (terutama Nuxt dan framework baru), terlalu banyak "magic" yang menyembunyikan konfigurasi, dan isu vendor lock-in
- •Testing penting minimal untuk critical business scenarios seperti login dan page loading, membantu mencegah regresi bug dan memberikan kepercayaan diri saat deploy
- •Diskusi juga menyentuh perbedaan antara framework yang battery-included (lengkap dengan berbagai fitur) versus framework yang minimalis, dan pentingnya menemukan keseimbangan antara kemudahan dan kustomisasi
Selamat malam semuanya, selamat malam, selamat selasa malam, apa kabarnya?
- Mudah-mudahan sehat semua, gimana... - Moga baik-baik semua, absen-absen.
Weekend-nya, weekend-nya, apakah ada yang datang ke IO Extended?
- Tiba-tiba ada yang datang. - Tiba-tiba ada yang datang.
Iya, kemarin kita ketemu 2 orang.
- 2 orang penonton. - Oh iya?
Iya, iya kita ketemu bareng, kawan-kawan.
Asyik, jumpa fans ya, ada jumpa fans pakai meja tangan-tangan gitu enggak?
- Enggak lah. - Belum se-level itu.
Beda sama WPU.
Oh iya, kalau itu berat.
Itu saingannya udah beda level ya.
Tapi seru, maksudnya enggak cuma, enggak hanya foto-foto doang, tapi juga diskusi gitu.
Bahkan sampai diskusi ini, top ekskripsi.
Asik tuh, ada yang sudah mulai mainan AI enggak, ekskripsinya?
- Atau pada AI semua nih sekarang. - Iya, banyak.
Sekarang semua dosen pada AI malah.
Mau propose ke AI, mau pakai Jemah atau Gemini gitu.
Karena abis nonton talk-nya kita, "Wah Jemah nih menarik, bisa jalan di lokal, enggak bayar" gitu kan.
Jadi, cocok lah ya buat kan nomad-nombad.
Tapi kalau saya kan pakai Jemah, terus pakai Olamah kan ya.
- Kalau pakainya tergantung spek laptopnya. - Tergantung spek, kalau M1 udah aman lah ya.
Iya, kalau saya pakainya yang main-main aja ya, pakai laptop saya yang lama, yang i5, enggak pakai 3G.
- Kan bisa, tapi lembut. - Panas.
Cari itu loh, gaming PC.
- Dan memori-nya harus... - Kalau token-nya banyak ya.
Cari gaming PC rakitan, khusus buat kayak gitu, ntar kelar dulu lagi.
Justru saya pakai PC saya yang lama, tetapi ada VGA kart-nya.
GTX 2060 kayaknya yang lama tuh.
2060, justru bagus, padahal ini-nya prosesornya biasa aja gitu.
Lihat transkrip lengkap (2461 segmen lagi)
- Biasa aja. - Prosesor lama.
- Jadi mainannya pakai ini deh, pakai PC. - Iya, lebih cocok sebenarnya.
- Jadi, mending rakit PC ya? - Iya.
Itu kan Mas Riza pernah share itu tuh, apa namanya?
- Yang open source-nya, bukan open source kali ya, yang... - Transformer, apa?
Trans... bukan ya, untuk co-pilot, co-pilot, pengganti co-pilot.
Tapi yang pakai olamak, apa yang dia main kemarin ya?
Ya, itulah.
- Jadinya free kan, kalau co-pilot kan bayar tuh. - Iya.
- Saya pakai itu, saya lupa namanya. - Kencang.
Tapi enggak, saya uninstall, karena...
- Untuk saya kan enggak cepat-cepat amat. - Oh, di laptop.
- Kira indies kita di... - Iya, iya.
- Jadi dia nembak ke PC. - Aduh.
Itu PC lama, udah lah.
- Loh, GTX bagus loh. - Iya, maksudnya secara listriknya.
Oh iya.
- Kita kan harus sustainable juga, Cik Ile. - Benar juga.
Kalau co-pilot kan dibayarin kanton, ya udah lah budo amat lah.
Ya, kalau untuk pilihannya itu ya enggak brainer lah.
- Enggak Apple to Apple ya. - Enggak Apple to Windows.
Enggak Apple to Windows.
Nah, malam hari ini kita bukan membicarakan tentang AI.
Mungkin nanti ada library AI, tapi kita nggak bicara tentang AI.
Tapi kita lanjut membahas tentang state of...
- Lanjutin yang kemarin, yang minggu lalu ya. - Iya, yang minggu lalu.
Jadi minggu lalu itu kita bahas apa aja, minggu lalu kita bahas introduction-nya.
Kenapa terlambat, kemudian demografinya.
Ada negara-negara atau berbagai demografi lain.
- Bahasa... - Bisa lihat yearly income-nya juga loh.
Kalau yang kalian lewatkan coba, itu ke atas tadi Mas.
Enggak berdasarkan bahasa atau berdasarkan library yang dipakai ya.
Ya, yearly income...
Terus bahasa laki-laki perempuan gender ya, experience dan lain-lain.
Terus abis itu kita bahas tentang fitur...
Itu termain seru juga ya.
- Ada hal-hal yang kita nggak tahu. - Ada beberapa yang kita nggak tahu malah.
Kita malah sekalian belajar fitur baru ini, dari software ini ya.
Lalu kita bahas library, nah ini yang cukup seru.
Kemarin kita sudah bahas tentang sentiment analysis-nya.
- Lalu ada retention. - Webpack salah satu yang ini ya.
Salah satu yang menurun trending-nya, trending sentiment negatif.
Ya, masih di atas, tapi dia agak turun.
Kenapa ya? Karena obsolete, atau karena lampau, atau karena jelek, lambat, atau gimana?
Karena orang sudah malas setup, kalian konfigurasinya ribet dan sekarang sudah ada alternatif yang lebih automatis.
Lebih cepat, lebih simpel, karena dibikin dengan teknologi yang baru juga ya.
Webpack itu kan product of its time, waktu dulu ya emang paling optimal udah kayak gitu.
Nah sekarang udah mulai banyak solusi yang lebih simpel.
Sama pengalaman saya, IS Modul kan, ya IS Modul betul.
Salah satunya ISB, IS Modul, terus juga browser udah mulai catch up.
Lebih cepat daripada yang dulu.
Saya juga pengalaman menggantikan IS Lin sama
dengan biome, itu gak perlu pakai konfigurasi, enak sekali.
Wow, plug and play.
Iya, jadi dia ada defaultnya kayak kalau mau tambahin konfigurasi udah.
Jadi memang kayaknya trendnya ke arah kesana ya, jadi konfigurasinya minim,
atau gak ada sama sekali, kalau mau ubah silahkan.
Nah begitu juga dengan, ya roll up, roll down, ada roll down kan?
Masa ada roll down?
Iya, roll up itu kan pake Jepang Street bikinnya, roll down itu pake Rust.
Coba kasih nama nya, lumayan kumur sih.
Semua akan ke-fitting pada akhirnya.
Rust pada akhirnya. Benar, ini menarik juga ya.
Apakah kita perlu belajar Rust?
Kita kan, ya kalau mau belajar boleh, gak ada salahnya.
Tapi kan kalau disini kita konsumen.
Iya sih, kita hanya pengguna ya.
Tapi sambil mulih ya, gak ada salahnya.
Apalagi sekarang ada VT kan, VT itu menggantikan apa ya?
Webpack?
Webpack, saya mulai sekarang masanya project yang saya kerjakan itu,
meskipun project nya project lama,
tetapi kalau misalnya saya lagi build satu plugin tersendiri,
atau salah satu modul yang benar-benar berdiri sendiri,
saya udah gak mau pakai webpack yang ada di root project,
saya langsung di plugin itu isolate,
langsung, gak, saya pakenya udah langsung PNPM sama VT untuk nge-build nya.
Tapi secara nya plugin yang saya build benar-benar isolated,
cuma plug and play aja kalau ada disitu dinyalain jalan,
kalau gak, ya udah gitu, gak ada sengkut-pound sama modul yang lain.
Project besar juga pelan-pelan demigrasi ya, gak pakai webpack lagi.
Tadi tuh baru upgrade storybook, setelah sekian lama,
pokoknya di kerjaan ada project yang pakai storybook,
nah sekarang ternyata mulai 8, major version 8 kesini,
udah by default fit semua.
Kalau mau ganti webpack, bisa kalau misalnya punya config yang ribet ya,
cuma kalau projectnya simple, ya gak tahu pengalaman gue sih,
langsung pakai fit, aman ternyata.
Yang menarik lagi adalah jazz, jazz dan webpack ini kayaknya senasib ya,
mulai ditinggalkan ya, karena ada fites.
Fites, lagi-lagi ekosistem fit itu mencaplok.
Luar biasa ya.
Yang kejapan kan masih event new kan, komunitas kan?
Komunitasnya flu ya.
Tapi bukan event new kan ininya, maintainernya?
Bukan, bukan official.
Bukan, si Anfu-Anfu kan.
Itu juga aktif banget ku ya.
Better Vita atau Moon?
Kan beda.
Beda, satu runtime, satu...
One runtime, Moon itu runtime, Vita itu adalah bundler.
Moon itu penggantinya NPM.
Tapi Vita bisa dijalankan di Moon dong berarti?
Bisa.
Harusnya bisa.
Moon itu pesaingnya NPM ya.
Moon itu node.
Pesaingnya node.
Dia runtime.
Ada ini ya, ada built-in bundlernya ya berarti ya.
Baru tahu sih belum pakai Moon, coba.
Nah mas Risa yang udah pakai Moon tuh, udah pernah ke buy ini bundlernya.
Saya baru install doang, kemarin yang banding-bandingin doang, mandang-mandang.
Gara-gara waktu itu kan kita bandingin apa, size ya?
Iya, bukan kecepatan, kecepatannya compile.
Eh bentar, bundlernya Moon namanya 'dler' bukan?
Mereka lucu sih.
Bundlernya Moon namanya 'dler'.
Bundled build?
Bundler namanya.
Namanya bundled build.
Ah nggak asik, coba namanya 'dler'.
N-D-L-E-R.
Bundled.
N-D-L-E-R.
Bundler.
Bundler, bundler mulu ya bundler.
Oh, kalau dari apa namanya, dari benchmark yang ditampilkan di Moon,
yang adalah subjektif ya dia paling cepat sih ya dibandingkan yang lain.
Tapi ini kan diwajibnya Moon ya.
Dan karena specially, dan apa, itu kan dibikin khusus, test case-nya dibikin yang lukung itunya dia.
Terus lukungin, tapi ada benernya juga sih, mungkin optimal karena kan.
Ya, bisa jadi juga.
Sesuai arsitektur runtime-nya dia.
Betul, betul, oke.
Terima kasih ya, AntiPatternJSU namanya.
Cukup ini ya, menarik ya.
AntiPatternJSU, kita baru tahu juga.
Namanya AntiPattern.
Oke, kemarin kita udah masuk juga ke front-end framework.
Kita udah bahas tentang trending-trendnya React.
Intinya adalah React masih di atas, agak jauh dengan teman-teman yang lain, tapi view...
View catch up.
View mulai catch up, angular turun terus, trendnya dari tahun 2018 dia menurun terus.
Tapi nggak tahu ya, tahun depan ini bakal naik, bisa jadi karena mulai ada fitur yang...
Fitur baru.
Ya, trendnya naik terus, sedangkan solid, ya cukup solid ya.
Tetap nggak banyak yang pakai, maksudnya di production, di lingkup profesional, tetap nggak banyak yang pakai, belum.
Belum banyak.
Kalau solid ya, bukan solid ya, pre-act ya.
Pre-act malah agak turun, tapi sedikit kenaikan cuma 1% dari tahun lalu.
Terus ada lead juga yang so-so.
Tadi ngeliat ada...
Ada pemain baru, HTMX.
Itu bisa dimatiin yang nggak mau, coba di atas itu kan ada Alpine, misalnya macam.
Ada Alpine, Alpine dimana Alpine posisinya?
Oh ini Alpine.
HTMX dibawah, baru mulai tahun ini ya.
Ya kan, baru-baru.
Solid juga naik ya, lumayan.
Trendnya re-act naik-turun, stabil lah ya, bisa dibilang cukup stabil.
Ada stats yang juga mirip-mirip seperti lead.
Terus kemarin kita udah bahas tentang re-act kegembiraan.
Sentiment, positif negatif.
Antara react dan view, jumlahnya hampir mendekati.
Yang isi.
Yang isi, yang isi sama, cuma...
Lo kiohumi banyak yang ada.
Ini juga sama, yang isi 21 ribu.
Ini juga sama, hampir sama ya.
Semua pada ngisi.
Semua pada ngisi.
[suara reaktor]
Gak suka sama, gak suka sama itu tuh.
Gak suka sama react.
Frontend framework lain, ada Astro.
Yang cukup signifikan ya.
Yang cukup signifikan, terus Ember.
Dan Nux ini 8% ya, lumayan banyak juga ya.
Nux JS seberendah ya, itu ngukur apaan sih?
Ada Frontend framework.
Yang isi kali.
Remix juga sedikit.
Astro paling banyak ya.
Oh ini pertanyaannya apa ya?
Favorit gitu, harus pilih satu atau gimana ya?
Gak ada tulisannya lagi ini, pertanyaannya apa?
Di bawah kayaknya, di bawah ada.
Yang kuning-kuning.
Biasanya di atas.
Ini sekadar pertanyaannya.
Mungkin yang mereka paling suka atau gimana ya.
Masa sih pengguna, kalau soal jumlah pengguna gak mungkin ya.
Pengguna Nux JS di bawah Astro, Ember, Nux.
Astro mungkin lebih sedikit ini apa ya?
Atau yang baru mulai pakai.
Cidulnya gak jelas ya?
Oke kita lanjut dulu, happiness.
Ini Frontend secara umum ya.
Semakin menurun ya happinessnya ya.
Oh yang kita bahas seminggu lalu,
kebanyakan pilihan, pusing, ganti pilihan, pusing.
Main pointnya juga sama.
Bikinnya lama.
Masa yang geduk suatu fitur lama,
pada berotes, terlalu cepat, buru-buru.
Mas Donny bilang selain yang populer.
Nux JS sedikit sekali ya.
Btw ada di teman kantor yang gak suka banget sama JavaScript,
karena dia orang backend banget,
dia bisa hampir segala banyak.
Maksudnya dia sekarang bagiannya memang infrastruktur.
Dia mengatakan most of the time yang dia pakai untuk urusan JavaScript
adalah dealing with dependency.
Setupnya, dependensinya segala macam itu aja udah habis waktunya.
Which is true, main pointnya itu kelihatan disini.
Excessive complexity.
Tapi sebenarnya kalau bikin figure,
PSP pun kalau bikinnya pakai Laravel,
komposer JSON itu PSP library dependency-nya banyak juga
dan harus di-link sama itu ya,
versioning juga tergantung kompleksitas.
Tapi kalau dibandingin sama yang pure dunia backend doang,
gak ada round-in-nya ya beda sih.
Lebih cepat JavaScript ya, lebih banyak dan lebih cepat.
Jadi dependensinya itu bisa overload.
Choice overload. Nah itu bahasanya nomor 2. Choice overload.
Ini kemarin kita belum terlalu dalam juga ya.
Ini react-issue, saya yang melihat ini cukup lucu ya.
Excessive dominance. Terlalu dominan ya.
Ini masalah ya buat orang-orang.
Ya buat yang gak suka react, masalah dong.
Oh iya, kita udah bahas juga nih kemarin.
Jadi ini kan sebetulnya pertanyaannya sendiri di survey itu freeform ya.
Jadi orang bukan pilihan, tapi nulis dengan kata-kata mereka sendiri,
terus dikategorisasi, diklasifikasi dengan AI.
Jadi emang gak perfect sih kalau ada keyword kayak slow misalnya.
Itu dimasukin ke kategori masalah performance.
Padahal kadang maksudnya yang slow, yang lainnya misalnya apa sih,
fitur-fitur JavaScript itu dirilisnya lambat karena W3C
atau apa, ambil keputusannya lama.
Jadi ini gak sempurna juga sih kategorisasinya.
Vue.js issue adalah migration issue.
Vue.js issue adalah Vue.js issue.
Tapi bisa diklik kan? 141 bisa aja.
Jawabannya apa? Nah ini yang juga jadi salah satu kendala ya
dari Vue 2 ke Vue 3. Kita udah sempat bahas ya sama warat ya waktu itu
tentang bagaimana pains-nya berpindah dari Vue 2 ke Vue 3.
Kalau Vue.js issue ini apa?
"Reinventing the wheel 5 times a month."
"Vue must not become react."
Oh emang gak ada karasana ya? "They are trying to do."
"React is operated because corporate use, corporate world should just consider the choice."
Oh ini yang kemarin ada juga nih kita udah baca.
"Too many jobs for react and not enough jobs for Vue."
"Lot of frameworks rely on JS exercise learning curve especially coming from Vue."
Menarik-menarik ya.
Oke, nah malam hari ini kita akan lanjut lagi ke arah meta framework.
Yang tadi ada Next.js, ada Nux juga ya yang meta termasuk juga Astro.
- Astro. Gatsby masih ada. - Gatsby masih ada.
Masih lumayan banyak yang pakai ya ternyata ya.
Cukup naik malah. Ada naik 1%. Lumayan.
Nah ini baru head-to-head antara meta framework.
- Jadi ada Next.js, ada Nux, ada Astro. - Gatsby, tragis.
- Yang paling signifikan net-nya Astro ya. - Astro.
Dua kali lipat ya. Sedangkan Next.js ya dominan ya.
- Astro pakai apa? - Pake Astro.
- Astro kan meta. - Meta framework.
Oh framework atau UI library-nya. Apa aja bisa.
- Astro. - Mereka punya built-in format.Astro.
Terus bisa bawa yang officially supported, React, Svelte, Vue, Solid.
Kalau nggak salah JavaScript, Vanilla pun bisa.
Jadi kalau bisa pakai Vanilla JavaScript,
ya mau pakai custom element atau mau masukin lead,
ya mestinya bisa ya. Cuma belum coba.
Terus yang unofficial, kayaknya ada yang bikin integrasi sama apa gitu yang lainnya.
Cuma yang jelas major UI framework atau library supported semua.
Yang kayak React, Svelte, Vue.
Next.js dominan dan naiknya cukup signifikan juga.
Dia sendiri di atas, kemudian ada Nux juga naiknya cukup signifikan juga.
Gatsby, walaupun turun tahun 2003...
Gatsby terepet nggak sejatuh yang disangka ya?
Iya.
Kalau kita pakai patokannya sosmed atau Hacker News kan kayaknya udah nggak ada yang pakai Gatsby.
Tapi sebetulnya dunia nyata kan nggak se-extreme itu ya.
Kayak misalnya apalah website company yang menengah atau apa yang dibuat dengan Gatsby empat tahun lalu.
Salah satu project yang saya maintain masih pakai Gatsby loh.
Makanya nggak mungkin semua langsung di-rewrite.
"Ah, Next.js lagi ngetrend."
Re-write, "Ah, nggak mungkin gitu kan."
Jadi sebetulnya ya walaupun jatuh berkurang nggak terjun bebas juga.
Ya, Eleventy naiknya sedikit ya.
Stabil.
Stabil naiknya lumayan.
Sekarang naik 1%.
Dofusaurus, Solid Start baru mulai.
Denofresh juga baru mulai.
Penetang baru.
Kemudian kita lanjut ke Sentiment.
Nah, ini yang seru orang happy atau?
Lumayan happy ya sama Next.js ya.
44 lawan 13%.
Tapi?
Ya, jadi bar yang punya ringkas summary dulu, bar yang dikiri itu kan udah pakai.
Ada yang senang, ada yang nggak senang.
Terus kalau bar yang di kanan itu apa sih biru-iju ya, toska ya.
Baru dengar doang.
Tapi pengen pakai atau nggak pengen pakai?
Oh, ini 50/50 ya jatuhnya ya.
Tapi itu nggak nyangka.
Kalau kirain orang yang udah denger Next.js tapi belum pernah pakai,
asumsi gue adalah hampir semua akan mau nyoba.
Ternyata nggak.
Ternyata hampir separuh-separuh tuh.
22% mau pakai,
20% udah denger,
belum pakai, dan nggak tertarik.
Gue salah satu dari situ.
Pernah pakai.
Nggak ada project yang mau dikerjakan pakai Next.js.
As simple as that.
Tapi pakai untuk main-main supaya sekedar tahu.
Pakai, sekedar tahu, dan coba-coba.
Oh, begini caranya, udah.
Itu ya berarti beda lah.
Beda kasus sama yang bar yang kanan dan merah.
Kalau yang merah itu nggak pengen pakai.
Bukan karena belum ada peluang kan lah ya.
Hurt of it, tapi interested.
Cuma belum dapat project yang cocok.
Itu ijo.
Itu berarti kalau misalnya suatu hari ada project yang kelihatannya cocok,
ya udah why not, coba kan.
Cuma sekarang belum ada, ya udah nggak usah pakai dulu.
Hanya 1% dari responden yang tidak pernah denger Next.js.
Penasaran.
Tapi 1% kelompok itu cukup tertarik dan cukup involve
buat ngisi supaya state of JS.
Tapi belum pernah denger tentang Next.js sama sekali.
Menarik ya, maksudnya itu bayamin profilnya mereka tuh
orang kayak apa, kerja dimana.
Apakah nggak sosmedan atau ngeliat apa,
channel atau forum diskusi web-web sama sekali,
atau mereka komunitas apalah yang beneran terpisah.
Atau iseng jawab.
Bukan penontonnya ngobrolin web dia.
Berarti anak-anak ngular, kan dia punya segmen sendiri.
Anak-anak ngular, tapi garis keras.
Kalau yang nggak garis keras, kayaknya yang pasti pernah denger ya, minimal denger.
Siapa tahu dia masih berkutat di DQRI.
DQRI garis keras.
Oke.
Nah, yang cukup menarik juga NUX ya.
NUX ini banyak yang denger,
tapi nggak tertarik.
Belum pernah pake.
Lebih banyak yang nggak tertarik daripada yang tertarik.
Daripada yang tertarik, iya.
Tapi sebetulnya buat yang udah pake,
tingkat kepuasannya cukup tinggi, kan?
Cukup tinggi, tingkat kepuasannya cukup tinggi.
Berarti NUX ini ada apa ya,
ada sesuatu yang membuat orang-orang nggak tertarik,
belum tertarik untuk lirik ya.
Ada metafremo yang dipakai oleh Vue.
Vue, Vue.
Vue Press.
Terlain NUX. Ada nggak?
Ada Vue Press ya, berarti ada seingannya.
Astro bisa.
Kalau Astro nggak head-to-head exact,
tapi orang yang suka nge-moding dengan Vue bisa pakai Astro.
Iya.
Jadi ada, berarti ekosistemnya nggak sematang Next.js kan, NUX ya.
Tapi kan spesifik, niche.
Makanya ini sebenarnya sih karakteristik yang niche ya.
Bagi yang di luar itu,
di luar itu maksudnya yang bukan pengguna NUX,
ya kayak banyak yang nggak tertarik lah.
Cuma karena mungkin penjelasan paling gampangnya,
mungkin mereka bukan konderview, ya kan?
Jadi walaupun udah denger, ya sama sekali nggak pengen,
karena emang nggak tertarik sama Vue bisa aja.
Iya, iya, iya.
Kemudian Gatsby, ya kita udah tahu sama-sama ya.
Gatsby menarik nih.
Sebenarnya profilnya mirip sama NUX.
Cuma kalau buat yang udah pakai,
kayak seneng nggak senengnya dibalikin itu.
Iya, kembalikan.
Kalau NUX yang dari sedikit, relatif sedikit yang pakai,
sebagian besar dari mereka senang positive pengalamannya.
Kalau Gatsby, dari sedikit yang pakai, ijo.
Saya 18% itu saya.
Pake, nggak senengnya dibalikin.
Iya, iya, iya. Merah, merah.
Saya maintain, ada maintain project.
Dan NUX saya nggak mau kembangin lagi fitur di situ,
cuma maintain aja, udah.
Berarti kan untuk negative experience.
Masukin data ke halaman aja kalau pakai GraphQL.
Eh, sekarang sih kayaknya udah nggak ya, cuman...
Dia ada Gatsby server, renderingnya ada.
Cuma kan the purpose dari Gatsby, ada ah Gatsby 5 dulu.
Cuman nggak, maksudnya nggak diterapin lagi.
Maksudnya di project yang saya pakai nggak pakai.
Nggak pakai yang 1% renderingnya.
Jadi hanya pakai static side-nya aja.
Static side generator.
Lalu kemudian Astro.
Astro ini banyak...
Astro ini penggunanya lebih sedikit lagi sebenarnya.
Penggunanya lebih sedikit yang udah pakai.
Cuma sebagian besar banget happy, puas.
Wajar, karena kan Astro lebih baru kan
dibandingkan NUX dan Gatsby kan.
Banyak yang nggak tahu, tapi...
Tapi banyak yang nggak tahu.
Di bawah...
Kalau orang kerja biasa,
orang yang nggak terlalu ngikutin.
Maksudnya misalnya mungkin udah kerja settle sebagai developer,
di perusahaan yang bukan startup, yang established.
Gak nonton channel kita.
Gak nonton WPU.
Ya pokoknya nggak ngikutin gitu.
Belum pernah denger Astro kayaknya make sense banget deh.
Maksudnya kebayang profile orang yang kayak gitu.
Ya, ya.
Yang menarik adalah spell kit yang sebenarnya duluan daripada Astro.
Kan apa barangan ya?
Spell kitnya duluan, tapi spell kitnya akan nggak juga ya.
Masih di-maintain nggak sih sama Licharis?
Masih di-maintain lah.
Fulltime malah.
Iya, fulltime di Versel dia.
Oh iya.
Dan kayaknya nggak hire entah berapa ya, nggak terlalu banyak.
Kayak satu atau dua maintainer fulltime lainnya.
Dibayar...
Dibayarnya sama Versel.
Cuma maksudnya apa?
Perjalanannya ya independent, full buat maintain.
Spell kit sih, satu ekosistem.
Tingkat kepuasannya hampir-hampir sama seperti Astro.
Cukup besar.
Ini mirip, dan yang belum pernah dengar itu lebih sedikit dibandingkan Astro sebenarnya.
Tipis, benar tipis lebih sedikit.
Tapi yang nggak mau pakai, yang nggak tertarik pakai lebih banyak ya.
20 persen ya.
Ya, tipis juga sih.
Karena spell kit kan spesifik.
Buat orang kasusnya mirip laksa tadi.
Kalau orang yang emang...
Sudah terperangkap di dunia react ya.
Ya apapun sih, maksudnya punya orang yang nggak pengen ngonding pakai spell,
ya otomatis ke exclude kan.
Nggak pengen pakai spell kit.
Nah, ngomongin dunia react, Remix juga meta framework untuk react.
Tapi cukup besar juga ini.
Tidak tertariknya.
50-50 nih.
Itu kalau diklik angka 25-nya, gimana itu apa?
Ada bisa diklik nggak sih respondennya?
Harusnya bisa kanan-kanan.
Nggak, nggak bisa.
Oh iya bisa.
Bisa kalau ada tanda...
Bigger community.
I wish it have bigger community.
I love the concept of remix, but I hate react.
Oh yang not interested ya, berarti negatif ya.
Negatif.
Project feels like it went dead after Shopify acquisition.
Oh gara-gara dibeli, jadi orang jadi kurang tertarik.
Karena emang, kan kayak di merge sama react router juga ya.
Jadi bukan di merge sih, cuma kayaknya developmentnya bakal lebih fokus di router-nya.
Ini juga menarik nih.
The hype surrounding this project feels artificial.
Oh iya yang cari drama-drama itu ya.
Mungkin maksudnya itu.
Yang membanding-bandingkan dengan framework lain dan secara frontal ya.
Selamat malam, Abu Lucu.
Kamu lucu sekali.
Selamat malam.
One obscure layer on top of the other.
Oh, jadi sebagai framework yang mengaku sangat dekat dengan browser.
Tapi ternyata nggak sedekat itu.
Sepertinya banyak layer-layernya menurut dia.
Nggak yakin akan panjang umur.
Ya takutnya kan gitu di acquisisi, habis itu...
Ya, habis itu hilang.
Remix is not currently a component choice given server component in Next.js.
Oh gara-gara server component juga ya.
Dan kasusnya dia ternyata pakai Next.js.
Ya udah, kan bagi dia, sama-sama pakai React.
Udah ada server component, yang apa yang pindahkan?
Dajar baru lagi.
Menarik-menarik ya.
Ada Remix, ada apa lagi ya?
Yang React-based apa ya?
React-based? Iya, Next.js.
Next.js, Astro.
Next.js, Astro, Remix.
Astro, Gatsby.
Oh, ini Gatsby.
Ini nggak masuk ya? Redwood nggak masuk ya?
Gak cukup banyak kali ya, nggak cukup besar, nggak top 10.
Oke, Eleventy juga kurang.
Dokusaurus ya ini niche ya, sangat niche ya.
Karena ini khusus dokumentasi.
Dan itu punya tujuan spesifik.
Reakt juga nih.
Oh itu React-based ya?
Iya, React-based.
Makanya banyak yang nggak tahu tuh.
Saya juga kalau nggak gara-gara ngobrolin web, nggak tahu tuh.
Makanya dengerin web.
VT, Boon, IS Build, atau No Build?
No Build.
No Build.
Vanilla.
Vanilla.
Eleventy. Ini Eleventy yang saya pakai buat website pribadi nih.
Eleventy itu dari dulu ya.
Dan dia punya apa?
Jadi web ngumpunan kan?
Bisa, bisa dipakai web komponen, tapi...
Ya Vanilla JavaScript sih.
Mau dipakai buat bikin custom element ya boleh.
Ini server side, server side, server side, generator, generator.
Static side generator.
Susah banget ya.
SSG, banyak kan?
Kompleksiti, choice overload sih. Terms-nya aja ada server side generator.
Front-end kan, meta framework-nya itu bukan quick.
Namanya quick city ya kalau nggak salah ya.
Belum masuk ya.
Builder.io bukan ya?
Eleventy, iya saya juga pakai Eleventy.
Wah Mas Donny juga pakai Eleventy ya.
Mantap, mantap.
Ketualan ini, itu yang website yang dibikin Mas Yohan kan. Apa itu yang mau buat?
Oh, WWID dulu ya?
WWID, situasi WWID dulu kan, pakai Eleventy.
Hah, masa nggak?
Kayaknya ya.
Enggak-enggak, itu pakai lead.
Oh iya, iya, iya.
Kok gue kebalik-balik sih lead sama Eleventy?
Quick city bener.
Ini, ini, ini.
Quick city kan?
Ini kan, server focus feature kan?
Quick city.
Quick city.
Preact.
Enggak lah, setting barunya keliatannya belum.
Kalau preact ini,
Quick itu UI library, quick city itu meta framework-nya.
Meta framework-nya yang ada routing dan macem-macem.
Kalau preact itu kan masuk ke front-end ya.
Meta framework-nya preact kan nggak ada ya, dia nebeng kan.
Nebeng masuk next.js tapi pakai preact.
Harusnya apapun yang bisa jalanin, apapun yang bisa jalanin react,
harusnya preact didesain buat compatible dengan apapun yang bisa jalanin react.
Preact itu masuknya ke front-end framework.
Kita udah bahas di minggu lalu, ada preact di sini.
Ada, ini dia, eh mana dia?
Preact itu ada.
Tapi kalau di meta framework itu dia nggak masuk karena dia itu adalah UI library.
Jadi dia mungkin masuknya ke sini nih.
Ke sini, ke Gatsby.
Pokoknya yang bisa jalan, apa, yang menggunakan react itu bisa menggunakan...
Next Gatsby, Astro, Remix.
Cuma mungkin nggak terlalu straight forward ya.
Karena masing-masing meta framework itu kan sebetulnya udah pakai dependensi react.
Nah bisa sih, bisa pasti di-replace pakai preact.
Cuma exactly langkah-langkahnya kayak gimana, setting-nya ribet atau nggak.
Di-compare sama performance benefit-nya.
Kan sebenarnya sekarang juga kalau udah di-compile, misalnya combine antara SSR atau SSG.
Kan nggak semuanya harus di-load di client-side, belum ada island.
Nah itu case by case sih.
Apa performance benefit-nya jangkir balik buat pakai preact itu worth it atau nggak?
Kalau udah pakai meta framework.
Oke.
Nah berikutnya, yang menarik juga Denofresh ya.
Ini cukup baru, tapi bisa melangkahi solid start.
Denofresh ini adalah framework.
Solid start juga baru.
Oh iya solid start, baru solidnya yang udah lama ya.
Solidnya yang agak lama. Ini semua sama anak gue.
Bagian 59 sama 65%.
Nggak pernah dengar Denofresh sama solid start.
Nggak pernah dengar Denofresh ya. Solid start. Solid start itu meta frameworknya solid.
Kita tuh bahas deno, fresh deh kayaknya pernah.
Sempet bahas. Iya waktu island.
Waktu bahas island, bahas sekilas banget.
Bahas sekilas. Dia sinteksnya mirip-miriak.
Episode 1.
Ya episode 1 yang sebetulnya episode 2.
Karena kita mulai dari 0.
Oh iya iya iya oke.
Siap siap siap.
Oke.
Other meta framework, analog.
Apa ini?
Apa ini? Analog paling gede loh.
Kalau kuasar udah pernah pukul masuk fit press.
Other itu dibanding apa ya?
Oh mungkin ada satu input adakah meta framework lain yang belum disebut di atas.
Oh angular.
Tapi pakai fitting.
Oh interesting.
Bisa SSR sama statik state generator loh.
Hybrid.
Kayak mobil aja hybrid.
Dari kapan dia?
Last week update-nya.
Mulainya kapan?
Tahun lalu ya?
Nitro, nitro ini apa?
Terus kuasar, kuasar ini kan framework ya.
Buat multi platform ya.
Iya.
Quick dengan tadi tuh.
Beberapa teman-teman udah membahas.
Quick masuk sini 8%.
Tapi analog gede juga ya.
Tapi gede nya itu.
Nah kita kan ke pengaruh visual ya.
Ternyata banyak banget.
78 orang doang.
Hanya 78 orang dari ratusan ribu.
Tadi puluhan ribu lah.
Dibanikan dengan 20 ribu ini aja tuh kecil sekali ya.
Satu titik garam di lautan.
Feed press tadi bukan view press.
View press ada juga ya?
Ada, ada juga.
Semua pakai press-press aja.
Nest.
View press ya ada.
Nest.
Nah itu beliin ya.
Ada next, ada next, ada nest.
Ada nespress.
Ada satu lagi.
Nespress loh.
Nest, nest, next, nukes.
Nukes.
Nek, nats, nes. Nukes gak ada.
N-o-x-a kan ya.
Nukes.
Nggak tahu.
Belum pernah denger.
Ada adonis.
Nukes.js juga ada.
Adonis ada yang pakai.
Refine.
Adonis kayaknya tuh.
Refine.de kenal ya.
Cuma gak inget itu apa.
Ritual for enterprise.
Ritual itu apa?
Aku juga gak tahu.
Ritual itu
no code platform.
Hmm.
Ini udah pakai.
Oke.
Ini buat enterprise ya berarti ya.
Hmm.
Tampilannya sih keren ya.
Ini tuh karakternya kayak Laravel ya.
Maksudnya ekosistemnya Laravel.
Yang apa? Kayak semua ada.
Semua dikasih decisionnya.
Gak harus ketengan mikir
router pake apa,
state pake apa.
Keliatannya sih silas dari itu.
Ada Meteor.
Ada Boon.
Boon masuk sih.
Random juga ya.
Red Boon.
Soalnya Boon ini lengkap.
Dia memang
runtime.
Tapi udah bisa bikin
request-response servernya
udah ada.
Terus JSX-nya juga dia udah support.
Seperti ini langsung.
Langsung dari ini ya?
Oh berarti
berarti JavaScript
runtime-nya dia udah langsung bisa JSX.
Betul.
Sama kayak Deno. Makanya
si Deno Fresh itu menggunakan ini.
Gak perlu pakai JSX, gak perlu install JSX.
Atau React DOM segala macem.
Menarik.
Terus bisa bikin
yang kalau buat ini.
Ada gak ya? Buat
meta framework-nya. Ini server render
udah pasti kan. Server render kan.
Secara otomatis kan.
Dia mentranspile
saja.
Iya. Dan mungkin
gara-gara itu dia jadi masuk kesini.
Mungkin ya. Red Boon.
Dia gak bisa replace perennya
framework. Redwood.
Redwood masuk.
Meteor masih ya. Ternyata masih ya.
13 orang.
13 orang yang pakai.
Ya pakai masih ada sih.
Ada.
Masih berkembang juga kok.
Adonis. Adonis.
Adonis ini cukup nih.
Karena mungkin 12 orang ini
adalah penggemarnya Laravel.
Yang pindah ke Node.js. Dia cari yang mirip.
Jadi pilihlah
Adonis.
State of JS 2024 kapan?
Belum. Tahun depan.
Ya nanti.
Sampai 2024 selesai.
Follow salah satu dari kita.
Nanti kalau ada survey-nya kita
tweet. Kita share.
Other answer. Ada lagi gak
yang lain? Apa nih?
Kok gak bisa diklik ya? Diklik aja untuk other answer.
Yang kiri. Gak bisa.
Oh gak ada.
Other answer.
Terus sedikit dulu ya.
Coba dari total.
Keliatan dari totalnya berapa di bawah.
Bawah bawah bawah.
Berarti yang other itu
hanya isi
2% dari
23.000
partisipan.
Jadi mungkin pertanyaannya apakah
framework favoritmu
tidak disebutkan di atas?
Atau semacamnya?
Eh itu kayak shift.
Kita bahas tuh kemarin.
Google developer expert.
Data enthusiast.
Apa tuh? Pocket base tuh apaan sih?
Pocket base itu adalah
database
ss service.
Kayak super base.
Atau kayak firebase.
Data base nya realtime.
Tapi ini pakai skill light.
Can be deployed as
a single binary to $5
server.
On a scale 0 to 4
how happy you are with current state of
meta framework?
Dua setengah.
Tapi ya not bad sih.
Not bad.
Ya udah masuk ke lumayan
gitu ya.
Nah berarti ini kan
menengah ke atas
2.2 berarti
oke lah.
Meta framework pain points
next stage issue.
Ini apa isunya?
Padahal pertanyaannya meta framework
window lock in.
Catching, patching.
Caching, patching.
API. Slow.
Everyone uses
Next.js which is
Next.js specifically is point
marketing driven ya.
Terrible DX
documentation. Kenapa documentation ya?
Nah cuma ini kan subjektif.
Kita udah bikin setengah
ya mereka yang bikin
orang fairsale udah bikin dokumentasi setengah
ti ya tetep aja bakal ada yang
gak sesok.
SST not supporting Nux.
SST itu
framework yang bisa deploy
meta framework ke
service cloud.
Lebih spesifiknya
AWS. Dan dia
belum mendukung Nux. Jadi dia terpaksa
harus pakai Next kalau mau pakai SST.
Kayaknya ya kalau melihat
setimen ini.
Ini masalahnya terlalu spesifik semua ya.
No jobs.
Gak ada job untuk Next.js.
Atau dia? Dia aja.
Dia doang. Gak dapat kerja.
No auto import in Next.js.
Nux yang ada ya.
Cuma auto import kalau di support
nanti ada yang komplain juga.
Kan gak jelas kan gimana.
Gua pertama kali pakai Nux tuh
bingung sih asli kalau gak biasa ya.
Product of the devil.
Lock in ya.
Kebanyakan vendor lock in ya.
App router is just bad.
Lot of bugs and unstable feature crashing
your app with every release.
Beta features like production ready.
Not perfect but
at least it brings us closer to standard
to use react.
Kita pernah bahas ini loh.
Kita pernah bahas
concept atau behavior
Next.js itu kan selalu
catch up dengan
teknologi terbaru ya.
Itu behaviornya
dari Fremont ini.
Karakternya dia, brandingnya.
Jadi kalau mau cari stabil ini ya
pakai ini.
Karen.js mungkin ya.
Karen.js ya.
Present.js gitu.
Jangan Next.js ya.
Unstable React.
Kita pernah bahas dan dia pakai react
yang experimental kan.
Yang experimental betul.
Shift between front and back end
framework.
App router tuh unstable.
Too hard to migrate.
State management.
Layout and middleware not flexible.
Client caching creating many issue.
Kita juga bahas kan nih yang by default
caching.
Only for React
frameworks. They are pushing RSC
as new thing. Even though
it's more limiting than the solution
we had before.
Vendor lock in.
React server component.
Kalau kan dia harus dipake.
Mau pakai
client render semua juga gak apa-apa.
Tapi ya itu
sulit bikin orang banyak seneng ya
ternyata.
Tidak bisa menyenangkan semua orang.
Tapi mostly
kebanyakan masalah utamanya
adalah vendor lock in, caching
sama app router. Complainnya ya.
Sama stability.
Ya, stability ya.
Karena mereka pakai
experimental features.
Complexity. Kita lihat apa yang
kompleks menurut mereka.
Overengineer, Jenga Towers.
Rendering mode.
SSR, ISR, ISR.
Too much complexity.
Masalahnya that they exist.
Bit too complex.
Overengineer.
Ini kita gak bisa.
Semua pokoknya kompleks aja ya.
Nah, deployment.
Kompleksity.
Hosting, cache, image
transform. Oh, ini ada hubungan sama
Next juga kali ya.
Ya, atau sebenernya
framework apapun sih yang punya image
transform on the fly kan berarti butuh
server ya buat ngejalanin
itunya. Convert
image. Maksudnya
kalau kita develop
Next.js kan
agak, kalau kita
pakai semua fitur, beberapa fitur utamanya
itu agak susah di deploy
di tempat lain kan.
Jadi under lock-in jatuhnya ya.
Karena ada itu.
Yang kemarin ada yang bikin
community Open Next.
Open Next kan.
Tapi kan itu pasti
tertinggal kan.
Tertinggal kan.
Mungkin gue update dari Next.js dulu kan.
Ya, cukup aktif. Tapi kan kita juga
update dari Next.js.
Nah, itu tergantung. Lagi-lagi
subjektif, seberapa kita
harus latest, se-latest
apa sebetulnya kan.
Kalau cuma beda beberapa minggu atau satu bulan
dari yang terbaru sebetulnya ya nggak
mudap juga kan.
Bisa juga kita pakai itu kan.
Kita pernah belas di Next.js.
Iya, bisa.
Sama apa?
Di Previous.js.
Kayak di Docker Image juga bisa kan.
Kalau mau nggak pakai Versel ya.
Cuma ya extra effort.
Hosting Next.js was absolute nightmare.
Absolute nightmare.
Cuma mungkin ini ya.
Ini agak
bias juga mungkin orang yang ngisi
survey state of JS.
Itu kan kemungkinan orang front-end yang front-end banget ya.
Jadi maksudnya apa?
Ada kayak semacam
sense of entitlement.
Pengen experience yang
segampang, sesimple drag
and drop-nya atau apa?
Auto deploy-nya
Netlify dan Versel.
Pengen sisi itu.
Tapi pengen juga pengen kemampuan
portability. Pengen gratis.
Maksudnya pengennya banyak. Padahal sebetulnya
infra itu kan kayak infra
deployment, ICD itu kan sebetulnya
satu field yang
ya kayak semacam satu ekspertis
sendiri ya. Jadi kayak nggak matching-nya
disitu kan.
Oke. Deployment, integration,
not for astro or fresh.
They are fine.
Ini ada yang nanya nih.
Next 14 masih harus
running di Versel class. Saya pernah coba
di Next 13 without dear.
Image nggak bisa dipakai.
Iya, image itu spesifik ke
Versel ya. Benar nggak sih?
By default, spesifik ke Versel.
Tapi di config-nya
bisa diubah. Kita mau misalnya
pakai Cloudinary ya.
Misalnya kita punya Cloudinary.
Kita masukin apa?
API key Cloudinary ya.
Webgenerate on the fly atau semacamnya.
Bisa. Itu dari
12 kayaknya deh.
Oke.
Kemudian version changes.
Ini update-nya terlalu cepat ya.
Breaking changes.
Transition.
Termasuk juga view ya.
Bukannya terlalu cepat, tapi
habis saja susah kita. Kayak nggak ada
code mode-nya atau terlalu banyak yang
harus diubah.
Migration tools-nya tidak didukung
terlalu gimana-gimana ya.
Kalau misalnya
upgrade, major
upgrade itu banyak perubahan ya, Masih.
Next.js ini. Belum pernah
sampai produksi. Belum pernah.
Ya itu yang terakhir
major kayaknya yang apa?
Appdir sama
ini kayaknya.
Yang perubahan
architektur.
Caching juga ya.
Sebelumnya by default
on, terus di selanjutnya by default
off.
Itu karena kayak salah decision.
Tapi generally antar
versi, versi major
kalau major pasti ada yang breaking ya.
Cuma nggak
ekstrim-ekstrim amat sih
sebetulnya. Selain ya
pages-router ke app-router.
Tapi kan sekarang pages-router
belum di-deprecate juga, masih
bisa dipakai. Iya, masih bisa dipakai, betul.
Tapi pengalaman saya
migrasi dari
spellkit
versi beta ke spellkit
versi 1, itu
sangat
menyenangkan.
Nggak ada masalah apa-apa. Karena ada code-nya juga kan?
Ada kayak komennya.
Ada komen lain kayak dia nyariin.
Iya, nyariin.
Terus ada migration guide-nya juga
cukup bagus, gampang diikuti
dan nggak ada, istilahnya nggak ada yang
update macem-macem gitu.
Jadi kayaknya smooth lah.
Prosesnya tuh smooth.
Cuma yang nomor 2 itu
yang nomor 2-2 tadi bisa
relate sih. Karena ekosistem
kalau pakai library external
itu mungkin nggak
kompatibel. Terutama pas
lagi musim, apa?
Yang ada RSC
mulai center kan, jadi di atas harus
pakai directive use-client tuh.
Kalau pengen jalanin by-side.
Kalau nggak fail. Nah itu banyak library
lama yang belum pakai use-client kan
atau use-report.
Betul, betul, betul.
Jadi ini banyak
masalah di version
lack of documentation.
Ini kan meta framework
in general.
Nux 3 kurang
dokumentasinya.
Masih dianggap kurang.
Laravel Docs should be the standard.
Memang sebagus itu ya.
Lengkap.
Lengkap dan kayaknya apa ya?
Pembagiannya mungkin
bagus ya. Itu kan harus
disurvey banget walaupun informasinya
ada, kan keywordnya kita nyari
di halaman apa, di bagian apa.
Documentation and example
lack of documentation.
Nah, ini positifnya adalah
opportunity buat kita
atau temen-temen yang lain.
Kalau menemukan framework
atau library yang
dokumentasinya dirasa kurang bagus,
silahkan pull request atau
tanya, tulis di issue. Boleh nggak saya
improve? Nah, lumayan kan?
Buat belajar
kontribusi.
Kalau yang agak ego sedikit, dikontainin aja.
Bikin youtube channel yang bisa
atau bikin, apalah blog yang
isinya apa, pinpoint hal-hal
yang nggak ditemuin di dokumentasi
tapi kayak practical, how to,
bla-bla-bla.
Masa bisa bahas elixir, contohnya.
Kan orang ngesersu nyari
di dokumentasi nggak nemu, jadi cari-cari
di tempat lain,
pada masuk ke channel atau blog
temen-temen deh.
Itu udah cukup sering
dibahas. Maksudnya, kan banyak
yang suka sama elixir juga
nanyain, kenapa sih elixir nggak populer?
Ya, ini
kalau ngomongin hal kayak gitu kan
kayak ayam sama telur ya?
Populer dulu?
Gak populer karena banyak
konten. Mau digrow dulu?
Digrow ekosistemnya dulu biar populer.
Gitu. Jadi
ya saya memutuskan untuk
melakukan apa yang bisa saya lakukan,
memperbanyak konten aja. Jadi siapa
tahu nanti orang-orang Indonesia yang nyari elixir ya
sudah ada nih kontennya yang berbahasa
Indonesia, gitu.
Kalau misalkan nggak ada
kan tadinya dia tertarik, terus ngelihat
bahasa Inggris semua nggak jadi deh,
gitu kan, bisa begitu.
Ya ini berlaku untuk semua ini ya,
semua teknologi ya, bukan hanya elixir.
Nah ini dijawab nih sama Mas Rehan.
Masih bisa dipakai tapi nggak ada
update page router, kasihan nggak kebagian
fitur streaming SSR.
Oh yang tadi ya?
Jadi belum di-deprecate,
tapi nggak dapet fitur
baru.
Ini apa? Oh FairSale. FairSale ada
kategori khusus.
Kategori main pointnya FairSale.
Apa masalahnya?
Masalahnya FairSale.
Nah pertanyaan berikutnya
adalah apakah Svelte dan Svelkit
akan mengalami hal yang serupa?
Karena sekarang kan research-nya
di FairSale juga.
Apakah dia akan vendor lock-in?
Sejauh ini belum ya.
Karena Svelkit kan pakai sistem adapter,
ya kan, bisa di-deploy di FairSale,
bisa di-deploy di Netlify,
atau server node.js apapun.
Nah itu
next-nya kan tergantung
seberapa, kayaknya research itu kan
kelihatannya ya dari omongannya jenis orang
yang cukup idealis ya.
Apakah misalnya
kedepannya FairSale
mendorong halus biar adapternya
dihilangin, by default pakai
FairSale, ya kalau user
mau bikin ekosist, apa, komunitas
mau bikin solusi di luar itu boleh.
Nah, series-seriesnya mau
atau nggak kan, itu tergantung.
Kalau misalkan,
nggak tahu ya, udah lama nggak ngikutin
Svelkit, apakah
mereka sudah membuat semacam
image component?
Kayaknya ada ya?
Nggak tahu.
Cuma kalau Svel kan
pendekatannya, mereka nggak
ngasih komponen-komponen
yang siap pakai kayak gitu kan.
Kalau user mau bikin sendiri ya
boleh.
Kayaknya pernah dengar deh, tapi
ya, coba dicari aja.
Ya, mungkin unofficial, coba
cari Svel image component.
Adanya
Enhanced Image.
Images.
Eh ada nih. Ada kan?
Tuh, beneran kan ada?
Enhanced Image.
Cuma diinstall terpisah.
Tapi
official ya, official package ya?
Official.
Bagus sih, jatuhnya. Jadi, mau saya apa?
Ini opt-in.
Cuma, ya kalau mau
coba, boleh.
Apakah hanya bisa di deploy
tersel? Enggak ya harusnya ya?
Enggak. Ini, gue langsung baca
loading image dynamically from CDN.
Bisa di Cloudinary.
Bisa
di CDN mana pun sih.
Masih cukup unopinated ya?
CDN agnostic ya.
CDN agnostic.
Dan sebetulnya Next.js image
component juga udah seperti itu sih.
Cuma emang
mungkin ini trick bisnis lah di
dokumentasinya ya.
Contohnya, contoh defaultnya ya
pakai Fairsell.
Slow.
Banyak yang bilang slow di
development. Next.js ini.
Bukan slow hasil
app-nya ya? Bukan slow hasil akhirnya.
Tapi slow pada saat
development-nya berat gitu.
Berat, berat mungkin.
Mungkin
kalau lagi dev server gitu ya?
Iya. Karena pernah ada
ngeliat beberapa tweet.
Cuma ada satu sih.
Jadi dia coba develop di
Cloud gitu.
Kayak model apa ya?
Gitpod ya model Gitpod itu.
Agak berat.
Kayaknya nggak kuat gitu.
Nggak ngangkat.
Nah, kalau yang pakai
TurboPack, nggak tau ya. Mungkin kalau yang
by default,
mungkin lambat.
Kalau yang pakai TurboPack,
jauh lebih cepat sih.
No batteries included
framework like Rails,
Ralaver, Phoenix to speed up
development. Ada.
Redwood. Apa sih battery?
Semua lengkap gitu.
Lengkap kayak Ralaver.
Semua ada. Serba ada.
Redwood, padahal kita kau aja.
Kita udah bahas.
Nah, cuma karena itu
sunking belum populernya. Nah.
Gue alih bidang
jadi launcher Redwood aja apa ya?
Bisa-bisa.
Slow build, AMR, HDR.
Speed during development tuh.
Banyak yang slow slow slow.
Terutama yang bagian ini ya, development ya.
Ya, karena ini kan
topiknya lagi komentar
tentang slow.
Iya.
Everything except pure
feed is painfully slow.
Oh.
Apapun yang bukan feed,
lambat.
Nah, cuma standar lambatnya
orang juga lambat cepet orang juga
agak lain-lain ya.
Maksudnya seberapa tinggi
requirement-nya.
Apa nih? Kayaknya Astro mau juga
apa nih? Mau apa nih?
Mas Rehan. Gak dapat
konteks nih. Mau bikin apa?
Image component kayaknya. Image component ya?
Oke. Mungkin. Gatau sih
sekarang. Tadi kan kita lagi bahas image component.
Bisa jadi. Iya iya bisa jadi.
Very slow.
Ya, terutama itu bad experience ya.
Gatuhnya ke bad experience.
Reak itu kenapa sih ada itu-nya sendiri?
Reak ada UI
pillow-nya sendiri nomor 8.
Unsupported API.
Kayaknya nggak tepat.
Unexpected errors. Next is great
but view itself has some gachas
that if not aware of
could become a problem.
Incomplete documentation.
I mean.
Dari tadi harus banyak yang sebut itu ya.
Oh ada DB. Iya.
Astro
batteries included. Astro mau
batteries included ya.
Aos belum ya.
Astro DB
lumayan gitu kan.
Would like Laravel feature
in Nuxt. Nuxt still feel
immature. Memory leak.
SSD not supported tadi udah
perverse class
internalization.
SSR
the rest.
Apa sih masaya the rest?
Kalau Firebase
posisinya dimana ya?
Data base.
Firebase kan redaknya
banyak ya.
UI-nya juga ada.
Firebase itu kan sebesar.
Maksudnya kalau dia kan ada
authentication modul.
Oh ya.
Iya Firebase itu banyak banget.
Ini dianggap
komplain ya. Nuxt dia is really awesome.
Salah.
Ya AI bisa
salah.
Nuxt using legacy
webpack. Nuxt documentation.
Kebanyakan sih documentation kalau Nuxt ya.
Belum lengkap. Configuration
routing ada ansar.
Sama React tuh ada itunya ada logo
kayak apa sih fill-nya gitu.
Engga ini
clean aja karena
ya karena
ada website-nya. Kalo ini kan gak ada
performance-nya.
Number 15. Too much magic.
Ini ngarahin ke
siapa nih?
Ya apapun pokoknya itu kan
bebas.
Painpoint-nya meta framework.
Under the hood magic.
Too much magic.
Some framework.
Ada yang komplain tentang Nuxt. Ada yang tentang Nuxt.
Siapa punya campur.
Auto import magic.
Tapi pertanyaannya.
Pertanyaannya apakah
kita mau
bikin project
yang gak pakai meta framework.
Pakainya vanilla semua. Kayaknya
susah juga ya.
Kalo cuma kayak single page gitu.
Single page gitu ya gak apa-apa
juga sih.
Ya kalo single page ya gak apa-apa.
Kalo contoh kayak kemarin
yang saya buat di Depok juga.
Cuma 3 halaman HTML. Vanilla semua.
Itu gak apa-apa. Maksudnya
yang udah lumayan kompleks gitu.
Kalo yang ada authentication,
ada routing. Ya jujur meta framework.
Gak mau kan?
Di point apa?
Harus loncat ke meta framework.
Kalo udah ada routing. Sama
kayak routing dan
atau authentication
dan atau dynamically
generated pages.
Ya misalnya list of polls
based on data. Nah itu
udah mulai pusing ya kalo
vanilla JS
manual semua. Antara 3 itu
single page.
Oke.
Jadi pertanyaan berikutnya
apakah ada meta framework yang tidak terlalu banyak
magic.
Tapi point of meta framework adalah
magic.
Point of meta framework kan
of inanated ini kan.
Mengumpulkan hal-hal itu.
Cuma mungkin
segantung definisi magic.
Kalo terlalu banyak yang diumpetin
kayak ini kan trade off
antara apa ya? Customization
dan kemudahan.
Dan kemudahan
langsung pakai. Nah ini gimana
caranya? Cari point di tengah-tengah
kalo semuanya diumpetin under the hood.
Terus bahkan konfigurasi
nyarinya dimana kan seperti magic.
Kalo terlalu banyak config
membuat customisasi
gampang.
Maintainnya juga susah.
Si maintainernya tuh kayak
kalo mau maintain
jadi jauh lebih susah.
Setuju sih. Jadi kayak next JS
tadi ada yang komplain wah gak bisa auto
auto import.
Sementara ada yang komplain
too much magic ya auto import itu masuk
magic kan? Karena bingung
maksudnya ini dari
library apa aja misalnya kita punya
kita pakai 4 library external
dan kita import menggunakan
7 metode dari 4
library itu. Nah terus ada satu
yang gak kompatibel harus diganti.
Nah itu tuh. Nah masing-masing
metode yang di dalamnya tuh diambil dari mana
pusing juga gak sih?
Terutama kalo belum biasa ya.
Wah menurut mas
Rehan ini solid start itu
magicnya tidak terlalu banyak.
Kita malah belum tau ya
belum pernah cek ya.
Mas solid itu juga sering bikin
live stream ya.
Siapa sih namanya tuh mas solid?
Rian Karniato
siapa gitu.
Dia bikin
live stream dan dia emang ngerjain
dan dia tuh kalo ngejelasin
detail banget. Tapi ya gitu
tapi dia bukan hanya membahas solid kan dia
bahas framework-framework lain juga kan?
Ya dia suka ada tamu juga
sambil ngobrol gitu.
Terakhir sih yang gue nonton adalah
dia ngobrolin Astro
di sama Mas Astro
apa lupa namanya.
Something-something.
Gitu.
Cuma dia agak geles gitu.
Mas Haris.
Mas Haris.
Rian Mas Haris.
Nah si Rian Karniato
ini kan ada yang bilang
"Mu bikin video kaya highlights
atau kisi-kisi yang di ringkas
biar orang mengonsum?"
Terus dia jawabnya yang belak-belakan gitu
"Malus, gak sempet?"
Kalau saya mau nonton ya ini silahkan nonton 3 jam.
Kalau enggak ya udah gak apa-apa.
Cuman dia gak bikin.
Ya terus orang bilang kan
marketing lah
buat kan sekalian
framework-framework
dia bikin yang lebih
ditonton. Tapi dia bilang ya itu
di luar scope-nya dia.
Kalau orang lain ada yang mau.
Misalnya bikin kan sebenarnya misalnya pake
itu satu apa yang auto, yang dikomen itu
yang ada timestamp-nya.
Yang mau digituin terserah.
Mau bikin apa terserah. Cuman dia gak pengen
bikin konten yang
lebih menarik
buat marketing framework-nya dia.
Di klip aja.
Kalau ada yang mau bikin gitu ya
ada yang effort bikin klip dari
YouTube juga udah bisa sih.
Bisa cuma sih.
Mas Raina gak mau.
Dia gak mau bikirin itu.
Dia bilang dia mau konsentrasi bikin
framework-nya, sisi
technical-nya.
Ya ini
standarnya developer ya.
Gak penting
jualan. Yang penting produknya
bagus. Walaupun orang gak banyak yang tahu.
Mungkin tugasnya kita ya
yang tidak bisa
konten creator.
Yang bukan framework-nya.
Kan kalau semua orang bikin, semua
developer bikin framework.
Developer experience.
Banyak konten.
Itu kan
jadi salah satu bagian dari
developer experience
kan gitu.
Dokumentasi bagus.
Artikelnya banyak. Atau paling tidak
ada tutorial di
dokumentasinya. Terus
kita cari juga
referensi-nya banyak. Itu bagian dari
ekosistem developer experience.
Sebagus apapun
framework-nya, kalau dokumentasinya
gak lengkap ya, gak bisa
dipakai juga.
Seperti jQuery.
Gak lah.
JQuery malah sudah
sangking banyaknya yang pakai.
Ya udah semua tahu cara pakainya.
Kecuali kalau pas loading 2 instance.
Ya.
Kalau jQuery itu dia memang dioptimize
untuk memenangkan
apa namanya
survey-survey seperti ini. Karena
satu website tidak cukup hanya
satu jQuery. Bisa pakai
2 jQuery. Jadi dia
kalau di survey itu ada 2.
Jadi 2 kali lipat.
Vote-nya. Kalau dicek kan.
Wah ini kalau dicek kayak
apa?
Ini website-nya pakai apa? Oh pakai jQuery
versi 2 dan versi 3.
Masing-masing klagen bawa itu sendiri
jQuery sendiri kalau
jQuery jaman dulu.
Oke.
Kita lanjut.
Kita lanjut ke ini aja. Ke build tool
testing atau membahas yang mana.
Testing.
Karena testing.
Testing tapi sekilas aja.
Sekilas ya. Testing itu yang paling
main of the masing-nya adalah ini.
Hit-test.
Itu hit-test.
Naiknya 20%.
Playwright bagus lho.
Playwright bagus.
Playwright juga termasuk tinggi.
Oh. Playwright itu
si Microsoft itu kayak bikin
apa ya reformasi.
Apa sih pohonnya? Mereka jadi
halaman dokumentasinya
dirombak. Terus kayak tutorialnya
juga dirombak semua. Terus
kayaknya sekitar ya itu sekitar 2 tahun
lalu lah. Mulai tahun lalu
1-2 tahun lalu.
Mereka juga rajin ke
discord-discord channel
web developer. Kayak cari feedback
dari developer gitu.
Jadi intinya
dokumentasinya di revamp banget.
Dan pengaruhnya ya oke juga ya.
Intinya
mereka punya cukup banyak
dana untuk dihabiskan untuk
mendevelop si Playwright ini
supaya bagus. Kenapa? Karena
mereka menggunakan API
yang mirip Cypress. Mereka
menggandeng si CanCyDot untuk
testing library API-nya juga
mirip-mirip di Playwright. Jadi
banyak yang pakai akhirnya.
Karena familiarity-nya.
Orang nggak perlu belajar
API baru lagi.
Kalau udah pernah dari Cypress,
pakai Playwright itu gampang.
Saya dari testing library ke Playwright cepat.
Ke Playwright juga gampang.
Mereka membuka pintu sebanyak-banyaknya
karena risosnya banyak. Gede.
Dibandingkan yang lain ya.
Jess.
- Tapi Vitesse,
Vitesse sama Jess itu ceritanya
agak mirip kayak gitu juga.
Gue ngalamin banget
Vitesse juga salah satu yang
familiarity-nya, maksudnya kita nggak perlu
banyak berubah ya.
- Hampir semua lah ya. 95%
kali. Nggak ada yang diubah
apa test suite-nya kayak expect-blah-blah.
- Tapi semua pada naik loh.
Berarti makin banyak orang
testing.
- Iya, pada orang sudah mulai
aware untuk testing.
- Nah, dan di sisi
lain si library testing-nya juga pada
apa sih? Kayak bikin lebih mudah
diakses lah. Dokumentasinya dibagusin.
Contoh-contohnya.
- Iya-iya. Mocha ini kayak
cukup stabil ya. Padahal
dia lebih dulu dari
Jess. Jadi abis Mocha,
kepopuleran Jess naik, abis itu
ditimpa lagi sama Vitesse. Tapi dia tetap
stabil ya.
- Iya, itu tadi penjelasannya sama
Jess di... - Orang udah keburu nanti.
- Nah, terus apa website yang dibuat
10 tahun lalu atau 5
tahun lalu lah. Apalagi testing,
kan lebih jarang
di single-single kan. Siapa juga yang
mau, mau
kini tumbel buat ngerimai
semua test.
Nanya teman, ngapain?
Nariurite atau refaktor testing?
-
Ya terus kan bahaya banget.
- Jarang kan testing di
refaktor. - Berarti semua test yang
ada kan harus dicobain satu-satu, kan
siapa yang makan?
Jadi setelah dipakai Mocha... - Mocha ini...
kabarnya banyak dipakai
di library testing untuk library.
Jadi udah, mungkin udah keburu pake
Mocha, ya ngapain juga ke Jess dan lain-lain.
- Jujur sih se muridnya
belum pernah pake Mocha
dan gak tau sinteksnya kayak apa.
Dan selama ini belum pernah ada perluannya.
Jadi ya udah.
- Mirip sama Jess, gak beda jauh.
- Merip. - Proda owner bilang,
"Eh, test kita
ini,
berhasil mulu,
berhasil mulu,
ubah aja lah framework-nya."
Gitu.
- Yang menarik adalah,
ini nih, positivity.
Positivity.
Jess itu turun.
Jess itu turun.
- Karena lebih berantit ya.
Vitesse-nya naik pasti. - Storybook naik.
Cypress turun.
Papetir...
- Oh bisa ya?
- Gitu-gitu aja. - Testing library naik.
Playwright naik tinggi.
- Wow.
- Vitesse lebih tinggi lagi.
- Wow.
Selenium mungkin
turun ya benar.
Test Cafe turun sedikit.
Mock Service ya baru.
Jadi kelihatan ya.
Jess mulai turun.
Test Cafe itu
test suite juga sih.
- End-to-end. - End-to-end testing ya?
- End-to-end, iya.
Ya dia bisnis, kayak bisnis,
dia bisa kayak pakai bahasa bisnis gitu.
Nanti di-translate.
- Oh pakai kata-kata berarti...
- Kayak Cucumber ya?
Bahasa Inggris ya?
- Iya.
- Jadi di sini Jess mulai turun.
Si Vitesse mulai naik.
Udah mulai banyak kan bermunculan
library
author atau maintainer itu
migrasi dari Jess ke Vitesse.
Testing Tools.
Experience.
Ini experience-nya.
Jess masih tinggi.
Dan tingkat kepuasannya juga oke.
- Ya, reasonable.
- Ketarikannya juga oke.
Storybook sama, kurang lebih.
- Storybook tuh buat visual testing-nya ya?
- Ya, visual testing.
Kalau Cypress ini
integration testing ya. End-to-end testing juga ya Cypress.
- Bisa dua-duanya.
- Bisa dua-duanya.
Ini juga lumayan.
Buka yang 50/50 sekarang ya
mulai ditinggalkan berarti.
Dan ada yang
dengar, tapi nggak mau
pikir lagi.
- Udah denger, cuma nggak terperiksa.
- Testing Library ini
cukup tinggi.
Dan tingkat kepuasannya
cukup tinggi. Ininya masih 50/50.
Tapi jarang di dengar.
- Tapi banyak banget, belum denger. Berarti nggak follow
can-see-dots.
- Nggak follow can-see-dots.
- Nggak.
Dia bukan react-only. Kan ada yang lain.
Spell juga ada.
Gimana sih?
- Itu kayaknya
salah kategori deh.
AI-nya salah.
- Mungkin karena testing library itu
apa ya? Kan
awalnya memang react kan.
- React testing library awalnya.
- React testing library. Udah gitu kan
si can-see-dots-nya kan
memang dia influencer-nya react kan.
Karena dia bikin remix kan.
- Kan sekarang underlying testing library
tapi bisa react, bisa swell, bisa lain-lain.
- Dulu dia anggulan.
- Dulu kerja di Facebook, bukan?
- Bukan.
Dia PayPal.
- Oh.
- 29%
Papetir juga lumayan, tingkat
kepuasannya lumayan tinggi.
Tapi ada juga yang tidak
begitu tertarik.
Kalau Vitesse, wow.
Kepuasannya lebih jauh lagi.
- Yang udah denger juga
pengen coba.
Tapi lumayan banyak juga sama.
- Playeride juga sama.
- 27%
belum denger.
- Playeride juga sama,
hampir sama seperti Vitesse juga.
Ini mirip.
- MSW nih, sedikit banget
yang udah denger.
- MSW iya.
- Gak pernah pakai gua.
- Gak denger malah.
- Ini buat making service worker ya?
- Iya, sesuai namanya.
Namanya deskriptif ya.
Gua taunya gara-gara
beli core testingnya.
Iya.
Jadi kayak...
- Kalau GraphQL API?
- Oh, kalau GraphQLnya belum coba, mungkin bisa juga.
Ya, literally buat
nyoba apa?
external request.
Biar gak harus
nge-hit endpoint beneran.
Cuma tahu gara-gara
apa beli core
testingnya, can see dots.
Di situ ada kayak cuma satu chapter tentang
mob service worker.
Yang nyoba itu doang, cuma
belum pernah pakai di project.
- Oke.
Testing tools lain, Boon.
Boon ini ada testingnya juga udah built-in.
Mengengkap sekali ya.
Jasmine.
Jasmine ini
adalah
cikal bakal dari Jazz.
Karma...
Kayaknya saya buat angkatan sama Jasmine.
Dulu-an. - Dulu-an Jasmine ya?
- Dulu-an Jasmine.
Jasmine itu adalah
test runner pertama yang bisa
jalan di browser.
Di browser ya. Kita pakai
CDN, dia bisa jalan.
VT sama atau beda?
Beda. VT kan
ini, apa?
Bundler. Kalo VT
buat testing. - Library testing.
- Namanya kan sudah test.
Ada testnya.
- Ava.
- Istanbul mana?
Kok gak ada istanbul?
- Ya itu masuk
Other Answers kali.
Noctua apalah? Notep?
Ufu? Apa sih? Ini belum pernah
terliru semua.
- HTTP Server Working Explanation.
- Server Working Explanation.
Oh, ini hatu-hatunya MoxServiceWorker tadi ya.
- Japa. Japa ini
kayaknya menarik deh. Pernah
ngelirik juga, tapi
ini sebelum Vtes
kayaknya. Sebelum Vtes muncul dia
sempat muncul.
No overhead.
Dan sekarang, oh ini buat
backend ya?
Backend. Khusus backend.
Dan sekarang,
sudah ada,
Node.js sudah muncul
test runner sendiri.
Jadi mungkin agak terkis ya.
Baru mau muncul tiba-tiba
udah ada apes ya.
Si Japa ini.
Deno juga sama seperti bun.
- Demo test namanya apes.
- Logonya itu ya, monyet ya.
Apes.
Bukan.
- Keyunit ini buat
jQuery bukan?
Bukan ya?
- Easy to use JavaScript
unifesting by one.
- Oh, bukan. Bukan.
Ini buat
kayaknya buat di browser juga.
- Kayaknya pernah lihat gua ini.
- Keyunit. Yang lain ada?
Apa? Gak bisa diklik ya?
- Istanbul. - Gak bisa.
- Ya, Istanbul 40% lah.
- Sisa nya itu Istanbul.
- Nggak ada lagi sih yang pakai Istanbul.
Sedih gua.
- Istanbul bukan buat
copyrights ya.
Tapi itu buat testing juga ya.
- Painpoint.
Mocking.
Configuration.
Performance. Yes.
- Yes. Ya, biasa ya.
Berarti makin banyak yang dipakai, makin banyak
komplainnya.
- Yes, banyak masalah memang.
Morelic. Import problem.
- Import. - Annoying.
- Super annoying. Betul. Makanya pindah ke fitness.
- Yes, module.
Dia masih belum yes module
soalnya. Jadi butuh
bubble dan lain-lain.
- Iya.
- I want to test my private methods. Just why?
- I want to test my private methods. Just why?
- Yes, dom. Slow
compilation.
Just ASM support is constant
headache.
Too slow.
ASM. Banyak kan ASM ya.
Sama konfigurasi.
Excessive complexity
muncul lagi, end-to-end testing, bingung,
flakiness, TypeScript support,
Cypress.
- Flakiness itu apa ya?
- Flakiness itu maksudnya apa ya?
Kayak yang ditest nggak sesuai
sama kejadian
ya. - Bukan.
Kayak item-item gitu loh.
Jadi kayak hasilnya
bisa beda-beda.
- Oh, nggak konsisten.
- Unreliable ya berarti.
- Iya, unreliable.
Jadi di tes sekarang, true.
Tapi di tes selanjutnya bisa false.
- Atau time out atau apa gitu ya kali ya?
TypeScript support,
Cypress. - Gue sering
ketemu di jazz gitu deh. Kayak memory leak
gitu loh. Jadi kayak
tiba-tiba dia hasilnya fake.
Tapi kalau di riran, benar.
- Benar.
- Nah, ini sebagian bukan keputuhan ya.
Sebagian sebenarnya positif tuh nomor 3
time consuming, but the benefits are
serious.
- Iya, tapi yang
di-highlighted kan time consuming-nya
sama CAA-nya kali ya? - Iya, karena
AI ya. Kan dia bilang,
"Saya sebenarnya makan waktu, tapi ya
setara. Serious benefits-nya."
- Satu project gue sekarang untuk ngarahin
integration test itu, satu
PR ya. Satu PR
sebelum bisa di match itu
nunggu 45 menit.
- Wah. - Oke, apa
GitHub Actions?
- Iya. - Travis atau
semacamnya.
- Catalan nggak masuk.
Catalan nggak masuk. Bukan JavaScript.
Catalan bukan JavaScript.
Ini adalah survei JavaScript.
Jadi nggak ada katalon ya.
Eh, jangan-jangan ada katalon
JavaScript, saya nggak tahu.
Kalau saya sih bukan JavaScript ya.
Dan itu testing tools yang
bukan diketik kan,
dark and drop gitu-gitu kan.
Testing skenario ya istilahnya ya.
Saya nggak tahu istilahnya.
Cypress.
Apa nih?
Bacanya.
Ini termasuk
sentimen negatif berarti ya?
- Nggak tahu. Menurut AI.
- Cypress makes life
worse.
- Fragility, karma,
jasmine. Do use
headless browser though.
- Tapi Cypress itu ini-nya
lumayan sih.
- Dokumentasinya bagus loh.
- Bagus ya. - Ya itu tadi
opini kan, subjektif itu.
Bagus-nya bagus.
- Node.js.
- Nod will in. Sekarang udah...
- Nod sudah difix.
- Ini udah juga...
- Ini kan udah.
- Ini juga...
- Eh, cuma snapshot testing
dan lain-lain, nggak tahu bisa atau...
- Belum-belum ya.
Mocha watch mode
with TS node and ESM
not working.
- Not all browser APIs
are implemented in Node.js
testing, like resize observer
ya iyalah.
- Pertanyaan, pertanyaan.
Kalau kita bikin test case,
perluka pakai
TypeScript atau
JavaScript aja?
- Selama ini sih JavaScript doang.
- JavaScript cukup ya?
- Test-nya kan, kode test-nya?
- Ya, kode test-nya.
JavaScript.
- Saya JavaScript doang, karena
saya pakai TypeScript.
- Ribet komponennya.
- Bukan yang nambah layer satu complexity sendiri ya?
- Ya makanya sih.
- Jalanin Mocha
pakai TS node
sama ESM biar...
- TS node-nya buat
ngerender si komponennya?
Mungkin ya.
- Oke, oke, make sense.
Testing tools.
Front-end testing.
I never sure what or how
to test the component.
Front-end testing.
- Nah, itu kalau ada yang punya masalah
yang nomor satu, direkomendasikan.
Ya, kalau mau cari resource gratisan, ya silahkan.
Tapi kalau misalnya ada
jenna lebih, beli
course testing-nya.
Mas Kensy Dodds, recommended.
Kan dia perspektifnya juga,
perspektifnya, apa
gampang dicerna buat front-end dev?
- Self-thought atau apalah,
gak masalah.
- Setup-nya sulit.
- Berarti kita bisa
bedak buku-nya aja dong.
Atau video?
- Video dia, online courses.
- Video-nya pendek-pendek gitu.
Pendek-pendek, terus ada contoh-contohnya.
- Kalau videonya di-review,
gak itu sih, gak bisa ya.
- Wah, kayak enak.
- Republish bagi, gak usah lah.
- Difficult to test.
Ya, masih banyak
yang ini ya, kesulitan untuk
testing di sisi front-end.
Biasanya bingung
mau ngetes apa. Ini karena
kalau back-end kan kayaknya
udah lebih jelas ya, udah lebih mature ya
untuk testing ya.
Kalau front-end kayaknya
masih... - Testing business logic.
- Iya, masih agak-agak
membidikkan. - Ada itu kan,
pyramid of testing. Berarti ya mengerti
pyramid of testing aja dulu.
- Banyak yang complain itu
front-end, itu
susah ditest.
- Ini kayaknya sebetulnya separuhnya bukan
masalah teknis deh, tapi masalah
apa ya, kayak habit-nya sih, habit
culture, jadi kayak apa ya,
gak tahu apa yang ditest.
Itu kan berarti ya, gak terbiasa
aja. Maksudnya Jessup.
Oh bukan, ada Jess, pesaingnya
Jess. - Ada.
- Tidak, dia script runtime
untuk Linux saja.
Jess Jess.
- Kenapa?
- Test dari user aja, bagus.
- Kalau ada user yang
lapor, oh ini rusak.
Bisa diakses lah, itu berarti
kan itu failing test-suit ya.
- Itu namanya BDD.
- Bakterifan
Development.
- Jangan lupa di-lock ya.
- Bukan yang Epic ya,
ada yang satu lagi ya.
Kalau Epic, ini yang dia
bahas remix ya?
- Ya, web dev secara unggul.
Ya, tapi pakai remix ya,
karena dia
suka membuat remix.
- Terus ini dokumentasinya mana?
Oh di GitHub ya.
- Ini anak Linux,
jadi kayaknya
dokumentasinya di-code.
Kayak di-code aja, baca aja.
- Kamingsun itu?
Kenapa masak suit itu ya?
Salah kayaknya ya.
- Docsnya kamingsun.
Apa? I/O?
Kok I/O?
- I/O.
- Ayoloh.
- L/O apa I/O nih?
L/O ya?
- I/O.
- L/O.
- Runtime-nya ini
ya JavaScript runtime-nya ini.
Modulnya.
- Kenapa masuk?
- Tapi bisa masuk ya?
Ada 44 orang.
Apa janyangan?
Just fine.
Salah.
Salah kategori.
- Oh iya, just fine.
- Salah kategori.
Salah, salah, salah.
- Just don't write bugs.
Itu masalahnya.
Just don't write bugs shaking my head.
Nomor 4.
- VITES.
Apa masalah VITES?
- Just should let VITES take over.
VITES is great, but limiting.
Ini yang nomor 1 sama 2
itu sebenarnya malah memuji VITES ya.
Bagus sebenarnya.
Ini sebenarnya VU3-nya, bukan?
Ini juga
ini juga positif sebenarnya.
- Apa itu?
- Common JS, yes,
module pain if not
a modern testing framework like VITES.
Kalau selain VITES...
- Memuji VITES.
- Ini sebenarnya muji.
VITES is slower than VITES.
VITES is slower than BUN.
Oh berarti BUN paling cepat.
- BUN paling cepat.
Ya kan itu tadi disesuaikan.
Sesuai dengan...
- Iya, tadi ada.
Slow startup times,
but VITES solves that completely.
Ini juga positif.
Most popular option
JS is much slower than
alternative like VITES, ini juga positif.
Banyak positifnya, berarti nggak relevan
penpoinnya. Error handling,
other answer apa?
Over limit, cut off answer, oh ini ya.
Ini nih.
Course-nya yang ini ya, yang apa?
Testing Javascript ya.
.com
Page dulu.
Oke.
Recommended resource
web app testing and tools.
Oh ini yang bikin pick ya.
Ini yang bagus-bagus
juga loh.
Recommendednya ini.
Bagus, bagus.
Ini dari front-end masters, bukan?
Iya bener.
Dari front-end masters.
Jualan dikit, tapi dia kasih yang
kualitas yang sudah kayak editor-editor.
Jualan tapi emang...
dan emang sesuai sama market kan.
Adversarial, editor-choice ya.
Editor-choice.
Oke.
Mungkin kita
stop sampai disini dulu kali ya.
Stop dulu, ngantuk.
Tidak ngantuk.
Sudah ngantuk.
Buat yang mau
apa, memulai testing,
ini sangat direkomendasikan ya
sesingjavascript.com, walaupun
harganya tidak murah ya.
Tapi worth it ya.
Buat Indonesia, itu ada diskon negara
diskon negara berkembang.
Perti purchase ya.
Perti purchase.
Sama kalau apa sih kayak Black Friday
atau apalah yang di Amerika suka diskon-diskon
gitu, itu diskon juga.
Jadi apa, udah ada potongan karena
negara agak susah.
Plus diskon, ya
diskon apa, buy event itu.
Black Friday masih lama.
10-3 bulan lagi.
Eka kan udah beli ya.
Coba dikontak, mas Ken
Sidwarts-nya undang kesini.
Alusannya saya udah beli kursus.
Mau promosiin.
Oh, cuma dia sekarang gak terlalu
semangat promosi itu.
Dia fokusnya ke yang webdev itu.
Karena disambungin sama Remix.
Remix ya.
Sekalian ngomongin playwright aja
di sini. Remix juga bisa, boleh.
Gak masalah.
Kita mah terima-terima aja.
Terus Eka-nya,
gimana kontaknya?
Oh no, berani bayar
berapa.
Oh iya dia, dia emang
dia kerjaannya kan bikin workshop nanti.
Dibedah-bedah kirim invoice.
Dapet invoice.
Full stack gak perlu testing.
Enak aja.
Siapa bilang.
Justru.
Kalau
kalau ini, kalau
yang nge-developnya sedikit,
maksudnya orangnya yang kecil
dan
yang di-maintain
gak lama-lama amat ya
testing sih overhead.
Tapi kalau timnya sudah banyak,
yang memakai banyak,
dan legacy code nya itu
sudah lebih dari
2 tahun, 3 tahun.
Kalau gak punya testing,
nah itu
apa namanya,
hidup menjadi
jauh lebih susah.
Kapan bahas re-query?
Tapi walaupun gak perfect ya,
maksudnya gak 100%
ya 1, 2,
3 skenario paling penting
end to end.
Kita sebutnya minimal
critical scenario harus
di-covered.
Harus bisa login, jangan sampai tiba-tiba user gak bisa login.
User harus bisa buka landing page dan ada
kontennya.
Kalau pun gak bisa perfect yang kayak
orang-orang.
Ya maksudnya gak perlu end to end testing yang 100%
segala macem.
Implementasinya
bisa buka
landing page.
Betul-betul.
Terus itu enak sih karena disambungin ke
ICD pipeline sih.
Karena daripada musim pusing juga kan
kalau harus cek setiap
nge-deploy, cek satu per satu,
terus bisa login, terus bisa apa.
Ya belum contoh, ada waktunya juga.
Dibikin aja udah kalau
itu passing semua baru bisa deploy
nah malah udah kerja sekali
gak usah dipikir lagi.
Kecuali implementasi kita berubah.
Sebagai salah satu pandangan
saya ngeliatnya sekarang di salah satu
bank
yang marketnya
di 50 negara.
Terus kalau misalnya
apa namanya?
Tanpa testing
saya gak berani untuk nge-deploy.
Cuma kalau bank
serem sih, harus lebih
serius ya.
Meskipun gak ada urusan sama transaksi ya.
Karena saya gak ada urusan sama transaksi.
Tapi ada compliance.
Bukan, gak ada urusan sama transaksi.
Jadi gak ada urusan sama bank yang untuk
internet banking. Ini murni
hanya konten.
Tetapi urusannya sama compliance.
Dan itu kan urusan compliance
itu urusan sama
gak main-main sama
gak main-main.
Jadi legal.
Jadi gak bisa sembarangan.
Minimal banget.
Kalaupun misalkan temen-temen
udah terlanjur
projectnya udah terlanjur jalan
gak ada testingnya. Minimal
ketika ada bug, mulai bikin test
untuk solving bug.
Itu starting point yang
paling minimal. Kecil-kecil aja dulu.
Jadi mulai sesuatu yang critical.
Pilih aja critical requirement,
critical business scenario.
Itunya aja dulu mulai.
Bikin satu-satu.
Jadi mulai tenang kepalanya.
Karena biasanya
kadang-kadang,
bukan kadang-kadang, sering kali
kita fixing bug ini, muncul bug yang
lain. Kita fixing ini, bug yang tadi
muncul lagi. Karena gak di-check.
Oke main-main itu, yang kepala gue yang muncul
itu tau gak sih di time zone?
Pukul satu, muncul.
Tau kan?
Tau, tau.
Jadi, ya...
Kadang, ada lagi itu yang mainan
tau gak ya? Gigi. Yang dia main
buka gigi, terus kita harus pencet
giginya satu-satu.
Jadi, kira-kira bugnya ini
bukan gak ya?
Kira-kira bug ini bukan ya?
Tiba-tiba,
benerin, terus kegigit.
Nah, itu sakit.
Itu namanya
gacha.
Gacha development.
Cari bugnya pake gacha.
Kalo beruntung dapet, kalo gak beruntung
bugnya nambah.
Kalo nambah yang tadi gak betul, sekarang
nambah satu lagi. Malah salah.
Malah jadi salah.
Begitulah. Oke, kalo gitu.
Belum udahan, jangan lupa,
silahkan teman-teman
kunjungi kesana.in/
ngobrolinweb.
Kita bisa diskusi disini.
Kita udah bahas.
Monorepo belum, database scaling
belum, dokumentasi belum,
licensing menarik nih.
Big O.
Fundamental ya. Design pattern.
Kita belum pernah balik ke fundamental ya.
Belum ya.
Nah, kira-kira
apakah si apa?
Si state of JS-nya perlu kita lanjutkan
sampai
dimana? Kayaknya perlu ya.
Tinggal sedikit lagi kok. Paling satu episode
lagi ya terakhir kali ya.
Atau kali di gabung sama ya
kita cari inspirasi dulu. Kali misalnya
bahas tentang mobile desktop,
di gabung aja sama topik
yang misalnya bahas elektron.
Ya kita bahas elektron. Oh iya, menarik, menarik.
Benar, benar, benar.
Tapi kita merendung dulu ya.
Merendung dulu ya. Bisa gak ya
kalau repo testing dipisah
sama repo project?
Bisa, tapi
buat apa? Buat apa?
Jadi maintain dua project
dong. Nanti kalau misalkan ada perubahan
ketemu bugs-nya di
testing, terus perbaikinya di sini
yang di aslinya enggak.
Gimana tuh? Terus kalau kayak unit testing
berarti komponennya udah dipublish
dulu gitu ke NPM misalnya.
Ya bisa sih kalau bisa atau enggak, bisa.
Tapi kan berarti misalnya sambil
test. Iya.
Ngefix dulu, dipublish,
terus di-testing. Biasanya test code-nya
itu satu
berdampingan dengan
source code.
Ya, pertanyaannya kenapa harus
dipisah?
Takut ngerusak gitu testing-nya. Kan testing-nya
di file atau di folder yang berbeda.
Nggak bakal ngerusak kode aslinya, kan?
Nggak bakal dibuild juga, kan?
Apa yang menyebabkan
ingin dipisah gitu.
Pasti ada
case tertentu.
Mau ngetestim
supaya enggak berantem.
Biar enggak berantem
ya testing.
Kode-nya biar enggak berantem kode-nya.
Nggak konflik gitu.
Konflik apa nih?
Konflik kode apa konflik
berantem sama orangnya.
Nggak mau bikin testing.
Kode-nya berantem.
Kode-nya berantem.
Oke. Mungkin untuk malam ini
Tapi paling susah tuh nge-maintain testing lho.
Satu lagi. Nge-maintain testing.
Pasti.
Saya sering ya
nggak sekarang sih sudah disiplin
enginer-enginer yang
kubu sebelah. Memulainya
itu susah. Kalau udah disiplin gampang.
Kadang-kadang ada
zaman dulu tuh supaya
supaya testing-nya pas
kode
nge-maintain testing-nya yang didisable.
True, true.
Iya.
Sama kayak bingung
ini ISLIN-nya kok ini ada warning ya.
Terus nggak bisa di-purequest kan.
Diignore aja.
ISLIN
Ignore file.
Mantap.
Apalagi TS, TS Ignore.
TS Ignore.
Ini-ini nggak apa-apa lewat.
Oke, oke, oke, oke.
Ya, jadi untuk malam ini
sekian dulu. Kita ketemu lagi
minggu depan.
Topiknya sama atau
beda? Ya, ditunggu aja.
Atau mirip-mirip? Atau mirip-mirip ya.
Kalau, apa namanya?
Kalau misalkan
temen-temen mau
suggest topic, boleh
tadi di ngoprolin web/
ngoprolin web, kesanain/
ngoprolin web.
Ini dia. Nanti kita
lihat-lihat lagi, oke?
Sekian dulu. Selamat malam, selamat istirahat.
Sampai jumpa. Bye-bye.
Bye-bye.
Deskripsi asli dari YouTube
Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. Topik, tautan dan pertanyaan menarik bisa dilayangkan ke https://bit.ly/ngobrolinweb Kunjungi https://ngobrol.in untuk catatan, tautan dan informasi topik lainnya.
Episode Terkait
24 Sep 2025
Toolkit Modern
Episode ini membahas tentang tools atau alat bantu modern dalam pengembangan web, khususnya build tools dan test runners...
2 Okt 2024
Ngobrolin Drama Trademark & Open Source
Episode ini membahas drama perseteruan antara Matt Mullenweg (co-founder WordPress) dengan WP Engine, sebuah perusahaan ...
23 Jul 2025
Bedah Buku Problem Solving 101
Episode ini membahas buku "Problem Solving 101" karya Ken Watanabe, mantan konsultan McKinsey yang menulis buku ini seba...
Suka episode ini?
Episode baru setiap Selasa malam. Dengarkan lewat YouTube, Spotify, atau feed podcast favoritmu.
Memuat komentar dari GitHub Discussions...
Jika komentar tidak muncul karena ekstensi privasi / adblocker, kamu bisa berdiskusi langsung di GitHub Discussions .