9 poin oleh GN⁺ 2025-01-03 | 1 komentar | Bagikan ke WhatsApp
  • Zasper adalah IDE yang dirancang untuk mendukung konkurensi berskala besar.
    • Menyediakan penggunaan memori minimal dan kecepatan yang sangat baik, sambil menangani beberapa koneksi sekaligus.
    • Cocok untuk menjalankan aplikasi data gaya REPL seperti Jupyter Notebook.
    • Saat ini didukung penuh di Mac dan didukung secara terbatas di Linux.
  • Benchmark
    • Zasper menggunakan RAM dan CPU 4x lebih sedikit dibanding JupyterLab.
    • JupyterLab menggunakan sekitar 104.8 MB RAM dan 0.8 CPU, sedangkan Zasper menggunakan 26.7 MB RAM dan 0.2 CPU.
  • Alasan pembuatan Zasper
    • Di pasar sudah ada alat frontend mirip JupyterLab seperti Databricks Notebooks dan Deepnote Notebooks, tetapi sebagian besar tidak gratis dan harus dikerjakan di cloud.
    • Zasper berjalan mulus di mesin lokal dan memanfaatkan sumber daya yang tersedia secara efektif untuk memastikan efisiensi maksimal.
    • Bahasa Go menyediakan dukungan yang baik untuk protokol REST, RPC, dan WS, dengan unggul dalam konkurensi dan performa.
    • Python cocok untuk tugas asinkron berbasis I/O, tetapi memiliki keterbatasan pada beban kerja berbasis CPU.
  • Menyediakan berbagai fitur seperti editor, terminal, launcher, Jupyter Notebook, kontrol versi, palet perintah, mode gelap, dan fitur lainnya.
  • Disediakan dalam bentuk aplikasi Electron dan aplikasi web.
  • Roadmap
    • Zasper bertujuan menjadi ekosistem IDE yang kuat untuk data scientist dan AI engineer, dengan arah pengembangan ke depan sebagai berikut:
      • Mendukung aplikasi data kustom selain Jupyter Notebook.
      • Mempermudah integrasi dengan alat yang sudah ada.
      • Menyediakan Zasper Hub untuk deployment self-hosted di cloud.

1 komentar

 
GN⁺ 2025-01-03
Komentar Hacker News
  • Penulis Zasper menjelaskan bahwa pemrosesan kernel Jupyter di Zasper dibangun dengan coroutine Go dan lebih baik dibandingkan pendekatan Python di JupyterLab.

    • Zasper memakai sekitar 1/4 RAM dan CPU dibandingkan JupyterLab.
    • Fitur pencarian dan lain-lain belum dioptimalkan sehingga masih lambat.
    • Saat ini dikembangkan penuh waktu oleh satu orang, dan akan disempurnakan lebih lanjut.
    • Menargetkan respons yang baik terhadap rancangan pertamanya.
  • Marimo terdengar menarik sebagai alternatif Jupyter yang menggabungkan keunggulan Streamlit dan Jupyter.

  • Ada yang mempertanyakan apakah penurunan penggunaan memori dan CPU benar-benar berarti.

    • Karena kode Python mengonsumsi lebih banyak sumber daya, tidak jelas seberapa besar threading Go membantu.
  • Ada pendapat bahwa meski JupyterLab sudah tua, ia tetap modern berkat pengembangan berkelanjutan.

  • Alternatif ini dikatakan hanya dapat dijalankan di macOS dan didukung secara parsial di Linux, serta hanya mendukung IPython.

    • Disebutkan bahwa peningkatan performa dari Go dinetralisasi oleh penggunaan Electron.
  • Dalam Jupyter, dibutuhkan antarmuka seperti rstudio, dan fitur yang dapat menjalankan blok kode dianggap penting.

    • Menyukai fitur "open console for notebook" di JupyterLab, tetapi tidak menemukan cara untuk mengirim teks atau beralih fokus menggunakan pintasan keyboard.
    • Karena hal ini, ia tidak menggunakan implementasi Jupyter dari VSCode.
  • Ada yang berharap mempertimbangkan Wails untuk UI.

    • Menyesali bahwa meskipun banyak usaha diberikan pada Go, akhirnya menggunakan Electron.
  • Bertanya-tanya apa keunggulan yang dimiliki dibandingkan implementasi Jupyter notebook di VSCode.

  • Bertanya apakah output tidak hilang saat memutus dan menyambung ulang koneksi dari frontend yang sedang berjalan.

  • Ini tampak sebagai proyek yang menggantikan frontend JupyterLab sambil mempertahankan koneksi dengan kernel Jupyter.

    • Secara teoritis, kemungkinan mendukung kernel JavaScript atau bahasa lain terlihat ada.
    • Disebutkan bahwa proyek ini hanya diuji dengan kernel IPython, dan menunjukkan ketertarikan pada arah pengembangannya.