为 Web 构建我自己的桌面环境,我的 10 个月旅程但是方式❓优点🤘流程👎主要功能🌠屏幕截图🖼现场演示🖥了解更多什么是 Web 桌面环境
为 Web 构建自己的桌面环境,我的 10 个月历程
但方式❓
优点🤘
流程👎
主要特点🌠
截图🖼
现场演示🖥
了解更多
什么是 Web 桌面环境
大约九个半月前,我开始着手实现我的一个小想法,当时我心想,如果我可以实现一个完整的桌面环境,它具有桌面环境的所有常规功能,例如完整的窗口管理器和运行应用程序和管理桌面等概念的高级抽象,但都不能作为 Web 应用程序在 Web 浏览器中运行。

上面是使用 Nord 主题和 vs-code 应用程序的“web-desktop-environment”的屏幕截图
但方式❓
理论上,这听起来可能没必要(至少对某些人来说),你可以想想,Web 难道不比我日常使用的基于 CPP 的原生桌面环境慢得多吗?
或者,如何支持所有并非为在 Web 环境中运行而构建的现有应用呢?在我开始解释我对这两个问题的解决方案之前,我想先列出我个人认为的基于 Web 的桌面环境的优点——
优点🤘
- 可以从任何地方访问 - 因为它以网站的形式存在。
- 不受物理盒子的约束 - 您不必拥有物理 PC,您可以从任何地方托管您的 PC,有时直接从公共服务器工作对于某些开发人员来说可能很棒。
- 非常适合低端计算机或服务器 - 像树莓派这样的小型 PC 主板或具有虚拟 CPU 而没有 GPU 的低端服务器在运行完整桌面和处理渲染时会遇到困难,但运行桌面环境 Web 服务器呢?那没问题。
流程👎
那么,Web 桌面环境的流程是怎样的呢?
我们先从性能问题说起——
解决这个问题的方法是打破过去几年人们编写 Web 应用程序的常规方式,而不是像全栈 Web 应用程序那样,向用户提供一个包含所有应用程序逻辑的客户端应用程序,并使用 REST/Socket API 支持该逻辑流程以提供本机功能,而是将所有逻辑移到服务器,只向客户端提供服务器希望其当前渲染的内容的指令,这将所有繁重的计算和严重依赖多线程的内容从客户端移到服务器,这样做可以使 Web 保持轻量、快速,并消除在浏览器上运行完整桌面时的性能问题。
那么向后兼容性问题呢?
这是一个难题,我正在努力寻找一种方法来支持 x11 应用程序在桌面环境中运行,但与此同时,截至今天(2021 年 3 月 4 日),对 gtk3-apps 通过 gtk3 的 Broadway 后端运行的支持已经在主分支中,并且很快就会发布到 NPM。

上面是“Web 桌面环境的截图”,正在通过 Broadway 后端运行 gnome-mines(一个 GTK3 应用)
主要特点🌠
应用程序
- 终端模拟器👩💻
- Visual Studio 代码✌
- 文件资源管理器📁
- 文本编辑器📝
- 媒体播放器🎧
- 设置/系统信息应用程序⚙
- 任何 GTK3 应用程序(30% 的应用程序会崩溃)🐾
桌面
- 美观的桌面💻
- 很多主题🎨
- 所有实例之间完全同步👦<->👦
截图🖼

上面是使用主(深色)主题的“web-desktop-environment”的屏幕截图

上面是“web-desktop-environment”在 PWA 模式下运行的屏幕截图
现场演示🖥
您可以访问此处的实时客户端演示https://web-desktop.app/demo,我可以向您保证,玩一下主题会很有趣!!

上面是使用深色透明主题的演示模式下的“web-desktop-environment”的屏幕截图
了解更多
如果您想了解更多信息,安装应用程序,或者只是想在 GitHub 上给我一颗星,请访问以下链接

具有 Web 界面设计的跨平台桌面环境,可通过类似桌面的界面提供一种简单、直观的方式来管理您的服务器。
什么是 Web 桌面环境
就像任何其他桌面环境一样,WDE 的设计目的是以可视化的方式抽象出计算机的使用,但 WDE 的不同之处在于,与其他桌面环境不同,WDE 从一开始就被设计为在 Web 上运行,因此 WDE 的后端是作为可扩展的 Web 服务器而设计的。
为什么?
WDE 的用例范围很广,从为您的树莓派或其他微型计算机提供精简接口,到提供在远程超级计算机或 Docker 容器内进行开发的接口。
无论您何时需要在远程/云环境中工作,WDE 都是一个不错的选择。它可以简化和简化您与服务器的交互方式,让您感到舒适……
文章来源:https://dev.to/shmuelhizmi/building-my-own-desktop-environment-for-the-web-my-10-months-journey-56me