- htmx, başlangıçta yalnızca HTML özellikleriyle dinamik işlev sağlayan jQuery tabanlı
intercooler.js ile başladı
- jQuery'nin birçok web sitesinde uzun süre kullanılmasının nedeni olarak kolay kurulum, tutarlı API ve serbest kısmi kullanım olanağı gibi etkenler öne çıkar
htmx is the New jQuery
- htmx de jQuery gibi uzun süre kullanılabilecek istikrarlı bir kütüphane olmayı hedefliyor
- “100 yıl boyunca ayakta kalacak bir web servisi” hedefiyle, büyük değişiklikler olmadan da faydalı ve sürdürülebilir olacak şekilde tasarlandı
- Stability as a Feature
- htmx'nin ana güncelleme politikası API ve uygulama kararlılığını korumaya yöneliktir
- Eski sürümden yeni sürüme geçerken davranışın korunmasını sağlayacak şekilde “mevcut kullanıcılar” odaklı bir yaklaşım izlenir
- No New Features as a Feature
- htmx çekirdeğine yeni işlevleri düşünmeden ekleme hedeflenmez
- Gerekirse, tarayıcının desteklediği yeni API'ler veya uzantılar (extensions) ile çözülür; çekirdek sade kalır
- Quarterly Releases
- Üçer aylık dönemlerde (yaklaşık 3 ayda bir) yeni sürümler yayımlanması planlanmaktadır
- Yükseltme zorunlu değildir; 1.x sürümünü sorunsuz kullanıyorsanız olduğu gibi tutabilirsiniz
Promoting Hypermedia
- htmx'nin ana hedefi, web uygulamalarının tamamını kapsayan bütünsel bir çözüm olmak değil, hypermedia kontrolünü genelleştirmektir
- Bunu başarmak için htmx dışındaki şablon motorları, backend, veritabanları vb. ile entegrasyon şeklini geliştirmek gerekir
- htmx'ye yeni özellikler eklenmese bile çevresel araçlar hypermedia ekosistemini zenginleştirirse sonuçta htmx'nin kullanım değeri artar
- Supporting Supplemental Tools
- htmx, HTML özellikleriyle bazı işlevler sağlasa da backend veya DB seçimi gibi kararlar tamamen kullanıcıya bırakılır
- Çeşitli backend'lerle uyumlu olacak şekilde tasarlanarak hypermedia odaklı geliştirme kalıplarını destekler
- Kısmi sayfa değiştirmeyi kolaylaştıran “template fragment” (şablon parçacığı) kavramını vurgulayarak şablon motoru ekosisteminin gelişimine katkı sağlar
- Artık birçok şablon motorunda parça (fragment) desteği sunma örneği artmıştır
- Hypermedia tabanlı web uygulaması yazma deneyimini yükseltecek daha çok yöntem hâlâ var
- htmx, çekirdek özelliklerden çok çevre araç ve tekniklerin gelişimini teşvik ederek tüm ekosistemin büyümesine odaklanır
- Writing, Research, and Standardization
- htmx, kendi özelliklerini genişletmekten çok genel hypermedia fikirlerini yaymayı ve geliştirmeyi planlıyor
- Triptych projesi gibi girişimlerle HTML standardına htmx fikirlerinin yansımasını sağlamaya çalışır
- nihai olarak, web platformunun kendisinin htmx benzeri işlevleri standart olarak desteklemesini umuyor
- Bugün yazılan htmx kodu düzenli şekilde uyumlu kalmaya devam edecektir, ancak bir gün kütüphane olmadan da benzer UI kalıplarını uygulayabilen bir dünya beklenmektedir
Intercooler Was Right
- intercooler.js döneminden beri büyük değişikliklerden kaçınılarak, bozucu olmayan bir “stewardship” yaklaşımıyla korunmuştur
- htmx de bu felsefeyi miras alarak, “dayanıklı ve güvenilir bir araç” olarak uzun süre ayakta kalmayı hedefliyor
1 yorum
Hacker News yorumları
HTMX'den Hotwire'a geçişi tamamladığı deneyimini paylaştı; HTMX'nin fikrinin iyi olduğunu ama uygulamasının yeterince iyi olmadığını söylüyor. Çok fazla hata olduğunu, web ve tarayıcı özellikleriyle iyi çalışmadığını ve yetersiz dokümantasyon olduğunu belirtti. Turbo ve Stimulus ile taşımayı tamamladıktan sonra daha stabil ve anlaşılması kolay bir kod tabanı elde etti.
Stabiliteye verdiği önemi vurguladı ve dengesiz bir soyutlama üzerine inşa etmek gelecekte hata riskini artıracağını belirtti. Küçük projelerde sorun olmayabilir, ancak yararlı olduğu kanıtlanırsa büyük projelere dönüşebilir.
Django ve HTMX ile uygulama geliştirme deneyimini paylaştı; React veya Vue'yi tercih etse de HTMX'nin arka uç geliştiricileri için uygun olabileceğini belirtti. Modern frontend kütüphaneleri kadar test etmek HTMX'de zor olur değerlendirmesini yaptı.
HTMX'nin erişilebilirliğine dair endişesini paylaştı ve ekran okuyucularla uyum konusunda emin olmak istediğini belirtti. ARIA özelliklerinin doğru kullanımından ziyade gerçek kullanıcı deneyimini önceledi.
HTMX'nin belirli JavaScript işlerini zarif bir soyutlama ile hallettiği için geliştirici yükünü azalttığına teşekkür etti. Karmaşıklığı kontrol altında tutma konusunda iyi bir ders verdiğini düşünüyor.
HTMX'yi büyük bir yazılım geliştirme şirketinde uygulamaya çalıştığını ve bunun mentorlukta bir düşünce deneyi olarak işe yaradığını söyledi. SPA'nın gerçekten gerekli olup olmadığını sorgulatıyor.
"Özellikleri olmayanın bir özelliği" olduğuna katıldı ve yazılımın çok sık güncellenmemesi gerektiğini olumlu gördü.
HTMX özelliklerinin HTML standartlarına entegre edilmesini umduğunu ve bunu Triptych projesiyle ilerletmeye çalıştığını paylaştı. Bunların tarayıcıların gömülü bir parçası olmasını istediğini belirtti.