14 poin oleh GN⁺ 2023-08-16 | 21 komentar | Bagikan ke WhatsApp
  • Tinjauan kritis terhadap React, pustaka JavaScript yang banyak digunakan untuk membangun antarmuka pengguna, beserta usulan alternatif.
  • React dikritik sebagai ketinggalan zaman, dengan sorotan pada kurangnya performa dan adaptabilitas.
  • Penulis berpendapat bahwa ekosistem React terlalu besar tanpa perlu, dan bahwa React hooks kini sudah usang.
  • Ada argumen bahwa frontend tidak perlu berfokus pada rendering dan scaling.
  • Server-side rendering tidak lagi unik, dan data binding dua arah bukanlah ide yang buruk.
  • Styling lebih sederhana daripada di React, dan framework lain tidak sulit dipelajari.
  • Alternatif React dikatakan bukan sekadar sesuatu yang "baru dan berkilau", melainkan sudah matang dan menawarkan performa yang lebih baik.
  • Disarankan untuk mencoba framework lain seperti Svelte, Vue, Solid, Fresh, Astro, Preact, Qwik.
  • Favorit pribadi penulis adalah Svelte, yang menurutnya lebih mudah dipelajari dan memiliki performa lebih baik daripada React.
  • Svelte adalah compiler, sehingga kode yang tidak digunakan dihapus saat build time untuk menghasilkan bundle yang lebih kecil.
  • Meta-framework SvelteKit milik Svelte beragam dan kuat, serta mendukung static, server rendering, dan deployment edge.
  • Vue menawarkan performa yang lebih baik daripada React dan pendekatan yang lebih berfokus pada UI, menggunakan bahasa template yang lebih dekat ke HTML asli daripada JSX.
  • Solid adalah versi React yang lebih berperforma, menghilangkan kompleksitas, masalah performa, dan boilerplate. Framework ini juga menyediakan meta-framework sendiri, SolidStart.
  • Fresh adalah framework frontend server-rendering yang dibangun di atas Deno, dengan arsitektur islands. Framework ini menawarkan JavaScript seminimal mungkin dan pemuatan konten dinamis yang cepat.
  • Astro adalah static site generator berperforma tinggi dengan kemampuan server-side dinamis. Secara default tidak menggunakan JavaScript sama sekali, dan kompatibel dengan berbagai framework frontend.
  • Preact adalah versi React yang lebih ramping dan cepat, serta memiliki beberapa fitur unggulan yang tidak dimiliki React.
  • Qwik menawarkan pendekatan baru dengan kode yang mirip React server-rendering, dan merupakan pilihan yang baik untuk proyek dengan banyak interaksi.
  • Pustaka web components seperti Lit, Stencil, Polymer direkomendasikan untuk proyek yang ingin menggunakan ulang komponen yang sama di berbagai lingkungan atau bersiap menghadapi pergantian framework.
  • Penulis menyarankan bahwa industri teknologi dapat membuat lompatan adopsi teknologi berikutnya dengan beralih dari React ke sesuatu yang baru.

21 komentar

 
linrise 2023-08-17

Tulisan ini terasa remeh, seolah seorang junior yang tidak sopan berkata, “Senior~ sekarang Anda sudah tidak ada gunanya, jadi pensiun saja, ya?”

 
moderator 2023-08-17

Sepertinya diskusinya mulai memanas terkait artikel ini.
Mohon periksa bagian komentar pada panduan penggunaan situs.

Mohon sampaikan pendapat dengan ramah dan sopan.
Mohon jangan menyerang penulis secara pribadi.
Jika ada sanggahan, mohon tuliskan hanya isi sanggahannya.

 
cosine20 2023-08-17

Secara pribadi, saya kurang suka kalau bahasa seperti JS dipakai sebagai bahasa pengembangan server.
Belakangan memang banyak yang berbasis TS, tapi pada akhirnya hasilnya tetap keluar sebagai JS... Python juga begitu, JavaScript juga begitu, dari sisi bahasanya benar-benar tidak terlalu saya suka, tapi entah karena kemudahannya jadi banyak dipakai.
Rasanya seperti demokratisasi bahasa.

 
roxie 2023-08-17

Agak menyebalkan rasanya karena setelah Vercel susah payah membuatnya, orang-orang jadi menganggapnya terlalu wajar dan sepele.

 
secret3056 2023-08-16

Kalau teringat masa sekolah dulu menulis servlet yang rasanya seperti neraka dengan editor yang bahkan tidak bisa menangkap error sintaks, jadinya saya bersyukur untuk segalanya, entah itu React atau Svelte.....

 
bichi 2023-08-16

Saat mencoba ini dan itu, kelebihan dan kekurangan React mulai terlihat. React memang bagus, JSX adalah keunggulannya, dan bersikap negatif terhadap pendapat yang negatif tentang hooks terasa seperti agama yang buta.

 
alucard 2023-08-16

Saya menulis bahwa keunggulannya bukan pada JSX, melainkan pada expressiveness.. setelah benar-benar membaca teks aslinya soal hooks, saya memastikan bahwa yang dikritik bukan pattern hooks itu sendiri, melainkan hanya bahwa itu bukan lagi keunggulan yang eksklusif milik React. Untuk tingkat itu saya bisa setuju. Karena terjemahannya seperti itu, saya jadi salah paham.
Jadi, bisakah Anda menuliskan secara spesifik apa yang dimaksud dengan 'poin kuat yang bisa dijamin' yang Anda pahami?

 
bichi 2023-08-16

Anda tentu tidak berpikir bahwa library atau framework hanya punya kelebihan tanpa kekurangan, kan? Saat menggunakannya, apa Anda tidak pernah merasakan kekurangan React? Melihat Anda sampai meminta orang menuliskan kekurangannya, sepertinya Anda memang belum pernah merasakannya sama sekali? Anda tahu kan bahwa kalau ada kelebihan dan kekurangan, itu berarti ada kelebihannya juga? Kelebihannya memang banyak, tapi kekurangannya juga banyak. Salah satunya, ini yang saya baca kemarin, tapi saya lupa tautannya, di Server Component katanya hanya bisa menggunakan context dari dalam Server Component. Karena itu, katanya js-in-css tidak bisa digunakan. Saya sendiri belum mencobanya langsung, jadi saya tidak bisa bilang itu benar-benar kekurangan, haha. Soal hook? Menurut saya itu benar-benar ide yang revolusioner. Tapi sekarang, haha, ada signal yang lebih pintar dan lebih mudah digunakan daripada React. Itu juga ada di artikel utamanya.

 
alucard 2023-08-17

Ya wkwk, enak didengarnya.

 
cookiet 2023-08-16

Di tengah semua ini, Angular juga masih belum dibahas, hiks hiks.

 
alucard 2023-08-16

Saya sama sekali tidak setuju. Dalam kasus JSX, justru sengaja digunakan karena punya keunggulan dalam daya ekspresi dibanding HTML.
Dan saya juga mempertanyakan kenapa pendapat umum bahwa two-way data binding itu ide yang buruk tiba-tiba berbalik.
Lalu apa maksudnya ekosistem yang besar secara tidak perlu? Dan hooks sudah ketinggalan zaman...
Secara pribadi, saya bahkan meragukan apakah ini benar-benar tulisan dari seorang programmer.

 
kuroneko 2023-08-16

Sepertinya ada cukup banyak poin yang masuk akal. Meski saya masih tetap menggunakan React...

 
[Komentar ini disembunyikan.]
 
beingbook 2023-08-16

Tampaknya agak berlebihan jika hanya mengklaim performanya rendah tanpa menjelaskan secara spesifik trade-off teknis apa yang ada. Misalnya, implementasi island selain React tidak memungkinkan hal-hal seperti pemuatan berbasis prioritas.

 
laracool 2023-08-16

Selama tidak ada yang lain muncul di framework e-government... React mau tak mau akan tetap sangat kuat di dalam negeri.

 
[Komentar ini disembunyikan.]
 
bohaesoju 2023-08-16

Entahlah. Terlalu banyak library yang diajukan sebagai alternatif React.
Kalau mempertimbangkan semuanya secara menyeluruh, bukankah seharusnya mereka menonjolkan kelebihan yang lebih unggul dibanding React?

 
tequila 2023-08-16

Vue dan Nuxt benar-benar bagus, tapi sayang posisi keduanya di dalam negeri cukup sempit. Svelte... bahkan sulit dibicarakan posisinya (sedih)...

 
[Komentar ini disembunyikan.]
 
bichi 2023-08-16

Benar sekali, sampai 10.000 kali pun

 
GN⁺ 2023-08-16
Opini Hacker News
  • Sebagian pengembang lebih menyukai bahasa template Vue karena lebih dekat ke HTML dasar dibanding JSX, dan memudahkan penulisan kondisi serta perulangan di file template.
  • Penggunaan struktur bahasa seperti filter, map, dan reduce di React dianggap oleh sebagian orang lebih nyaman daripada solusi workaround.
  • Seorang pengembang membagikan pengalaman meninggalkan React dan menggunakan frontend server-side rendering serta vanilla JS, dan menemukan pendekatan itu lebih mudah dipelihara.
  • Sebagian orang menganggap Web Components terlalu dibesar-besarkan karena DOM sendiri sudah menyediakan cara yang andal untuk mengintegrasikan library pihak ketiga ke React.
  • Popularitas React dianggap berasal dari model pemrogramannya, dan JSX masih dipandang sebagai salah satu cara yang lebih baik untuk langsung mengintegrasikan bagian UI aplikasi JS dengan bagian JS-nya.
  • Dari sudut pandang bisnis, tetap menggunakan standar industri seperti React memudahkan perekrutan dan memberi ekosistem yang lebih besar, sekaligus mengurangi kebutuhan membangun semuanya dari nol.
  • Hooks di React dianggap sebagai peningkatan besar dibanding metode siklus hidup class component, dengan kode yang lebih rapi dan lebih kuat.
  • Sebagian pengembang menganggap function component dan Hooks di React sebagai kesalahan, yang membuat codebase kurang mudah dipelihara dan lebih sulit dipahami.
  • React dianggap lebih mendasar dibanding framework lain, dengan pergeseran dari paradigma imperatif ke paradigma yang lebih fungsional.
  • Kutipan artikel tentang jumlah yang dibayarkan Google kepada Alex Russel untuk menyusun spesifikasi Web Components dianggap bias karena adanya persaingan langsung antara Web Components dan React.
  • Sebagian pengembang merasa para pemrogram web telah kehilangan kemampuan untuk "mencoba sendiri" dan membangun sistem kompleks secara praktis, serta merasa framework seperti React sering digunakan secara berlebihan.
  • Penulis artikel dikritik karena kurang memiliki keahlian atau pemahaman tentang sejarah dan perbedaan di antara solusi yang ada saat ini, serta tidak memberikan contoh.
  • Sebagian orang setuju dengan klaim artikel bahwa pengembang seharusnya tidak perlu mengkhawatirkan performa rendering, dan merasa aneh jika React menuntut pengembang menggunakan fitur seperti useMemo dan useCallback.
  • Sebagian orang setuju dengan klaim artikel bahwa pengembang akhirnya hanya menjadi pengembang React dan tidak bisa mencari cara lain, serta merasa React memperkenalkan definisi seperti component, state, dan Hooks sehingga pemahaman tentang konsep dasar pemrograman menjadi berkurang.