5 คะแนน โดย GN⁺ 2023-08-27 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • OS.js คือ แพลตฟอร์ม JavaScript โอเพนซอร์ส สำหรับสร้างสภาพแวดล้อมแบบเดสก์ท็อปภายในเบราว์เซอร์
  • มี ตัวจัดการหน้าต่าง รวมมาให้ จึงสามารถจัดองค์ประกอบเว็บแอปให้มีลักษณะเหมือนเดสก์ท็อปได้
  • มาพร้อม Application API และ GUI toolkit สำหรับการพัฒนาแอปพลิเคชัน
  • ฟังก์ชันที่เกี่ยวข้องกับไฟล์ถูกออกแบบให้จัดการผ่าน การทำ abstraction ของไฟล์ระบบ
  • รวมการจัดการหน้าต่าง การพัฒนาแอป GUI และการจัดการไฟล์ไว้ในแพลตฟอร์มเดียว เพื่อใช้เป็นจุดเริ่มต้นในการสร้างเว็บเดสก์ท็อป

องค์ประกอบเว็บเดสก์ท็อปที่ OS.js มีให้

  • OS.js คือแพลตฟอร์มเว็บเดสก์ท็อปแบบโอเพนซอร์สที่พัฒนาด้วย JavaScript
  • UI เดสก์ท็อป

    • มีตัวจัดการหน้าต่างในตัว เพื่อรองรับการสร้าง UI แบบเดสก์ท็อป
  • การพัฒนาแอปพลิเคชัน

    • มี Application API และ GUI toolkit เป็นองค์ประกอบพื้นฐานที่จำเป็นสำหรับการพัฒนาแอปสำหรับเว็บเดสก์ท็อป
  • การจัดการไฟล์

    • ฟังก์ชันที่เกี่ยวข้องกับไฟล์สามารถจัดการได้ผ่านการทำ abstraction ของไฟล์ระบบ

1 ความคิดเห็น

 
GN⁺ 2023-08-27
ความเห็นจาก Hacker News
  • ขอออกนอกเรื่องนิดหนึ่ง แต่ในบรรดาคอนเซปต์ เว็บเดสก์ท็อป ทั้งหมด ฉันชอบ https://windows93.net/ มากที่สุดเท่าที่เคยเห็นมา

    • Windows 96 ก็ใช้ได้ดีเหมือนกัน
      https://windows96.net/

      ระบบปฏิบัติการบนอินเทอร์เน็ต เป็นหัวข้อเฉพาะทางที่ฉันสนใจอยู่ เลยทำลิสต์ไว้บนเว็บไซต์ของตัวเอง และกำลังจะเพิ่ม OS.js เข้าไปเร็ว ๆ นี้

      ถ้าอยากดูก็อยู่ที่นี่:
      https://www.whoisthisjoker.com/jokerlinks/virtualoperatingsy...

      [แก้ไข] ดูเหมือนว่า Hacker News จะไม่รองรับ Markdown เลยแก้ให้อ่านง่ายขึ้น

    • มันน่าประชดดีที่ใน “บูตล็อก” มีข้อความ Safari is teh new Internet Explorer โผล่ขึ้นมา ทั้งที่ Safari เป็นหนึ่งในสองเสาหลักสุดท้ายที่ยังต้านการผูกขาดแบบเบ็ดเสร็จของ Chrome อยู่ และ Google ก็กำลังพยายามยัด WEI เข้ามา

      เว็บแบบเปิด กำลังค่อย ๆ ตาย และฉันคิดว่าข้อความแบบนี้ก็มีส่วนช่วยเร่งการตายนั้น

    • ถ้าเป็นแนวคล้ายกัน ฉันชอบ Windows RG (really good edition) มากที่สุด: https://www.newgrounds.com/portal/view/27549

    • ถ้าคุณเปิดเสียงลำโพงไว้ที่ 100% อยู่ อย่ากด ไอคอนหนูแฮมสเตอร์ จะดีกว่า :S

    • ตลกดี โดยเฉพาะถ้าเป็นคนที่เคยใช้ Windows 95 มาก่อนก็น่าจะยิ่งขำ

  • พอเห็นช่วงนี้มีของแนวนี้ขึ้น HN บ่อย ฉันเลยเขียนบล็อกโพสต์ [1] เกี่ยวกับปรากฏการณ์ที่ เว็บเดสก์ท็อป กลับมาได้รับความนิยมอีกครั้ง OS.js เป็นหนึ่งในโปรเจ็กต์ยุคแรก ๆ ที่ฉันติดตามมาหลายปีแล้ว และมันออกแบบกับทำเอกสารไว้ดีมาก
    อินเทอร์เฟซของมันทำให้ฉันนึกถึงดิสโทรที่ใช้ GNOME 2 ช่วงกลางทศวรรษ 2000 อยู่เสมอ ซึ่งฉันชอบเพราะต่างจากเว็บเดสก์ท็อปสายย้อนยุคส่วนใหญ่ที่มักใช้ธีม Windows 9x

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

    • EyeOS ทำอะไรแบบนี้มาตั้งแต่ช่วงเปลี่ยนสหัสวรรษแล้ว:

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

      รุ่นแรกของ OS.js ออกมาหลังจากนั้นอีกมากกว่า 10 ปี ราว ๆ ปี 2015

  • ขำตรงที่มันเร็วและตอบสนองดีกว่า ตัวจัดการหน้าต่างเดสก์ท็อป Windows จริง ๆ ของฉันเสียอีก โดยเฉพาะตอนเปิดแอป

    • แปลกเหมือนกันที่ Windows 11 ยังช้าขนาดนี้แม้บนฮาร์ดแวร์รุ่นใหม่ บน CPU รุ่นใหม่กับ RAM 16GB มันก็ยังใช้เวลาพอสมควรในการโหลดอะไรสักอย่าง และถ้าเทียบกับ MacBook Air ที่ราคาใกล้กันก็อืดมาก

      ยากจะเชื่อว่าความต่างระดับนี้เกิดจากฮาร์ดแวร์ล้วน ๆ M2 เร็วก็จริง แต่ Intel Gen 12 ก็ไม่ได้ช้ากว่าขนาดนั้น แค่กินไฟมากกว่า

      ถ้าอย่างนั้นก็คงเป็นปัญหาซอฟต์แวร์ ซึ่งก็น่าเศร้าเมื่อคิดว่าเคอร์เนลตระกูล NT เคยยอดเยี่ยมแค่ไหน และหลังจากนั้นกลับสร้างระบบปฏิบัติการที่แย่ลงเรื่อย ๆ ทับลงไป ส่วนแบ่งตลาดเดสก์ท็อปที่ตกจากเกือบ 100% มาเหลือราว 60% ทุกวันนี้ก็เป็นสิ่งที่ทำตัวเองทั้งนั้น และการเดินตามรอย AOL หรือ Yahoo ก็ดูเหมือนเป็นแค่เรื่องของเวลา

    • ฉันลองทดสอบคำพูดนี้ด้วยการลากเบราว์เซอร์ Brave แล้ว PC ทั้งเครื่องค้างไป 2 วินาทีบน 5900X 12 คอร์/24 เธรด

  • ดูเหมือนว่า บล็อก Tetris จะไม่ตรงกับกริดพิกเซลของแคนวาส จึงเกิด anti-aliasing ที่ไม่จำเป็น ทำให้ขอบของบล็อกดูเบลอตลอด

    วิธีแก้คือเพิ่มแอป “ผ้าเช็ดทำความสะอาด” ที่ผู้ใช้ลากไปวางเหนือแคนวาส Tetris ได้ เพื่อขยับบล็อกในแนวนอน 0.5 พิกเซล

    จะดีกว่านั้นอีกถ้าขยับเฉพาะบล็อกที่ทับกับผ้าเช็ดทำความสะอาด :)

    • สักวันหนึ่ง CSS ก็น่าจะมีวิธีจัดการ ออฟเซ็ต ทุกแบบได้อย่างถูกต้อง https://www.w3.org/TR/css-values-4/#round-func
      ก่อนถึงตอนนั้น JavaScript ก็สามารถคำนวณออฟเซ็ตที่ถูกต้องให้อัตโนมัติได้
  • ตอนแรกฉันนึกว่ามันเรนเดอร์ทั้งหมดด้วย canvas แต่ไม่ใช่ มันใช้ HTML และใช้ canvas แค่ในส่วนอย่างโปรแกรมวาดรูป

    • คนมักประเมินต่ำไปว่าของดีที่ CSS มีให้นั้นเยอะแค่ไหนเวลาสร้าง UI

      ถ้าทำทุกอย่างด้วย canvas คุณก็ต้องกลับไปสร้างอะไรคล้าย flexbox ขึ้นมาใหม่เอง เพื่อจัดข้อความไอคอน กล่อง ปุ่ม ฯลฯ ให้อยู่กึ่งกลาง จัดแนว ยืด และทำแอนิเมชัน

      ในเมื่อมี layout engine ที่สร้างไว้แล้วและถูกปรับแต่งประสิทธิภาพอย่างหนักบนแทบทุกแพลตฟอร์มอยู่ตรงหน้า ทำไมไม่อยู่กับ HTML ไปเลยล่ะ?

    • ที่จริงทำทุกอย่างด้วย HTML ก็ได้ สภาพแวดล้อมเดสก์ท็อปของฉันใช้ semantic HTML เท่าที่จะทำได้ และใช้ CSS สมัยใหม่อย่าง grid สำหรับกริดไอคอน

      แต่สักวันหนึ่งฉันก็อาจพิจารณาเขียนใหม่ทั้งหมดแบบ WebAssembly ที่เป็น canvas ล้วนเหมือนกัน แบบนั้นน่าจะพอร์ตไปแพลตฟอร์มอื่นได้ง่ายกว่ามาก และอาจมีโอกาสหลุดออกจากเบราว์เซอร์ได้มากขึ้นในอนาคต

    • นั่นก็เป็นอย่างแรกที่ฉันเช็กเหมือนกัน เห็นแม้แต่สไลเดอร์เลือกสีกับ range input ก็ยังทำด้วย HTML เลย ถือว่าดีมาก

  • ฉันเคยสร้างคอนเซปต์คล้ายกันคือ การเข้าถึงอินเทอร์เน็ตแบบส่วนตัว สำหรับระบบไฟล์ ไว้ที่นี่: https://github.com/prettydiff/share-file-systems

    ส่วนการจัดการหน้าต่างและสถานะ ดูเดโมได้ในเว็บไซต์ส่วนตัวของฉัน: https://prettydiff.com

  • เท่ากับว่าเราสร้างระบบปฏิบัติการอีกชั้นหนึ่ง (คอมไพเลอร์) บน Windows ซึ่งเป็นระบบปฏิบัติการของเรา ที่อยู่บน เว็บเบราว์เซอร์ ซึ่งเป็นระบบปฏิบัติการของเราอีกชั้นหนึ่ง บน OS.js

  • แปลกดีที่ฉันรู้สึกอยากสร้างหรืออยากลองใช้ของแบบนี้ แต่ในขณะเดียวกันก็คิดไม่ออกว่ามี กรณีการใช้งาน จริงอะไรบ้าง

    • ลองคิดว่าเมื่อซื้อโน้ตบุ๊กใหม่ คุณไม่ต้องติดตั้งอะไรเลย ทุกโปรแกรม ไฟล์ และการตั้งค่าอยู่ใน คลาวด์ และโปรแกรมสามารถเปิดไฟล์จากที่เก็บข้อมูลบนคลาวด์ได้ทันทีโดยไม่ต้องดาวน์โหลดลงมาก่อน แบบนั้นก็ไม่จำเป็นต้องเก็บไฟล์และเอกสารของผู้ใช้ไว้ในเครื่อง

      ถ้าอุปกรณ์นั้นรันแต่เดสก์ท็อปแบบนี้ ระบบปฏิบัติการบนอินเทอร์เน็ตลักษณะนี้น่าจะทำงานได้ดีที่สุดบน อุปกรณ์สไตล์ Chromebook ที่มีพื้นที่เก็บข้อมูลขั้นต่ำสำหรับข้อมูลระบบเท่านั้น คุณสามารถล็อกให้มันรันแค่อินเทอร์เน็ตเดสก์ท็อป เก็บการตั้งค่าทั้งหมดไว้บนคลาวด์ และให้มันตั้งค่าตัวเองอัตโนมัติเมื่อผู้ใช้ล็อกอิน แบบนั้นแค่มีฮาร์ดแวร์ก็พร้อมใช้งานได้ทันที โดยไม่ต้องไปยุ่งกับการตั้งค่า การติดตั้ง หรือไดรเวอร์เลย

      มันอาจไม่เหมาะกับผู้ใช้ทุกคนและทุกสถานการณ์ แต่ในบางสถานการณ์ก็น่าจะมีประโยชน์มาก

    • กรณีการใช้งานคือการกลับไปสู่ ดัมบ์เทอร์มินัล หลายบริษัทใช้รีโมตเดสก์ท็อปและ VPN กันมากอยู่แล้วเท่าที่ทำได้ แต่ก็น่าจะมีบริษัทอีกไม่น้อยที่อยากแจกอุปกรณ์ให้พนักงาน แล้วให้ระบบปฏิบัติการทั้งหมดรันจากระยะไกล ทำให้อุปกรณ์นั้นกลายเป็นเทอร์มินัลโดยพฤตินัย

      แบบนั้นข้อมูล 100% ที่พนักงานสร้างขึ้นก็จะอยู่ภายในเซิร์ฟเวอร์และเครือข่ายขององค์กร แม้จะไม่ได้หมายความว่าเป็นประสบการณ์ที่ดีสำหรับพนักงาน แต่ก็เป็นกรณีการใช้งานที่ชัดเจน

  • ทำให้นึกถึง Buddy Pond https://buddypond.com/

  • บนมือถือฉันเล่น Tetris ไม่ได้ เพราะต้องกดสเปซบาร์เพื่อเริ่ม

    ด้านหนึ่งฉันก็คิดว่าของแบบนี้เจ๋งดี ทำไมถึงสร้างมันขึ้นมา? ก็คงเพราะทำได้ไงล่ะ

    แต่อีกด้านหนึ่ง ฉันก็ยังสงสัยอยู่ดีว่าทำไปทำไม

    • ถ้ามีใครเพิ่มการรองรับ คีย์บอร์ดเสมือน เพื่อให้เล่น Tetris ข้างในนั้นบนมือถือได้ อย่างน้อยก็จะช่วยตัดเหตุผลเชิงตรรกะออกไปได้หมด