- Hyperclay, tüm UI, mantık ve verinin tek bir HTML dosyasında birleştiği şekilde web uygulamaları oluşturmayı destekler
- Dosyanın kendisinde yapılan değişikliklerle anında düzenleme ve gerçek zamanlı paylaşım mümkündür; uygulamanın görünümünü, davranışını ve düzenleme biçimini doğrudan kontrol edebilirsiniz
- Ayrı bir build·deploy süreci, veritabanı veya karmaşık bir backend olmadan anında çalıştırma·kaydetme yapısı sunar
- Tek bir HTML dosyasıyla uygulama tarayıcıda, sunucuda, çevrimdışı dahil her yerde çalıştırılabilir ve tüm değişiklikler sürüm kontrolüyle saklanıp geri yüklenebilir
- Modern web geliştirmenin karmaşıklığını azaltmak ve herkesin gerçek zamanlı, yaşayan etkileşimli uygulamalar kolayca oluşturabilmesi için tasarlanmıştır
Giriş: Tek bir HTML dosyasıyla yaşayan web uygulamaları, Hyperclay
- Hyperclay, programcılara karmaşık altyapı yönetimi olmadan, tek bir taşınabilir HTML dosyası ile adeta ürün şekillendirir gibi web uygulamaları oluşturma deneyimi sunar
- Mevcut web geliştirmede zorunlu görülen ayar dosyaları, build, framework'ler, deploy pipeline'ları gibi parçaları ortadan kaldırır ve tek dosyada tamamlanan bir yapı hedefler
Temel kavram ve avantajlar
- Uygulama tek bir HTML dosyasından oluşur
- Görsel UI üzerinden dosyanın kendisi gerçek zamanlı düzenlenebilir ve bu düzenlemeler doğrudan uygulamanın durumu olarak kalıcı biçimde kaydedilir
- UI, mantık ve verinin tamamı tek dosya içinde dinamik olarak yer alır
- Kullanıcılar uygulamayı bir belge gibi anında düzenleyebilir, değişiklikleri hemen paylaşabilir/indirebilir ve çevrimdışı kullanabilir
- "Interactive code için Google Docs" benzetmesindeki gibi paylaşım, düzenleme ve sahiplik kontrolü esnektir
Başlıca özelliklerin özeti
- Doğrudan manipülasyon: Uygulama çalışırken anında düzenlenebilir. Derleme veya yenileme olmadan değişiklikler hemen yansır
- What you see is what you build: UI'yi değiştirir ya da kaynak kodu doğrudan düzenlerseniz uygulama anında değişir; arada katman yoktur
- Gerçek taşınabilirlik: Uygulamayı HTML dosyası olarak dışa aktararak her yerde (sunucu·çevrimdışı) aynı şekilde çalıştırabilirsiniz. Her kayıt işleminde sürüm kontrolü uygulanır ve geri yükleme yapılabilir
- Tüm bunlar özel bir teknoloji gerektirmeden, yalnızca tek bir standart HTML dosyasıyla gerçekleşir
Teknik yapı
- Hyperclay, bir NodeJS sunucusu ve istemci tarafında çalışan bir JS kütüphanesinden oluşur
- HTML sayfası kendi DOM'unu değiştirdiğinde, değişen
document.body.outerHTML sunucuya gönderilir ve HTML dosyasının kendisi güncellenir
- Checkbox'ların checked özelliği gibi uygulama içindeki değişiklikler kalıcı olarak HTML koduna yazılır; böylece sonraki erişimde aynı durum yeniden üretilebilir
- Sürüm kontrolü ve okuma/yazma izin yönetimi desteği sunar
Gerçek örnekler
- Doğrudan düzenlenebilen bloglar, çalışma saati checklist'leri gibi her türlü uygulama tek bir HTML dosyası olarak yazılıp kaydedilebilir
contenteditable özelliği veya <input type="checkbox" persist> biçimiyle uygulama durumu doğrudan belgeye yazılır
Arka plan ve problem tanımı
- Her yıl onlarca web sitesi üretirken, web uygulaması kodlamanın yazı yazmak kadar doğal olması yönünde bir ihtiyaç vardı
- Geleneksel statik web sitelerinde değişiklikler geçicidir (kullanıcı eylemleri kaydedilmez)
- Web'de veri kalıcılığı sağlamak için veritabanı, API, template ve hesap sistemi kurmak gibi aşırı iş gerekir
- Prototipler, basit araçlar, kişisel geliştirme günlükleri, bloglama gibi hızlıca üretmek, gerçek zamanlı düzenlemek ve paylaşmak istenen ihtiyaçlar için bu yapı verimsiz kalır
Hyperclay'in çözüm yaklaşımı
- UI, durum ve davranış tek bir HTML dosyasında birleşir
- Tıpkı bir masaüstü uygulamasını açar gibi kolayca açıp anında düzenleyebilir, sonucu doğrudan çevrimiçi yansıtabilirsiniz
- Kalıcı (shared, cloneable, persistent) dijital nesneler kavramını ortaya koyar
- Web sitesi oluşturucular, belge·şema·sunum araçları, dashboard'lar, bloglar, anket·quiz üretimi, veri görselleştirme gibi birçok araca uygulanabilir
Genel kavram özeti
- Çoğu web uygulaması zaten HTML kullanır
- Ara adımlar kaldırıldığında HTML dosyası tam veritabanı/API/UI rolünü üstlenir ve stack birkaç satıra kadar sadeleşir
- Geliştiriciler karmaşıklığı azaltarak minimum kodla kullanışlı ve bakımı kolay uygulamalar oluşturabilir
Hyperclay kullanım örnekleri
- Bloglar, checklist'ler ve diğer her türlü uygulama yalnızca tek bir HTML ile yazılabilir·dağıtılabilir·paylaşılabilir·düzenlenebilir
<div contenteditable>내 블로그!</div> biçimiyle hemen kullanılabilir; <input type="checkbox" persist> ile her durum kalıcı olarak belgeye kaydedilir
Sonuç
- Hyperclay, web geliştirmenin zahmeti olmadan, herkesin hafif, taşınabilir ve etkileşimli web uygulamaları üretip bunları gerçek zamanlı paylaşmasına, kaydetmesine ve geri yüklemesine olanak tanıyan yeni bir yöntem sunar
- Yalnızca geliştiriciler ve tasarımcılar için değil, herkesin kolayca kullanabileceği yeni nesil bir web uygulama platformudur
Henüz yorum yok.