DEV Community

Cover image for A web-based desktop environment - two months later

Posted on • Updated on

A web-based desktop environment - two months later

About two months ago I have posted here an article on a project of mine called "web-desktop-environment", if you're interested in the idea of a web-based desktop environment you can read about it here

in this post I'm going to share the progress I have made since I first posted the article

A brief introduction to the project 👩‍🏫

"web-desktop-environment" is a desktop-environment (a visual interface for a computer) that can run in a web browser over a NodeJS server, the advantages of "web-desktop-environment" over a regular desktop-environment is that it is much slimmer and portable compare to a regular desktop.

Use cases

  • interface for a cloud server (can possibly be used as a replacement for control panel)
  • interface for small/low power computers like the Raspberry Pi zero
  • interface for controlling your computer over a long distance

A demo video 📹

A live demo 🖥

There is a live demo (serverless) running here

PWA Screenshot 🎞

This is a screenshot of the app running as a PWA in a detachable windows mode

Upcoming features 🎆

Media Players apps are on their way
Media Players

Looking to build a full-stack app that pushes the web to its limits yourself?

if so you may be interested in the framework I build and used to build this project, the framework is "@react-fullstack/fullstack" and you can read more about it here

GitHub logo shmuelhizmi / react-fullstack

a set of packages for creating full-stack React applications

React Fullstack

"React Fullstack" is collection of libraries for creating fullstack applications that are based on React!

"React Fullstack" main packages are

All my progress since the first post 🥳

Since the last update, I have made a few new features and improvement

  • Resizeable windows - you can now resize windows.
  • Notepad - a notepad app.
  • PWA - the app can now also run as Progressive Web App.
  • Detachable windows mode - you can now run the desktop in a detachable windows mode which means that every window will open as a separate native window.
  • style changes - the app is currently moving thought a big style redo, to give it a more "native os" like style.
  • big speed improvement from moving the backend from reflow to my own framework "@react-fullstack/fullstack"
  • custom themes - create your own theme using the settings app

Contribute yourself 🎁

if you like the project and interested in contributing to it yourself - feel free to open a PR thought Github.
Note that contribution does not have to be in the code side of things, contributing to the project README would be awesome!

Checkout the project 🎮

GitHub logo shmuelhizmi / web-desktop-environment

a web/node-based cross-platform desktop environment

Web Desktop Environment

A cross-platform desktop-environment with a web interface

Installation and run guide

First, we need to make sure we have node and npm installed, I recommend using node 14.x with npm 7.x.
now we will install "web-desktop-environment" with the following commands -
npm install @web-desktop-environment/home-edition-server or npm install @web-desktop-environment/development-edition-server --unsafe-perm for the development edition of "web-desktop-environment".

After the "web-desktop-environment" server is installed we can run it using the command web-desktop-home or web-desktop-dev for the development edition of "web-desktop-environment".

Now that "web-desktop-environment" is running we can enter "" and connect to it.
to connect to the server we will need to enter the server host and port,
if we are running the server locally we can keep the default localhost host, otherwise enter the server host IP,
to get the server port we can look at the server console output, it should print somewhere in the start something along the…

Discussion (0)