- Gumroad, yeni projesi Helper’ı başlatırken htmx’i değerlendirdi.
- React’in karmaşıklığından kaçınmak için htmx kullanmak istediler, ancak ekip içinde görüş ayrılığı vardı.
- İlk başta htmx, basit etkileşimler eklemek için umut verici görünüyordu.
htmx’in sınırlamaları
- Sezgisellik ve geliştirici deneyimi: htmx ile çalışmak, Next.js’ten daha sezgisel değildi. Karmaşık formlar ve dinamik doğrulamalar uygulanırken sunucu tarafı mantığı daha karmaşık hale geldi.
- UX kısıtları: htmx varsayılan olarak Rails/CRUD yaklaşımını benimsediği için kullanıcı deneyimi daha tekdüze kaldı. Sürükle-bırak arayüzleri uygulamak React’e göre daha zordu.
- Yapay zeka ve araç desteği: Next.js, yapay zeka araçlarıyla daha uyumlu, htmx ise değil. Bu da geliştirme hızını ve problem çözmeyi etkiledi.
- Ölçeklenebilirlik sorunları: Proje karmaşıklaştıkça htmx gereksinimlere ayak uyduramadı. Gerçek zamanlı iş birliği ve karmaşık veri görselleştirme özellikleri eklenirken durum yönetimi zorlaştı.
- Topluluk ve ekosistem: React/Next.js ekosistemi olgun ve çeşitli çözümler sunuyor, htmx ise bunu sağlayamıyor.
Nihai karar: React/Next.js’e geçiş
- Karmaşık UX oluşturmak için React/Next.js daha uygundu.
- Sürükle-bırak özellikleri, karmaşık durum yönetimi, dinamik form üretimi, gerçek zamanlı iş birliği ve performans optimizasyonu gibi alanlarda React’in avantajlarından yararlandılar.
- htmx’in sınırlamalarını aşmak için React’e geçtiler; bu da projenin uzun vadeli vizyonunu destekledi.
- Bu karardan memnunlar; en azından şimdilik daha hızlı ilerleyebiliyor, daha etkileyici bir kullanıcı deneyimi oluşturabiliyor ve mevcut araçlar ile kütüphanelerden yararlanabiliyorlar.
Deneyimden çıkarılan dersler
- Hafif alternatifleri değerlendirmek önemli, ancak projeyle birlikte büyüyebilen ve uzun vadeli vizyonu destekleyebilen teknolojileri seçmek de aynı derecede önemli.
- Helper için React ve Next.js böyle bir tercih olduğunu kanıtladı; geçişten sonra temel müşteriler için uygulamanın kullanıcı deneyimini büyük ölçüde yükseltebildiler.
GN⁺ özeti
- Gumroad’un deneyimi, hafif alternatifleri değerlendirmenin önemli olduğunu; ancak projenin büyümesini ve uzun vadeli vizyonunu destekleyebilecek teknolojileri seçmenin de kritik olduğunu gösteriyor.
- htmx, basit etkileşim modelleri veya mevcut sunucu tarafı render edilen uygulamalar için uygun olabilir.
- Helper’ın karmaşık, durum tabanlı arayüzü için React ve Next.js daha iyi bir seçimdi.
- Teknoloji yığını ihtiyaçlara göre yeniden değerlendirilebilir; yeni teknolojiler ortaya çıktıkça esnek kalmak önemlidir.
1 yorum
Hacker News görüşü
Gumroad CEO’su, htmx kullanmayı denedikten sonra NextJS’ye geçme deneyimini paylaşmış. Bu, htmx ile ilgili olumsuz deneyimler arayanlar için faydalı bir bilgi olmuş
Karmaşık formlar oluştururken sunucu tarafı mantığı karmaşıklaştı ve React’teki istemci tarafı çalışmalardan daha zor hale geldi
htmx ile frontend’i hafif tutmaya çalıştılar, ancak karmaşık UI/UX ve durum yönetimi için üçüncü taraf kütüphaneler kullanmak zorunda kaldılar
htmx ile sürükle-bırak arayüzü uygulamak zordu ve React kütüphaneleriyle daha akıcı bir deneyim elde edilebildi
htmx.onLoadetkinliği kullanılarak yüklenen içerikte belirli özniteliklere sahip markup bulunup bağlanabilirEkip frontend geliştirmeye daha yatkın görünüyor ve backend ile iletişimde zorluk yaşadı
Next.js ile geliştirme sürecinin daha doğal olduğu yönünde bir görüş var
HTMX’in bu deneyimi paylaşmasının ilginç olduğu ve yalnızca HTMX’in yeterli olmadığı projeler de bulunduğu görüşü var
HTMX.org’un bu tür denemeleri barındırması övgü alıyor
Yapay zeka araçlarının yeni framework veya programlama dillerinin benimsenmesini zorlaştırabileceğine dair endişeler var