How I made a Desktop Environment in the Browser (Part 1: Window Manager)

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • daedalOS

    Desktop environment in the browser

    This is actually my 3rd version of a desktop environment and by far the one which I gave my most dedication. The first try was using Angular 8 and I only spent a month working on it with no intention of taking it too serious. The second try took me 4 months to make and was a bit more functional. But for my latest version I decided to do a total rewrite from scratch.

  • muse

    This is actually my 3rd version of a desktop environment and by far the one which I gave my most dedication. The first try was using Angular 8 and I only spent a month working on it with no intention of taking it too serious. The second try took me 4 months to make and was a bit more functional. But for my latest version I decided to do a total rewrite from scratch.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

  • styled-components

    Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress 💅

    The way I have setup this component is yet another wrapper, this time wrapping the functionality of dragging and resizing as well as styling the section HTML5 container element. The library I used for dragging and resizing is called react-rnd. For the styling I used Styled Components.

  • react-resizable-and-movable

    🖱 A resizable and draggable component for React.

    The way I have setup this component is yet another wrapper, this time wrapping the functionality of dragging and resizing as well as styling the section HTML5 container element. The library I used for dragging and resizing is called react-rnd. For the styling I used Styled Components.

  • Next.js

    The React Framework

    The first topic I'd like to discuss in this series is the Window Manager which is responsible for displaying the component for each of the apps that exists within the processes object. The processes are stored in a React context. Then within the Next.js's index page I load a component called the AppsLoader which will render the component in each process.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts