6 poin oleh GN⁺ 2024-10-04 | 1 komentar | Bagikan ke WhatsApp
  • Gumroad mempertimbangkan htmx saat memulai proyek baru bernama Helper.
  • Mereka ingin menggunakan htmx untuk menghindari kompleksitas React, tetapi pendapat di dalam tim terpecah.
  • Pada awalnya, htmx tampak menjanjikan untuk menambahkan interaksi sederhana.

Keterbatasan htmx

  • Intuitivitas dan pengalaman pengembang: Bekerja dengan htmx tidak terasa lebih intuitif dibanding Next.js. Saat mengimplementasikan form yang kompleks dan validasi dinamis, logika sisi server menjadi lebih rumit.
  • Keterbatasan UX: htmx pada dasarnya mengambil pendekatan Rails/CRUD sehingga pengalaman pengguna menjadi monoton. Membangun antarmuka drag-and-drop lebih sulit dibandingkan dengan React.
  • Dukungan AI dan alat: Next.js lebih ramah terhadap alat AI, sedangkan htmx tidak. Hal ini memengaruhi kecepatan pengembangan dan pemecahan masalah.
  • Masalah skalabilitas: Saat proyek menjadi makin kompleks, htmx tidak mampu mengikuti kebutuhan. Ketika menambahkan kolaborasi real-time dan fitur visualisasi data yang kompleks, pengelolaan state menjadi sulit.
  • Komunitas dan ekosistem: Ekosistem React/Next.js sudah matang dan menawarkan beragam solusi, sedangkan htmx tidak.

Keputusan akhir: beralih ke React/Next.js

  • React/Next.js lebih cocok untuk membangun UX yang kompleks.
  • Mereka memanfaatkan keunggulan React dalam fitur drag-and-drop, pengelolaan state yang kompleks, pembuatan form dinamis, kolaborasi real-time, optimasi performa, dan lainnya.
  • Mereka beralih ke React untuk mengatasi keterbatasan htmx, dan ini mendukung visi jangka panjang proyek.
  • Mereka puas dengan keputusan ini, dan untuk saat ini dapat bergerak lebih cepat, menciptakan pengalaman pengguna yang lebih menarik, serta memanfaatkan alat dan library yang sudah ada.

Pelajaran dari pengalaman

  • Mempertimbangkan alternatif yang ringan itu penting, tetapi sama pentingnya untuk memilih teknologi yang bisa berkembang bersama proyek dan mendukung visi jangka panjang.
  • Untuk Helper, React dan Next.js terbukti menjadi pilihan tersebut, dan setelah berpindah mereka dapat meningkatkan pengalaman pengguna aplikasi secara signifikan bagi pelanggan inti.

Ringkasan GN⁺

  • Pengalaman Gumroad menunjukkan bahwa mempertimbangkan alternatif yang ringan itu penting, tetapi memilih teknologi yang dapat mendukung pertumbuhan proyek dan visi jangka panjang juga sama pentingnya.
  • htmx bisa cocok untuk model interaksi yang sederhana atau aplikasi server-rendered yang sudah ada.
  • Untuk antarmuka Helper yang kompleks dan berbasis state, React dan Next.js adalah pilihan yang lebih baik.
  • Tech stack dapat dievaluasi ulang sesuai kebutuhan, dan penting untuk tetap fleksibel setiap kali teknologi baru muncul.

1 komentar

 
GN⁺ 2024-10-04
Komentar Hacker News
  • CEO Gumroad membagikan pengalamannya mencoba htmx lalu beralih ke NextJS. Ini menjadi informasi yang berguna bagi orang yang sedang mencari pengalaman negatif tentang htmx

    • Alat AI sudah akrab dengan Next.js, tetapi tidak dengan htmx. Ini memberi prediksi penting tentang masa depan alat pengembangan
    • Ada prediksi bahwa LLMs akan memperkuat struktur pemenang-mengambil-semua yang sudah ada dan mendorong penggunaan alat open source
  • Saat membuat formulir yang kompleks, logika sisi server menjadi rumit dan lebih sulit daripada pekerjaan sisi klien di React

    • Ada meme yang menekankan bahwa validasi tetap harus diimplementasikan di sisi server
  • Mereka mencoba menjaga frontend tetap ringan dengan htmx, tetapi akhirnya harus memakai library pihak ketiga untuk UI/UX yang kompleks dan manajemen state

    • Ada pendapat bahwa pekerjaan di React terasa lebih mudah karena menggunakan library pihak ketiga
    • Ada pendapat bahwa jika harus mengelola state dan rendering yang kompleks, maka htmx mungkin sejak awal bukan pilihan yang tepat
  • Sulit mengimplementasikan antarmuka drag-and-drop dengan htmx, dan pengalaman yang lebih mulus bisa didapat dengan library React

    • Dengan htmx, sebaiknya hanya menggunakan bundle frontend seperlunya
    • Event htmx.onLoad dapat dimanfaatkan untuk mencari markup dengan atribut pada konten yang dimuat lalu menghubungkannya
  • Tim tampak lebih terbiasa dengan pengembangan frontend, dan mengalami kesulitan dalam komunikasi dengan backend

    • Mereka mengakui kelebihan komponen React serta kemudahan menemukan dokumentasi dan bantuan
  • Ada pendapat bahwa proses pengembangan dengan Next.js terasa lebih alami

    • Ada juga pendapat bahwa sintaks ReactJS tidak terasa alami
  • Ada pendapat bahwa menarik melihat HTMX membagikan pengalaman seperti ini, dan ada proyek yang memang tidak cukup ditangani hanya dengan HTMX

    • Mereka menekankan bahwa validasi formulir tetap diperlukan di backend
    • Kasus tim yang semakin bergantung pada alat AI terasa menarik
    • Ada pendapat bahwa diperlukan plugin untuk melengkapi keterbatasan HTMX
  • Ada pujian terhadap HTMX.org karena meng-host esai seperti ini

  • Ada kekhawatiran bahwa alat AI bisa membuat adopsi framework atau bahasa pemrograman baru menjadi lebih sulit

    • Dibayangkan bahwa hal ini dapat memengaruhi alat pengembangan, mirip seperti SEO