Productive Ant

Dosyan senin.

Neden tek dosya? Bir HTML kit nasıl yazılıyor

Bir uygulamayı tek bir HTML dosyasına sığdırmak kolay iş değil. Neyi bilerek dışarıda bıraktığımızı, neyi içeride tuttuğumuzu ve bunun sana ne kazandırdığını anlatıyoruz.

3 dk okuma

“Sonuçta bir HTML dosyası” cümlesini çok duyuyoruz. Haklı bir şüphe: bir web sayfası kolay yapılır gibi görünür. Ama bir uygulamayı tek bir dosyaya sığdırmak, sunucunun normalde üstlendiği her işi dosyanın içinde çözmek demek. Bu yazı o işin nasıl yapıldığını, neyi bilerek dışarıda bıraktığımızı ve bunun sana neden faydalı olduğunu anlatıyor.

Tek dosya bir karar, kestirme değil

Çoğu uygulama üç parçadan oluşur: ekranda gördüğün arayüz, verini tutan bir sunucu ve ikisini bağlayan bir hesap. Tek dosyada sunucu ve hesap yok. Geriye kalan her şey dosyanın içinde olmak zorunda:

  • veriyi kaydetmek ve sayfa yenilenince geri getirmek,
  • bütçe, süre ya da OKR puanı gibi hesapları yapmak,
  • yedeği bir dosyaya yazmak ve o dosyayı geri okumak,
  • iki dil ve iki tema arasında geçmek,
  • eski sürümlerden ve eski tek araçlardan gelen yedekleri anlamak.

Bunların her biri sunucusu olan bir uygulamada başka bir yerde çözülür. Burada hepsi aynı dosyada, birbirine dikkatle oturtulmuş halde durur.

Neyi bilerek dışarıda bıraktık?

Odaklı bir dosya yazmanın yarısı, ne yazmayacağına karar vermek. Bizim listemiz şu:

Bıraktığımız Neden
Hesap ve giriş Şifren olmazsa sızacak bir şifren de olmaz
Sunucu ve eşitleme Veri senin cihazında kalsın, bir servis kapanınca dosya etkilenmesin
Hazır kütüphaneler Dışarıdan yüklenen kod bir gün yüklenmeyi bırakabilir
Reklam ve takip Kitin içinde kimse seni izlemesin
Bildirimler Dosya arka planda çalışmaz, seni rahatsız etmez
Abonelik Bir kez ödersin, dosya senin olur

Bu kararların bir bedeli var; eşitleme ve bildirim isteyen biri için kitler doğru araç değil. Ama karşılığında dosya internetsiz çalışır, hiçbir yere bağlanmaz ve beş yıl sonra da aynı şekilde açılır. Money Kit ve Manager Kit bunu bir adım ileri götürür: dosya, tarayıcıya dışarıya bağlanmayı kendisi yasaklayan bir kuralla gelir.

Neyi içeride tuttuk?

Dışarıda bırakılan her şeyin yerine, içeride kalanın daha iyi çalışması gerekiyor.

  • Hesaplar hazır. Formül yazmazsın. Bir alanı silmek bir toplamı sessizce bozmaz.
  • Rehberler dosyanın içinde. Boş bir sayfayla değil, “bunu neden ve nasıl yapıyorsun” anlatımıyla başlarsın.
  • Modüller birbirini besler. Time Kit’te hedef Plan’a görev ekler, görevin gerçek süresi Değerlendirme’ye geçer. Money Kit’te abonelikleri para koçu görür, önerisi yapılacaklarına düşer. Manager Kit’te birebirdeki aksiyon İşler’e düşer, iş bir anahtar sonuca bağlanır.
  • Örnek veri. Her kit örnek veriyle açılabilir; ne göreceğini kendi rakamlarını girmeden önce bilirsin.

Üç kitte toplam 22 modül var: Time Kit’te 8, Money Kit’te 7, Manager Kit’te 7. Her modül tek bir soruya cevap verir.

Kararlı yazmak ne demek?

Dışarıdan bakınca bir kit sade görünür. O sadelik, her ekranın aynı soruyu sorarak yazılmasından geliyor: bu, kullanan kişinin işine yarıyor mu, yoksa yalnızca “olsa iyi olur” mu?

Pratikte bu şuna dönüşüyor:

  1. Bir soru, bir kit. Time Kit “gün yeter mi?”, Money Kit “bu ay ne durumdayım?”, Manager Kit “ekibim benden ne bekliyor?” sorusuna cevap verir. Bu sorulara hizmet etmeyen modül eklenmez.
  2. Her ekran iki dilde ve iki temada. Türkçe ve İngilizce metin, koyu ve açık tema ayrı ayrı yazılır.
  3. Sürüm çıkmadan önce deneme. Dosya örnek veri setleriyle baştan sona açılıp denenir, ekran görüntüleri de bu veriyle çekilir.
  4. Düzeltme yeni sürüm olarak gelir. Bir tarayıcı güncellemesi bir şeyi bozarsa düzeltme, satın alan herkese aynı dosyanın yeni sürümü olarak ulaşır.

Karınca yuvasını böyle kurar: parça parça, her parçayı yerine oturtarak. Adımız da oradan geliyor.

Bu sana ne kazandırıyor?

  • Gizlilik bir söz değil, yapı. Bağlanacak bir sunucu yoksa verin de bir sunucuda değildir. Ayrıntısı verin nerede durur yazısında.
  • Sahiplik. Lisans kontrolü yok; dosya senin diskinde durur.
  • Sakinlik. Bildirim yok, yeni tasarım sürprizi yok, iptal edilecek abonelik yok.
  • Hız. Her şey dosyanın içinde olduğu için ekranlar beklemeden açılır.

Bir Notion ya da tablo şablonuyla karşılaştırmak istersen Notion şablonu mu, Excel tablosu mu, HTML kit mi yazısı üçünün güçlü yanlarını yan yana koyuyor.

Productive Ant kitleri

Time Kit, Money Kit ve Manager Kit bu şekilde yazıldı: her biri tek bir dosya, tarayıcında açılır, verin bilgisayarında kalır, bir kez ödersin. Yaklaşımın tamamı ve karşılaştırma tablosu HTML şablon nedir? sayfasında.

Sorular

Tek bir HTML dosyası gerçekten bir uygulama olabilir mi?

Evet. Tarayıcılar bugün kaydetme, hesaplama, grafik ve dosya indirme gibi işleri kendi başına yapabiliyor. Bir kitin ekranları, hesapları ve rehberleri tek dosyanın içinde; açmak için tarayıcıdan başka bir şey gerekmez.

Dış kütüphane kullanmamak neden önemli?

Dışarıdan yüklenen her kod parçası bir gün yüklenmeyi bırakabilir ya da değişebilir. Hepsi dosyanın içinde olduğunda dosya internetsiz çalışır, kimseye bağlanmaz ve yıllar sonra da aynı şekilde açılır.

Bir şey bozulursa ne olur?

Düzeltme aynı dosyanın yeni sürümü olarak gelir. Sipariş sayfandan indirir, yedeğini yüklersin; yazdıkların olduğu gibi taşınır.

Ücretsiz olanla başla.

Toplantı Maliyeti bir deneme sürümü değil, tam bir araç. Dosyanın nasıl çalıştığını beğenirsen, kitler de aynı şekilde çalışır.

Kitin gerçek ekranı, örnek verilerle