3 पॉइंट द्वारा GN⁺ 2024-03-04 | 1 टिप्पणियां | WhatsApp पर शेयर करें

Observable Framework के नए आइडिया

  • Observable Framework एक static site generator है, जो Markdown और JavaScript को मिलाकर तेज़ी से लोड होने वाले interactive pages में compile करता है.
  • यह एक hot reloading server प्रदान करता है, जिससे फ़ाइलों को real time में edit और save करके browser में तुरंत बदलाव देखे जा सकते हैं.
  • काम पूरा होने पर इसे static files में बदलकर server पर deploy किया जा सकता है, या Observable के sharing platform पर सीधे deploy किया जा सकता है.

Markdown के भीतर JavaScript

  • Markdown के भीतर js टैग वाले code blocks उपयोगकर्ता के browser में JavaScript के रूप में execute होते हैं.
  • now नाम का एक special variable epoch के बाद का वर्तमान समय milliseconds में देता है और लगातार update होता रहता है.
  • Observable Framework Markdown और JavaScript को एक ही text document में एकीकृत करके interactive documents बनाता है.

सब कुछ अभी भी reactive है

  • Observable Framework, Observable notebook की reactivity बनाए रखता है और जिन दूसरे cells पर निर्भरता होती है, उनके बदलने पर अपने आप refresh हो जाता है.
  • यह खासतौर पर form input के साथ काम करते समय उपयोगी है और दस्तावेज़ों में real-time interactivity आसानी से जोड़ने देता है.

सिर्फ वही code शामिल होता है जो उपयोग में है

  • Observable Framework development mode में lazy loading लागू करता है, ताकि केवल इस्तेमाल हो रहा code ही load हो.
  • जब application को build और deploy किया जाता है, तब केवल referenced library code ही jsdelivr CDN से अपने आप load होता है.

build समय पर data cache

  • Framework, data loader mechanism के ज़रिए build समय पर dashboard data तैयार करता है और उसे static files के रूप में bundle करता है.
  • Data loaders ऐसे scripts होते हैं जिन्हें किसी भी programming language में लिखा जा सकता है, जो build समय पर चलकर output को files में save करते हैं.

Observable notebook से तुलना

  • Observable Framework, Observable notebook के ideas और code का पुन: उपयोग करता है, लेकिन यह एक single text file से बना होता है और पूरी तरह open source है.
  • यह standard JavaScript का उपयोग करता है और एक सरल file format में Git में check-in किया जा सकता है.

रणनीति में बदलाव

  • Observable Framework, developer tools क्षेत्र की ओर अधिक झुकती Observable कंपनी की रणनीतिक दिशा में बदलाव को दिखाता है.
  • Observable Framework, Observable notebook की तकनीक के प्रति सम्मान बनाए रखते हुए, platform की proprietary प्रकृति और free account की सीमाओं के कारण उपयोग में आने वाली बाधाओं को हल करता है.

GN⁺ की राय

  • Observable Framework, data visualization और dashboard बनाने के लिए एक नया tool है, जिसमें developers को बेहतर collaboration और efficiency देने की क्षमता है.
  • यह platform data-driven decision making को समर्थन देने वाले interactive documents और dashboards आसानी से बनाने देता है, इसलिए यह data scientists और developers दोनों के लिए उपयोगी हो सकता है.
  • हालांकि, Observable Framework की सफलता काफी हद तक developer community द्वारा अपनाए जाने और मौजूदा tools के साथ उसके integration के स्तर पर निर्भर करेगी.
  • समान सुविधाएँ देने वाले अन्य projects में Jupyter Notebook और R Shiny शामिल हैं, और इनके साथ तुलना करके Observable Framework के फायदे और सीमाएँ बेहतर समझी जा सकती हैं.
  • Observable Framework अपनाते समय मौजूदा data pipeline के साथ compatibility, performance optimization, और community support जैसे पहलुओं पर विचार करना चाहिए.

1 टिप्पणियां

 
GN⁺ 2024-03-04
Hacker News राय
  • Observable Framework की तुलना Mike Bostock के सिनेमैटिक यूनिवर्स में "Avengers: Endgame" से की गई है.

    • इसे d3, Observable, Observable Plot, HTL को मिलाकर और नए आइडिया जोड़कर बनाया गया बताया गया है.
  • Observable Framework इस्तेमाल करते समय एक समस्या के रूप में d3 उदाहरण संसाधन के तौर पर इसकी भूमिका का ज़िक्र किया गया है.

    • यह केवल उसी framework में चलने के लिए डिज़ाइन किया गया है, इसलिए कोड को सीधे copy-paste नहीं किया जा सकता.
    • d3 खुद भी इस्तेमाल में आसान नहीं है और versions के बीच compatibility issues हैं, लेकिन साइट पर शानदार graphics मिल सकते हैं.
  • कहा गया है कि Observable Framework को GitHub साइट्स पर आसानी से publish किया जा सकता है.

    • publish करने के steps और एक sample GitHub Action के साथ एक note लिंक दिया गया है.
  • Observable notebook का उपयोग करके पहला प्रोजेक्ट पूरा करने का अनुभव साझा किया गया है.

    • Observable Plot, Arquero, JavaScript का कुछ हिस्सा दोबारा सीखना, और Rust-आधारित simulator के साथ integration जैसे कई tools सीखने में काफ़ी ऊर्जा लगी.
    • Markdown और reactivity की वजह से notebook वास्तव में उपयोगी लगा.
    • इसने Jupyter के custom format, reactivity की कमी, version control की समस्याओं और state-आधारित उलझन को हल किया.
    • Quarto के साथ Observable integration की कोशिश भी की गई, लेकिन वह अधूरा और बिखरा हुआ लगा.
    • notebook लिखने और साझा करने का अनुभव खुशीभरा और रोमांचक रहा, और आगे भी इसे पहली पसंद के tool के रूप में इस्तेमाल किया जाएगा.
  • Observable Framework के बारे में सकारात्मक अनुभव साझा किया गया है.

    • कहा गया कि interactive plots सेट करना और data plot करना बहुत आसान था.
    • यह इच्छा भी जताई गई कि Python data loader को virtualenvs इस्तेमाल करने के लिए configure किया जा सके.
  • यह सवाल उठाया गया कि क्या Jupyter notebook से Observable पर जाना चाहिए.

  • समझाया गया है कि अगर code block में 'js' content hint हो, तो वह उपयोगकर्ता के browser में तुरंत execute हो जाता है.

    • code दिखाने के लिए 'js echo' hint इस्तेमाल करना चाहिए.
    • मौजूदा app में renderer integrate करते समय execution को manage करने की समस्या भी उठाई गई.
  • कहा गया है कि Observable, ClickHouse के REST API के साथ अच्छी तरह integrate होता है, और database को real time में query करने वाला उदाहरण दिलचस्प है.

    • चूंकि app interactive होना चाहिए, इसलिए उम्मीद है कि data को पहले से load और cache करना ही एकमात्र विकल्प न हो.
  • browser में Framework को जल्दी आज़माने और उसके साथ छेड़छाड़ करने के लिए Node और Python environment अपने-आप सेट करने वाले Codespace devcontainers तैयार किए गए हैं.

  • यह राय दी गई है कि Observable केवल JavaScript को support करके अपने user base को सीमित करता है.

    • JavaScript browser में interactive display के लिए ज़रूरी भाषा है, लेकिन data science और data analysis के लिए इसे Python या R की तुलना में कम सुविधाजनक माना गया है.