Observable Framework’ün yeni fikirleri
- Observable Framework, Markdown ve JavaScript’i birleştirerek hızlı yüklenen etkileşimli sayfalara derleyen bir statik site oluşturucudur.
- Dosyaları gerçek zamanlı olarak düzenleyip kaydettikten sonra değişiklikleri tarayıcıda anında görebilmeniz için hot reloading sunucusu sağlar.
- Çalışma tamamlandığında statik dosyalara dönüştürülerek sunucuya dağıtılabilir veya doğrudan Observable’ın paylaşım platformuna dağıtılabilir.
Markdown içindeki JavaScript
- Markdown içindeki
js etiketi taşıyan kod blokları kullanıcının tarayıcısında JavaScript olarak çalıştırılır.
now adlı özel değişken, epoch’tan bu yana geçen mevcut zamanı milisaniye cinsinden sağlar ve sürekli güncellenir.
- Observable Framework, etkileşimli belgeler üretmek için Markdown ile JavaScript’i tek bir metin belgesinde birleştirir.
Her şey hâlâ reaktif
- Observable Framework, Observable notebook’larının reaktif yapısını korur ve bağımlı olduğu başka hücreler değiştiğinde otomatik olarak yenilenir.
- Özellikle form girdileriyle çalışırken faydalıdır ve belgelere gerçek zamanlı etkileşim eklemeyi kolaylaştırır.
Yalnızca kullanılan kod dahil edilir
- Observable Framework, geliştirme modunda lazy loading uygulayarak yalnızca kullanılan kodu yükler.
- Uygulama build edilip dağıtıldığında, yalnızca başvurulan kütüphane kodu jsdelivr CDN’den otomatik olarak yüklenir.
Build sırasında veri önbellekleme
- Framework, veri yükleyici mekanizması üzerinden build sırasında dashboard verilerini oluşturur ve bunları statik dosyalar olarak paketler.
- Veri yükleyiciler, herhangi bir programlama diliyle yazılabilen; build sırasında çalıştırılıp çıktıyı dosya olarak kaydeden betiklerdir.
Observable notebook’larıyla karşılaştırma
- Observable Framework, Observable notebook’larının fikirlerini ve kodunu yeniden kullanır; ancak tek bir metin dosyasından oluşur ve tamamen açık kaynaktır.
- Standart JavaScript kullanır ve daha basit dosya biçimi sayesinde Git’e commit edilebilir.
Stratejideki değişim
- Observable Framework, Observable şirketinin stratejisinde geliştirici araçları alanına daha fazla yöneldiğini gösterir.
- Observable notebook’larının teknolojisine duyulan saygıyı korurken, platformun kapalı yapısı ve ücretsiz hesap sınırlamaları nedeniyle kullanımını kısıtlayan sorunları da çözer.
GN⁺ görüşü
- Observable Framework, veri görselleştirme ve dashboard oluşturma için yeni bir araç olarak geliştiricilere daha iyi iş birliği ve verimlilik sunma potansiyeline sahiptir.
- Veri temelli karar almayı destekleyen etkileşimli belgeler ve dashboard’lar oluşturmayı kolaylaştırdığı için hem veri bilimciler hem de geliştiriciler için yararlı olacaktır.
- Ancak Observable Framework’ün başarısı, büyük ölçüde geliştirici topluluğu tarafından benimsenmesine ve mevcut araçlarla ne kadar iyi entegre olduğuna bağlı olacaktır.
- Benzer işlevler sunan diğer projeler arasında Jupyter Notebook ve R Shiny bulunur; bunlarla yapılacak karşılaştırmalar Observable Framework’ün güçlü ve zayıf yönlerini daha iyi anlamaya yardımcı olabilir.
- Observable Framework benimsenirken mevcut veri pipeline’larıyla uyumluluk, performans optimizasyonu ve topluluk desteği gibi unsurlar dikkate alınmalıdır.
1 yorum
Hacker News görüşleri
Observable Framework, Mike Bostock'un sinematik evrenindeki "Avengers: Endgame"e benzetiliyor.
Observable Framework kullanırken yaşanan bir sorun olarak, bunun d3 örnekleri için bir kaynak işlevi görmesi anılıyor.
Observable Framework'ün GitHub Pages'e kolayca yayımlanabildiği belirtiliyor.
Observable notebook kullanarak ilk projeyi tamamlama deneyimi paylaşılıyor.
Observable Framework ile ilgili olumlu bir deneyim paylaşılıyor.
virtualenvskullanacak şekilde ayarlanabilmesinin iyi olacağı dile getiriliyor.Jupyter notebook'lardan Observable'a geçilip geçilmemesi gerektiği sorusu gündeme getiriliyor.
Kod bloklarında
jsiçerik ipucu varsa, bunun kullanıcının tarayıcısında anında çalıştırıldığı açıklanıyor.js echoipucunun kullanılması gerektiği belirtiliyor.Observable'ın ClickHouse REST API ile iyi entegre olduğu ve veritabanını gerçek zamanlı sorgulayan örneklerin ilgi çekici olduğu belirtiliyor.
Framework'ü tarayıcıda hızlıca denemek ve kurcalamak için Node ve Python ortamları otomatik yapılandırılmış Codespace devcontainer'ları kurulduğu belirtiliyor.
Observable'ın yalnızca JavaScript desteklemesinin kullanıcı tabanını sınırladığı görüşü dile getiriliyor.