Lompat ke konten utama
EP 91

Ngobrolin State of JS Bagian 2

Ringkasan Episode

Bantu Koreksi

Episode 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

Bagikan:

Suka episode ini?

Episode baru setiap Selasa malam. Dengarkan lewat YouTube, Spotify, atau feed podcast favoritmu.

Pilih Cara Langganan

Memuat komentar dari GitHub Discussions...

Jika komentar tidak muncul karena ekstensi privasi / adblocker, kamu bisa berdiskusi langsung di GitHub Discussions .