- OS.js คือ แพลตฟอร์ม JavaScript โอเพนซอร์ส สำหรับสร้างสภาพแวดล้อมแบบเดสก์ท็อปภายในเบราว์เซอร์
- มี ตัวจัดการหน้าต่าง รวมมาให้ จึงสามารถจัดองค์ประกอบเว็บแอปให้มีลักษณะเหมือนเดสก์ท็อปได้
- มาพร้อม Application API และ GUI toolkit สำหรับการพัฒนาแอปพลิเคชัน
- ฟังก์ชันที่เกี่ยวข้องกับไฟล์ถูกออกแบบให้จัดการผ่าน การทำ abstraction ของไฟล์ระบบ
- รวมการจัดการหน้าต่าง การพัฒนาแอป GUI และการจัดการไฟล์ไว้ในแพลตฟอร์มเดียว เพื่อใช้เป็นจุดเริ่มต้นในการสร้างเว็บเดสก์ท็อป
องค์ประกอบเว็บเดสก์ท็อปที่ OS.js มีให้
- OS.js คือแพลตฟอร์มเว็บเดสก์ท็อปแบบโอเพนซอร์สที่พัฒนาด้วย JavaScript
-
UI เดสก์ท็อป
- มีตัวจัดการหน้าต่างในตัว เพื่อรองรับการสร้าง UI แบบเดสก์ท็อป
-
การพัฒนาแอปพลิเคชัน
- มี Application API และ GUI toolkit เป็นองค์ประกอบพื้นฐานที่จำเป็นสำหรับการพัฒนาแอปสำหรับเว็บเดสก์ท็อป
-
การจัดการไฟล์
- ฟังก์ชันที่เกี่ยวข้องกับไฟล์สามารถจัดการได้ผ่านการทำ abstraction ของไฟล์ระบบ
1 ความคิดเห็น
ความเห็นจาก 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 พิกเซล
จะดีกว่านั้นอีกถ้าขยับเฉพาะบล็อกที่ทับกับผ้าเช็ดทำความสะอาด :)
ก่อนถึงตอนนั้น 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 ไม่ได้ เพราะต้องกดสเปซบาร์เพื่อเริ่ม
ด้านหนึ่งฉันก็คิดว่าของแบบนี้เจ๋งดี ทำไมถึงสร้างมันขึ้นมา? ก็คงเพราะทำได้ไงล่ะ
แต่อีกด้านหนึ่ง ฉันก็ยังสงสัยอยู่ดีว่าทำไปทำไม