แนวคิดใหม่ของ Observable Framework
- Observable Framework เป็นเครื่องมือสร้างเว็บไซต์แบบสแตติกที่คอมไพล์ Markdown และ JavaScript เข้าด้วยกันเป็นหน้าแบบอินเทอร์แอ็กทีฟที่โหลดได้รวดเร็ว
- มีเซิร์ฟเวอร์ hot reloading ที่ให้แก้ไขและบันทึกไฟล์แบบเรียลไทม์ พร้อมดูการเปลี่ยนแปลงในเบราว์เซอร์ได้ทันที
- เมื่อทำงานเสร็จแล้ว สามารถแปลงเป็นไฟล์สแตติกเพื่อนำไป deploy บนเซิร์ฟเวอร์ หรือ deploy ตรงไปยังแพลตฟอร์มแชร์ของ Observable ได้
JavaScript ภายใน Markdown
- โค้ดบล็อกใน Markdown ที่ติดแท็ก
js จะถูกรันเป็น JavaScript บนเบราว์เซอร์ของผู้ใช้
- ตัวแปรพิเศษชื่อ
now จะให้เวลาปัจจุบันเป็นมิลลิวินาทีนับจาก epoch และอัปเดตอย่างต่อเนื่อง
- Observable Framework รวม Markdown และ JavaScript ไว้ในเอกสารข้อความเดียวเพื่อสร้างเอกสารแบบอินเทอร์แอ็กทีฟ
ทุกอย่างยังคงเป็น reactive
- Observable Framework ยังคงความเป็น reactive แบบเดียวกับ Observable notebook และจะรีเฟรชอัตโนมัติเมื่อเซลล์อื่นที่อ้างอิงมีการเปลี่ยนแปลง
- มีประโยชน์อย่างยิ่งเมื่อทำงานร่วมกับ input ของฟอร์ม และช่วยเพิ่มความอินเทอร์แอ็กทีฟแบบเรียลไทม์ลงในเอกสารได้ง่าย
รวมเฉพาะโค้ดที่ใช้งาน
- Observable Framework ใช้ lazy loading ในโหมดพัฒนา เพื่อโหลดเฉพาะโค้ดที่ถูกใช้งาน
- เมื่อ build และ deploy แอปพลิเคชัน ระบบจะโหลดเฉพาะโค้ดของไลบรารีที่ถูกอ้างอิงจาก jsdelivr CDN โดยอัตโนมัติ
แคชข้อมูลในช่วง build
- Framework ใช้กลไก data loader เพื่อสร้างข้อมูลแดชบอร์ดในช่วง build และ bundle เป็นไฟล์สแตติก
- data loader คือสคริปต์ที่สามารถเขียนได้ด้วยภาษาโปรแกรมใดก็ได้ โดยจะรันในช่วง build และบันทึกผลลัพธ์เป็นไฟล์
เปรียบเทียบกับ Observable notebook
- Observable Framework นำแนวคิดและโค้ดจาก Observable notebook กลับมาใช้ซ้ำ แต่ประกอบด้วยไฟล์ข้อความเพียงไฟล์เดียว และเป็นโอเพนซอร์สทั้งหมด
- ใช้ JavaScript มาตรฐาน และสามารถเช็กอินเข้า Git ได้ด้วยรูปแบบไฟล์ที่เรียบง่ายกว่า
การเปลี่ยนแปลงของกลยุทธ์
- Observable Framework สะท้อนการเปลี่ยนแปลงเชิงกลยุทธ์ของบริษัท Observable ที่หันไปเน้นพื้นที่เครื่องมือสำหรับนักพัฒนามากขึ้น
- Observable Framework แสดงถึงการให้คุณค่ากับเทคโนโลยีของ Observable notebook พร้อมทั้งแก้ปัญหาที่เคยจำกัดการใช้งานจากความเป็นแพลตฟอร์มแบบปิดและข้อจำกัดของบัญชีฟรี
ความเห็นของ GN⁺
- Observable Framework เป็นเครื่องมือใหม่สำหรับการทำ data visualization และสร้างแดชบอร์ด ที่มีศักยภาพในการช่วยให้นักพัฒนาทำงานร่วมกันได้ดีขึ้นและมีประสิทธิภาพมากขึ้น
- แพลตฟอร์มนี้ช่วยให้สร้างเอกสารและแดชบอร์ดแบบอินเทอร์แอ็กทีฟเพื่อสนับสนุนการตัดสินใจบนฐานข้อมูลได้ง่าย จึงน่าจะมีประโยชน์ทั้งกับนักวิทยาศาสตร์ข้อมูลและนักพัฒนา
- อย่างไรก็ตาม ความสำเร็จของ Observable Framework จะขึ้นอยู่มากกับการยอมรับจากชุมชนนักพัฒนาและระดับการผสานรวมกับเครื่องมือที่มีอยู่เดิม
- โปรเจ็กต์อื่นที่มีความสามารถคล้ายกัน ได้แก่ Jupyter Notebook และ R Shiny ซึ่งการเปรียบเทียบกับเครื่องมือเหล่านี้จะช่วยให้เข้าใจจุดแข็งและจุดอ่อนของ Observable Framework ได้ดีขึ้น
- เมื่อนำ Observable Framework มาใช้ ควรพิจารณาปัจจัยอย่างความเข้ากันได้กับ data pipeline เดิม การปรับแต่งประสิทธิภาพ และการสนับสนุนจากชุมชน
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
เปรียบ Observable Framework ว่าเป็น "Avengers: Endgame" ในจักรวาลภาพยนตร์ของ Mike Bostock
มีการกล่าวถึงปัญหาเมื่อใช้ Observable Framework ในฐานะแหล่งตัวอย่างของ d3
มีการกล่าวว่าสามารถเผยแพร่ Observable Framework ไปยัง GitHub Pages ได้อย่างง่ายดาย
มีการแชร์ประสบการณ์การทำโปรเจ็กต์แรกให้เสร็จโดยใช้ Observable notebook
มีการแชร์ประสบการณ์เชิงบวกเกี่ยวกับ Observable Framework
มีการตั้งคำถามว่าควรย้ายจาก Jupyter notebook ไปใช้ Observable หรือไม่
อธิบายว่าเมื่อมีคำใบ้เนื้อหา
jsภายใน code block โค้ดจะถูกรันทันทีในเบราว์เซอร์ของผู้ใช้js echoมีการกล่าวว่า Observable ผสานกับ REST API ของ ClickHouse ได้ดี และตัวอย่างการ query ฐานข้อมูลแบบเรียลไทม์ก็น่าสนใจ
มีการตั้งค่า Codespace devcontainers ที่มีการตั้งค่า environment ของ Node และ Python อัตโนมัติ เพื่อให้สามารถทดลองและปรับแต่ง Framework ได้อย่างรวดเร็วในเบราว์เซอร์
มีความเห็นว่า Observable จำกัดฐานผู้ใช้ด้วยการรองรับเฉพาะ JavaScript