MwhuXeTA 发表于 2025-2-20 19:56:04

丢掉WebView,使用JS+Rust开发跨端桌面应用-Deft

简介

随着Web技术的发展,越来越多的跨端应用选择了WebView作为基础解决方案。诚然WebView让跨端应用开发变得简单了很多,极大的提高了开发效率,但是,WebView也存在着一些广为诟病的缺点,比如内存占用大,包体积大,系统调用不方便等。所以,Deft诞生了。
Deft是一个高性能跨平台开源UI框架,底层使用Rust开发,支持使用JS/React开发界面,目前支持Linux,Windows,MacOS和Android等系统。为了提高性能,Deft提供了便捷高效的方式使用Rust开发API和UI组件。
快速开始

开始前,系统需要先安装nodejs,Rust,clang14+,如果未安装,直接去官网下载安装即可。
执行下面命令,快速创建新工程,demo为新工程名称。
npm create deft@latest demo根据自己的喜好选择语言和框架,这里,以TypeScript+React为例。
命令执行完后,会在当前目录下创建一个demo项目,执行下面命令启动项目。
cd demonpm installnpm run dev启动成功后,会得到如下输出:
...webpack 5.91.0 compiled successfully in 1995 ms==============================================Press r to run on this devicePress a to run on connected android devicePress q to quit==============================================按r,即可开始构建预览应用。首次构建,需要下载依赖,所以耗时可能会比较长,可以配置cargo镜像提高下载速度。
构建成功后,就能看到预览窗口了,可以直接修改ui目录下的JS/TS文件实时预览效果。
资源占用

内存63M,应用体积包31.5M
目录结构

├── android               -- 安卓工程相关文件├── build.rs            -- Cargo构建脚本├── Cargo.lock├── Cargo.toml            -- Cargo项目配置文件├── dev-hack.js├── package.json          -- JS项目配置文件├── package-lock.json├── src                   -- Rust源代码│   └── main.rs├── tsconfig.json         -- TypeScript配置文件├── ui                  -- JS/TS源代码│   ├── app.tsx│   ├── deft-env.d.ts│   └── main.ts└── webpack.config.js   -- Webpack配置文件打包

执行下面命令即可打包
npm run build打包完成后,会在target/你的系统架构/release/目录下生成一个单独的可执行二进制文件(包含编译后的JS代码),将其拷贝出来即可。
文档 & Demo参考

Github:https://github.com/deft-ui/deft
文档:https://deft-ui.github.io/guides/what-is-deft/
官方同时提供贪吃蛇,视频播放器,视频格式转换器,SPICE远程桌面客户端等多个Demo,可直接前往 https://deft-ui.github.io/demos/ 查看。
页: [1]
查看完整版本: 丢掉WebView,使用JS+Rust开发跨端桌面应用-Deft