14 puan yazan GN⁺ 2024-02-16 | 1 yorum | WhatsApp'ta paylaş

Observable Framework duyuruldu

  • Observable 2.0 yayınlandı: açık kaynaklı bir statik site üreticisi olarak hızlı ve güzel veri uygulamaları, panolar ve raporlar oluşturmayı sağlıyor.
  • Veriyi etkili biçimde iletmeyi hedefliyor; Observable not defterleri geçici veri keşfi için uygun olsa da panolar ve uygulamalar için uygun değil.
  • Observable Framework ile en iyi veri uygulamaları oluşturulabiliyor; frontend’de JavaScript ile backend’deki çeşitli diller bir arada kullanılabiliyor.

Defterlerin ötesinde 📓

  • Observable 2.0, yıllara yayılan deneyimi yansıtıyor.
  • Hesaplamalı not defterlerinin hafifliği ve işbirliğine uygun yapısı, veri keşfi ve anlık sorulara yanıt vermek için ideal olsa da her iş için optimize edilmiş bir arayüz değil.
  • Not defterleri; tek sütunlu yapı, düşük görsel bilgi yoğunluğu ve her zaman görünür düzenleyici arayüzü nedeniyle sınırlı; bu sınırlamalar öğrenme ve denemeler için uygun olsa da sunum için uygun değil.
  • Veri uygulamaları ortak anlayışı teşvik eder, ekipler tarafından daha sık kullanılır ve zaman içinde değerini korur.

Daha iyi bir geliştirici iş akışı 👩‍💻

  • Modern geliştirme dosya tabanlıdır ve dosyalar birlikte çalışabilirlik sağlar.
  • Geliştiriciler tercih ettikleri metin düzenleyiciyi, kaynak kontrolünü ve kod inceleme sistemini kullanabilir; birim testleri ve linter’ları çalıştırabilir, CI/CD’yi otomatikleştirebilir.
  • Observable Framework, vanilla JavaScript söz dizimini benimsiyor ve require yerine modern ES import kullanarak öğrenmeyi ve kod paylaşımını kolaylaştırıyor.

Daha iyi bir kullanıcı deneyimi 😍

  • Yalnızca geliştirici deneyimi değil, kullanıcı deneyimi de önemlidir; yaratıcı araçların değeri ortaya çıkan ürünün kalitesiyle değerlendirilmelidir.
  • Framework, hızlı başlangıç için varsayılan ayarlar ve kullanım kolaylığı sunuyor; gerektiğinde özelleştirme de mümkün.
  • Framework’ün veri mimarisi, veriyi önceden hesaplayarak uygulamanın hızını artırıyor.

Daha iyi bir veri mimarisi

  • Veri görselleştirme belirli veri hazırlığı gerektirir ve işin büyük kısmı veri hazırlığındadır.
  • Geliştiriciler çeşitli dilleri, kütüphaneleri ve veri kaynaklarını kullanmak; veriyi çevrimdışı olarak önceden işlemek ve tarayıcıda JavaScript ile etkileşimli grafiklerden yararlanmak ister.
  • Framework’ün veri yükleyicileri, derleme zamanında statik veri anlık görüntülerini hesaplayarak sayfa yükleme hızını artırır; ayrıca sunucuda çalıştığı için güvenlik ve gizlilik üzerinde denetim sağlar.

Teşekkürler

  • Topluluğun desteği, geri bildirimi ve teşviki sayesinde buraya kadar gelebildiler ve Observable Framework’ü paylaşmaktan mutlular.
  • Framework hakkında daha fazla bilgi edinmek isteyenlere belgeleri okumaları veya forumu ziyaret etmeleri öneriliyor.

GN⁺ görüşü:

  • Observable Framework’ün veri odaklı web uygulaması geliştirmeye yenilik getirmesi bekleniyor. Özellikle veri yükleyicileri üzerinden yapılan ön veri işleme, kullanıcı deneyimini önemli ölçüde iyileştirebilecek kritik bir özellik.
  • Observable’ın hem geliştiricilere hem de kullanıcılara faydalı araçlar sunma yaklaşımı, işbirliği ve verimliliğe önem veren modern geliştirme kültürüyle güçlü biçimde örtüşüyor.
  • Açık kaynak olması ve farklı dilleri ile araçları destekleyen esnekliği, onu geliştirici topluluğu için cazip bir seçenek haline getirebilir.

1 yorum

 
GN⁺ 2024-02-16
Hacker News görüşleri
  • Observable Framework duyurusu

    • Observable Framework, veri uygulamaları geliştirmek için yeni bir açık kaynak araçtır.
    • Dahili panoda web günlüklerini analiz eden örnek rapora bakılması öneriliyor.
    • "Her şeyi grafikle ifade etme" tekniği kullanılarak sunucu optimizasyonu ve trafik kontrolüne yardımcı olan içgörüler elde ediliyor.
    • Observable Plot adlı yeni açık kaynak görselleştirme kütüphanesinin benimsenmesini görselleştiren geleneksel bir pano da paylaşılıyor.
    • Observable Framework'ün lansmanıyla birlikte Observable, bireysel kullanıcılar için yeniden ücretsiz hale getirildi (özel notebook'lar ve veritabanı bağlayıcıları dahil).
  • Observable Framework'ün özellikleri

    • Observable Framework %100 vanilla JavaScript sözdizimi kullanır.
    • Observable'ın reaktif çalışma zamanı, alışılmadık bir sözdizimi olmadan kullanılabilir.
    • npm veya yerel modüllerden statik ES import'ları kullanılabilir ve kod bloklarında birden fazla üst seviye değişken tanımlanabilir.
    • Yerleşik display(…) işlevi çağrılarak sayfada içerik gösterilebilir.
    • Vanilla sözdizimi kullanılması sayesinde birlikte çalışabilirlik büyük ölçüde artar.
    • Bu iyileştirmelerin yakın gelecekte Observable notebook'larına taşınmasının yolları araştırılıyor.
  • "Dosyaya karşı uygulama" kavramının kullanımı

    • Duyuruda "dosyaya karşı uygulama" kavramına değiniliyor.
    • Markdown dosyalarında kod blokları kullanarak karmaşık veri görselleştirmeleri ve panolar oluşturulabilir.
    • Bu birlikte çalışabilirlik oldukça ilgi çekici.
    • Obsidian içinde Observable sitesi düzenlemeyi deneyip bunun iyi çalıştığı görülmüş.
  • Observable yaklaşımına övgü

    • Observable'ı observablehq.com'dan ayırma yaklaşımı harika.
    • Bu sayede tüm gazeteciler dinamik ve bilgi odaklı blogları kolayca oluşturabilir.
    • Observable'ın kurucusunun NYTimes'ta etkileyici veri görselleştirmeleri geçmişi bulunuyor.
    • Bu tür araçlar, gücü yeniden gazetecilere verip onları şüpheli şirketlerden uzaklaştıran bir dönüşümü mümkün kılıyor.
    • Svekyll, Jekyll'den ilham alan ve bloglarında Svelte kullanmak isteyenlere yönelik bir statik site oluşturucudur.
  • Observable Framework hakkında çeşitli fikirler

    • Veri yükleyiciler, standart çıktıya veri (JSON vb.) yazabilen betiklerdir.
    • Çalıştırılan ```js blokları içeren Markdown dosyaları.
    • Özel sözdiziminden kaçınmak için Observable notebook'larının yeniden icadı.
    • Bunlar çok önemli noktalar.
  • Observable Framework kullanımıyla ilgili talepler

    • Veriyi yükleme/hazırlama ile gösterme arasındaki net ayrım beğeniliyor.
    • Basit örnekler ve dağıtım belgeleri konusunda daha fazla netlik isteniyor.
    • Çoğu kişinin GitHub Actions üzerinden dağıtımı tercih edeceği varsayılarak, karmaşık dağıtım dosyaları yerine en basit dağıtım dosyası örneğinin belgelere eklenmesi talep ediliyor.
    • GitHub deposuna bağlanıp değişiklik olduğunda derleme/dağıtım yapan bir arayüzün mümkün olup olmadığı da öneriliyor.
  • Observable Framework hakkında sorular

    • Veri yükleyici/backend tarafındaki dil esnekliğinin frontend/UI tarafında da geçerli olup olmayacağı, yoksa yalnızca veri yüklemede istenen dilin kullanıldığı ve panoların observablejs/observable plot ile kurulduğu paradigmanın korunup korunmayacağı soruluyor.
    • ObservableJS'in Quarto tarafından desteklendiği düşünüldüğünde, Quarto ile entegre bir Observable Framework beklenip beklenemeyeceği ya da son Quarto sürümünün pano özellikleriyle Framework'e rakip olup olmayacağı soruluyor.
    • Evidence.dev ile yapılan karşılaştırmanın görüldüğü ve Markdown merkezli geliştirme deneyimi açısından benzerlik hissedildiği, ancak Evidence'ın ana grafik kütüphanesi olarak Apache Echarts'ı seçtiğinin hatırlandığı belirtiliyor. Echarts ile ObservableJS/Plot'un artıları ve eksileri hakkındaki görüşler soruluyor.
  • Observable'ın tarihsel gelişimi

    • Observable'ın tarihine bakıldığında, pano için statik site oluşturucu geliştiren bir şirket olarak başlayıp orta kademe yöneticilere veri bilimini ulaştırmaya çalıştığı, ancak pazar uyumu bulmakta zorlandığı ve sonunda JavaScript'te keşifsel programlama, veri görselleştirme ve etkileşimli belge yazımı için basit ve zarif bir araca odaklandığı görülüyor.
  • Observable Framework kullanımı hakkında ek sorular

    • Sunucudaki Sqlite/Duckdb veritabanı dosyasından slider/filtre kullanarak her seferinde yalnızca verinin bir kısmını getirip gösteren grafikler/tablolardan oluşan bir yapı kurmak istenirse, bu etkileşimin nasıl sağlanacağı soruluyor.
    • Observable Framework frontend sağlıyorsa, giriş ve abonelik seçenekleri olan bir web sitesi oluşturmak için herhangi bir kimlik doğrulama kütüphanesinin kullanılıp kullanılamayacağı soruluyor.
    • Statik bir web sayfasıysa, kullanıcıların grafiği her görüntülediğinde Dev Tools kullanarak görselleştirmenin arkasındaki veri dosyasını indirip indiremeyeceği soruluyor.
    • Plot için etkileşim özelliklerinin (zoom, pan, etkileşimli legend, brush) ne zaman çıkacağı soruluyor.
    • Büyük parquet, sqlite, csv dosyaları olduğunda GitHub veya Vercel üzerinden CI/CO mümkün olmadığından, bu dosyaları ve çalışma zamanını üretmek için bir hosting hizmeti sunulup sunulmayacağı soruluyor.
  • Benzer fikirlere dair gözlemler

    • Çok benzer (bazı yönlerden ise oldukça farklı) bir aracın rysana.com üzerinde geliştirildiği belirtiliyor.
    • Fikirlerin, sanki kalkülüs ilk icat edildiğinde olduğu gibi, hiçbir koordinasyon olmadan dalgalar halinde ortaya çıktığı söyleniyor.
    • Burada çok sayıda öncül teknoloji olsa da, aynı anda farklı dilleri kullanan tek dosyalık Markdown "uygulamaları"na doğru belirli bir sıçramanın yaşanmasının ilgi çekici olduğu ifade ediliyor.