- OS.js es una plataforma JavaScript de código abierto para crear un entorno tipo escritorio dentro del navegador
- Incluye un gestor de ventanas para organizar y manejar ventanas, lo que permite estructurar apps web como si fueran de escritorio
- Ofrece una API de aplicaciones y un kit de herramientas GUI para el desarrollo de aplicaciones
- Las funciones relacionadas con archivos están diseñadas para manejarse mediante una abstracción del sistema de archivos
- Permite integrar gestión de ventanas, desarrollo de apps, GUI y manejo de archivos en una sola plataforma, y puede usarse como punto de partida para implementar un escritorio web
Componentes de escritorio web que ofrece OS.js
- OS.js es una plataforma de escritorio web basada en JavaScript y de código abierto
-
UI de escritorio
- Incluye un gestor de ventanas y da soporte para construir una UI tipo escritorio
-
Desarrollo de aplicaciones
- Ofrece una API de aplicaciones y un kit de herramientas GUI, con los elementos básicos necesarios para desarrollar apps para un escritorio web
-
Manejo de archivos
- Las funciones relacionadas con archivos pueden manejarse mediante una abstracción del sistema de archivos
1 comentarios
Opiniones en Hacker News
Como comentario aparte, https://windows93.net/ es el concepto de escritorio web que más me ha gustado hasta ahora
Windows 96 también está bastante bien
https://windows96.net/
Los sistemas operativos de Internet son un nicho que me parece interesante, así que armé una lista en mi sitio web. Pronto voy a agregar OS.js también
Si quieres verla, está aquí:
https://www.whoisthisjoker.com/jokerlinks/virtualoperatingsy...
[Editado] Parece que Hacker News no soporta Markdown, así que lo arreglé para que se lea mejor
Es irónico que en el “log de arranque” aparezca Safari is teh new Internet Explorer. Safari es uno de los dos últimos pilares frente al dominio total de Chrome, mientras Google intenta imponer WEI a la fuerza
La web abierta está muriendo, y creo que mensajes como estos contribuyen a esa muerte
En una línea parecida, mi favorito es Windows RG (really good edition): https://www.newgrounds.com/portal/view/27549
Mejor no hacer clic en ese ícono del hámster con el volumen de los parlantes al 100% :S
Qué gracioso, sobre todo si alguna vez usaste Windows 95
Al ver que últimamente aparecen muchas cosas así en HN, escribí un post [1] sobre el resurgimiento de los escritorios web. OS.js fue uno de los primeros proyectos que venía siguiendo desde hace años, y está muy bien diseñado y documentado
La interfaz siempre me hizo pensar en las distribuciones de mediados de los 2000 que usaban GNOME 2, y eso me gustaba porque se diferenciaba de la mayoría de los escritorios web nostálgicos, que usan temas de Windows 9x
[1] https://system31.simone.computer/blog/desktops-zip
EyeOS ya hacía algo así alrededor del cambio de milenio:
https://en.wikipedia.org/wiki/EyeOS
La primera versión de OS.js fue más de 10 años después, alrededor de 2015
Me da risa que esto sea más rápido y responsivo que mi administrador de ventanas de escritorio de Windows real. Sobre todo en cosas como la velocidad para abrir apps
Es raro que Windows 11 sea tan lento incluso en hardware moderno. Incluso con un CPU reciente y 16 GB de RAM, tarda bastante en cargar algunas cosas y se siente muy pesado comparado con una MacBook Air de precio similar
Me cuesta imaginar que esa diferencia se deba al hardware. El M2 es rápido, sí, pero un Intel de 12.ª generación tampoco es muchísimo más lento; solo consume más energía
Entonces significa que es un problema de software. Es triste si uno piensa en lo bueno que era el kernel de la familia NT, y cómo encima fueron construyendo un sistema operativo cada vez peor. Que su cuota de mercado de escritorio haya caído de casi 100% a alrededor de 60% hoy es algo que se buscaron solos, y parece cuestión de tiempo para que sigan el camino de AOL o Yahoo
Para probar eso, arrastré el navegador Brave y toda la PC se congeló durante 2 segundos en un 5900X de 12 núcleos/24 hilos
Parece que los bloques de Tetris no están alineados con la cuadrícula de píxeles del canvas, lo que genera antialiasing innecesario. Por eso los bordes de los bloques se ven borrosos todo el tiempo
Para arreglarlo, podrían agregar una app de “paño de limpieza” que el usuario pueda arrastrar sobre el canvas de Tetris, y que mueva los bloques 0.5 píxeles en horizontal
Mejor todavía, que solo mueva los bloques que se superponen con el paño :)
Hasta entonces, se puede calcular automáticamente el desplazamiento correcto con JavaScript
Pensé que todo se iba a renderizar con canvas, pero no. Usa HTML, y canvas solo en partes como Paint
La gente subestima las cosas buenas que ofrece CSS al construir interfaces
Si haces todo con canvas, tienes que volver a implementar algo como flexbox para centrar, alinear, estirar y animar textos de íconos, cajas, botones, etc.
Si ya existe un motor de layout implementado y altamente optimizado en prácticamente todas las plataformas, ¿no conviene simplemente quedarse con HTML?
En realidad, solo con HTML se puede hacer todo. Mi entorno de escritorio usa HTML semántico siempre que es posible, y CSS moderno como grid para la cuadrícula de íconos
Aunque algún día estoy considerando una reescritura completa en WebAssembly con todo en canvas. Eso lo haría mucho más fácil de portar a otras plataformas y quizá aumentaría las posibilidades de salir del navegador algún día
Eso fue lo primero que revisé yo también. Me gustó bastante ver que incluso los sliders de entrada de color y los inputs de rango estaban hechos con HTML
Una vez hice un concepto parecido de acceso privado por Internet a sistemas de archivos. Está aquí: https://github.com/prettydiff/share-file-systems
La gestión de ventanas y estado se puede ver en una demo en mi sitio personal: https://prettydiff.com
O sea que hicimos otro sistema operativo (el compilador) encima de Windows, que es nuestro sistema operativo encima de nuestro sistema operativo, el navegador web, que a su vez está encima de OS.js
Curiosamente, cosas como esta me dan ganas de hacerlas o probarlas, pero al mismo tiempo no se me ocurre un caso de uso real
Piensa en comprar una laptop nueva y no tener que instalar nada. Todos tus programas, archivos y configuraciones están en la nube, y los programas pueden abrir archivos directamente desde el almacenamiento en la nube sin tener que descargarlos primero. Así no hace falta guardar archivos ni documentos del usuario en el dispositivo
Si el dispositivo solo ejecuta ese escritorio, un sistema operativo de Internet como este podría funcionar mejor en un dispositivo estilo Chromebook con almacenamiento mínimo solo para datos del sistema. Se podría bloquear para que ejecute únicamente el escritorio de Internet, guardar toda la configuración en la nube y configurarlo automáticamente al iniciar sesión. Así solo consigues el hardware y puedes empezar a usarlo, sin tocar configuración, instalación ni drivers
No sería para todos los usuarios ni para todas las situaciones, pero en algunos escenarios podría ser muy útil
El caso de uso es volver al terminal tonto. Muchas empresas ya usan escritorios remotos y VPN tanto como pueden, pero seguro que muchas también querrían entregarles dispositivos a sus empleados y hacer que todo el sistema operativo corra de forma remota, convirtiendo esos dispositivos básicamente en terminales
Así, el 100% de los datos generados por el empleado permanece dentro de los servidores y la red de la organización. Eso no significa que sea una buena experiencia para el empleado, pero sí es un caso de uso claro
Me recuerda a Buddy Pond https://buddypond.com/
En el teléfono no pude jugar Tetris porque para empezar hay que presionar la barra espaciadora
Por un lado, creo que estas cosas son geniales. ¿Por qué lo hicieron? Probablemente porque podían
Por otro lado, sigo preguntándome por qué las hacen