丢掉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 demo
npm install
npm run dev

启动成功后,会得到如下输出:

...
webpack 5.91.0 compiled successfully in 1995 ms

==============================================
Press r to run on this device
Press a to run on connected android device
Press 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/ 查看。

posted @   kason  阅读(582)  评论(6编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示