5 poin oleh GN⁺ 2023-08-27 | 1 komentar | Bagikan ke WhatsApp
  • OS.js adalah platform JavaScript open source untuk membangun lingkungan bergaya desktop di dalam browser
  • Platform ini menyertakan pengelola jendela untuk menata dan mengelola jendela sehingga aplikasi web dapat disusun seperti desktop
  • Platform ini juga menyediakan API aplikasi dan toolkit GUI untuk pengembangan aplikasi
  • Fitur terkait file dirancang untuk ditangani melalui abstraksi sistem berkas
  • Pengelolaan jendela, pengembangan aplikasi, GUI, dan pemrosesan file disatukan dalam satu platform sehingga dapat dimanfaatkan sebagai titik awal implementasi desktop web

Komponen desktop web yang disediakan OS.js

  • OS.js adalah platform desktop web berbasis JavaScript open source
  • UI desktop

    • Menyertakan pengelola jendela untuk mendukung penyusunan UI bergaya desktop
  • Pengembangan aplikasi

    • Menyediakan API aplikasi dan toolkit GUI sehingga memiliki elemen dasar yang diperlukan untuk mengembangkan aplikasi untuk desktop web
  • Pemrosesan file

    • Fitur terkait file dapat ditangani melalui abstraksi sistem berkas

1 komentar

 
GN⁺ 2023-08-27
Komentar Hacker News
  • Sedikit menyimpang, tapi sejauh ini https://windows93.net/ adalah konsep desktop web yang paling saya sukai

    • Windows 96 juga cukup bagus
      https://windows96.net/

      Sistem operasi internet adalah topik niche yang menarik bagi saya, jadi saya membuat daftarnya di situs web. Saya juga berencana segera menambahkan OS.js

      Kalau ingin melihatnya, ada di sini:
      https://www.whoisthisjoker.com/jokerlinks/virtualoperatingsy...

      [Edit] Sepertinya Hacker News tidak mendukung Markdown, jadi saya rapikan agar lebih mudah dibaca

    • Ironis bahwa di “log boot” muncul Safari is teh new Internet Explorer. Safari adalah salah satu dari dua pilar terakhir yang menahan dominasi penuh Chrome, sementara Google mencoba memaksakan WEI

      Web terbuka sedang sekarat, dan menurut saya pesan-pesan seperti ini ikut berkontribusi pada kematiannya

    • Untuk gaya yang mirip, Windows RG (really good edition) adalah yang terbaik: https://www.newgrounds.com/portal/view/27549

    • Sebaiknya jangan klik ikon hamster itu saat volume speaker disetel 100% :S

    • Lucu, apalagi kalau pernah memakai Windows 95

  • Setelah melihat banyak hal seperti ini muncul di HN belakangan ini, saya menulis posting blog [1] tentang fenomena desktop web yang kembali populer. OS.js adalah salah satu proyek awal yang sudah saya ikuti selama beberapa tahun, dan desain serta dokumentasinya benar-benar bagus
    Antarmukanya selalu mengingatkan saya pada distro-distro yang memakai GNOME 2 pada pertengahan 2000-an, dan saya suka karena berbeda dari kebanyakan desktop web bernuansa nostalgia yang memakai tema Windows 9x

    [1] https://system31.simone.computer/blog/desktops-zip

    • EyeOS sudah melakukan hal seperti ini sekitar pergantian milenium:

      https://en.wikipedia.org/wiki/EyeOS

      Rilis pertama OS.js baru sekitar 2015, lebih dari 10 tahun setelah itu

  • Lucu bahwa ini lebih cepat dan responsif daripada window manager desktop Windows saya yang sebenarnya. Terutama untuk hal seperti kecepatan membuka aplikasi

    • Aneh sekali Windows 11 terasa selambat ini bahkan di hardware modern. Bahkan dengan CPU terbaru dan RAM 16GB, memuat sesuatu masih butuh waktu lumayan lama, dan terasa sangat lamban dibanding MacBook Air di kisaran harga serupa

      Sulit membayangkan perbedaan sebesar ini disebabkan oleh hardware. M2 memang cepat, tapi Intel generasi ke-12 juga tidak jauh lebih lambat; hanya lebih boros daya

      Jadi ini berarti masalah software. Menyedihkan kalau mengingat betapa bagusnya kernel keluarga NT dulu, lalu di atasnya mereka terus membangun sistem operasi yang semakin buruk. Pangsa pasar desktop yang turun dari hampir 100% menjadi sekitar 60% sekarang adalah akibat perbuatan sendiri, dan tampaknya hanya soal waktu sebelum mengikuti jalan AOL atau Yahoo

    • Untuk menguji pernyataan ini, saya menyeret browser Brave, dan seluruh PC saya membeku selama 2 detik di 5900X 12-core/24-thread

  • Sepertinya blok Tetris tidak disejajarkan dengan grid piksel canvas, sehingga muncul anti-aliasing yang tidak perlu. Karena itu tepi blok terus terlihat buram

    Untuk memperbaikinya, tambahkan aplikasi “kain pembersih” yang bisa diseret pengguna ke atas canvas Tetris, lalu geser blok secara horizontal sebesar 0,5 piksel

    Lebih bagus lagi kalau hanya blok yang bertumpang tindih dengan kain pembersih yang digeser :)

  • Saya kira semuanya akan dirender dengan canvas, ternyata tidak. Ini memakai HTML, dan hanya memakai canvas di tempat seperti aplikasi menggambar

    • Orang-orang meremehkan hal-hal bagus yang diberikan CSS saat membuat UI

      Kalau semuanya dibuat dengan canvas, kita harus mengimplementasikan ulang hal seperti flexbox untuk meratakan ke tengah, menyesuaikan, meregangkan, dan menganimasikan teks ikon, kotak, tombol, dan sebagainya

      Daripada begitu, bukankah lebih baik tetap memakai HTML saja, dengan layout engine yang sudah diimplementasikan dan sangat dioptimalkan di hampir semua platform?

    • Sebenarnya semuanya bisa dilakukan hanya dengan HTML. Lingkungan desktop saya memakai HTML semantik sebisa mungkin, dan menggunakan CSS modern seperti grid untuk kisi ikon

      Namun suatu saat saya juga mempertimbangkan penulisan ulang penuh dengan WebAssembly yang seluruhnya memakai canvas. Dengan begitu akan jauh lebih mudah di-port ke platform lain, dan peluang untuk suatu hari keluar dari browser juga tampaknya lebih besar

    • Itu juga hal pertama yang saya periksa. Cukup menyenangkan melihat slider input warna dan input range pun dibuat dengan HTML

  • Saya pernah membuat konsep serupa berupa akses internet privat ke sistem berkas. Ada di sini: https://github.com/prettydiff/share-file-systems

    Manajemen jendela dan status bisa dilihat sebagai demo di situs pribadi saya: https://prettydiff.com

  • Jadi kita membuat satu lagi sistem operasi (compiler) di atas Windows, yang merupakan sistem operasi kita, di atas browser web, yang merupakan sistem operasi kita di atas OS.js

  • Entah kenapa saya ingin membuat atau mencoba hal seperti ini, tetapi pada saat yang sama saya tidak bisa memikirkan use case nyata

    • Anggap saja kalau membeli laptop baru, tidak perlu menginstal apa pun. Semua program, file, dan pengaturan ada di cloud, dan program bisa membuka file langsung dari penyimpanan cloud tanpa perlu mengunduhnya terlebih dahulu. Jadi file dan dokumen pengguna tidak perlu disimpan di perangkat

      Jika perangkat hanya menjalankan desktop seperti itu, sistem operasi internet seperti ini paling cocok berjalan di perangkat bergaya Chromebook dengan penyimpanan minimal hanya untuk data sistem. Perangkat bisa dikunci agar hanya menjalankan desktop internet, dan seluruh konfigurasinya disimpan di cloud sehingga otomatis terkonfigurasi saat login. Dengan begitu, cukup mendapatkan hardwarenya dan langsung bisa dipakai, tanpa perlu mengurus pengaturan, instalasi, atau driver

      Ini tidak cocok untuk semua pengguna dan semua situasi, tetapi dalam beberapa skenario bisa sangat berguna

    • Use case-nya adalah kembali ke dumb terminal. Banyak perusahaan sudah memakai remote desktop dan VPN semaksimal mungkin, tetapi banyak juga yang mungkin ingin memberi karyawan perangkat dan menjalankan seluruh sistem operasinya dari jarak jauh, sehingga perangkat itu pada dasarnya menjadi terminal

      Dengan begitu, 100% data yang dibuat karyawan tetap berada di server dan jaringan organisasi. Bukan berarti pengalaman karyawannya akan bagus, tetapi ini jelas merupakan use case

  • Mengingatkan saya pada Buddy Pond https://buddypond.com/

  • Di ponsel, saya tidak bisa memainkan Tetris karena harus menekan spasi untuk memulai

    Di satu sisi, menurut saya hal-hal seperti ini keren. Kenapa dibuat? Mungkin karena memang bisa dibuat

    Di sisi lain, saya tetap penasaran kenapa dibuat

    • Jika seseorang menambahkan dukungan keyboard virtual agar Tetris di dalamnya bisa dimainkan di ponsel, setidaknya semua alasan yang masuk akal bisa disingkirkan