5 puntos por GN⁺ 2023-08-27 | 1 comentarios | Compartir por WhatsApp
  • 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

 
GN⁺ 2023-08-27
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

  • 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 :)

  • 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

    • Si alguien agrega soporte de teclado virtual para que se pueda jugar ese Tetris en el teléfono, al menos se podrán eliminar todas las razones razonables