rinf(Rust in Flutter)框架的源码分析之一
rinf,即Rust in Flutter,在Flutter项目中使用Rust代码,该项目实现了一种集成方案,简化了构建过程。前一篇里简单介绍了rinf的使用, 这里将分析下rinf项目的源代码,了解其实现Flutter与Rust代码通信的原理。 rinf项目生成的应用在运行时的
rinf,即Rust in Flutter,在Flutter项目中使用Rust代码,该项目实现了一种集成方案,简化了构建过程。前一篇里简单介绍了rinf的使用, 这里将分析下rinf项目的源代码,了解其实现Flutter与Rust代码通信的原理。 rinf项目生成的应用在运行时的
rinf, Rust in Flutter, 即使用flutter结合Rust来开发跨平台桌面应用的框架,支持linux/android/windows/macOS/iOS/Web。Flutter是较为成熟的跨平台UI框架, 利用
Slint是一个声明式UI框架,用于构建多个平台上的原生GUI界面的应用,支持windows/macos/linux以及嵌入式linux与mcu微控制器,支持编译为wasm,当前已经发布版本为1.4。它使用一种DSL语言.slint来描述界面,类似于Qt中的Q
Tauri是一个开发框架, 使用web技术来开发跨平台桌面应用。界面使用Javascipt/HTML/CSS开发,而业务功能使用Rust开发。Rust将编译为可执行文件,负责创建窗与webview,并加载web内容进行显示。 Tauri与Electron比较类
Flatpak是一个框架,用于在各种不同的Linux发行版本上分发桌面端应用程序。它由长期使用的Linux桌面的开发者创建,现在作为一个独立的开源项目运行。其官网的slug为The future of apps on Linux, linux应用的未来。 使用Flatpak的理由
通过分析Zola命令zola build的实现代码, 了解到使用hyper与tokio实现静态服务器的大概逻辑。Zola的开发服务只能使用在zola项目中, 执行流程中会组成会触发Zola的构建过程与文件变更监听。 这里将抽取相关的代码,生成的一个简单的文件服务器,可以在平常开发
zola serve是静态站点生成工具Zola的命令,负责构建及启动本地访问的服务器。命令执行时会先构建项目,然后启动一个web服务器监听网络请求;同时启动一个新线程监听文件,当有文件内容发生变化时触发构建项目并刷新页面。 在前一篇文章中梳理了下Zola项目的大概结构,可知zol
Zola是一个快速的静态站点生成工具,使用Rust语言实现。阅读源代码是很好的学习Rust的方式,今天将探索下Zola项目的源代码。 zola命令行只有4个命令,代码分析也将从命令行开始。 init 创建site目录结构 build 构建site内容,生成目标位于public目
Zola是一个快速的静态站点生成工具,使用Rust语言实现,类似于Hugo、Pelican、Jekyll。 站点内容使用CommonMark语法,兼容Markdown规范,使用Rust库pulldown-cmark来解析Markdown文件; 页面模板及主题样式文件中使用Ter
Boa是Rust语言实现的实验性Javascript语言编译与执行引擎,参考实现EcmaScript规范。在Rust项目中引用的包名为boa_engine, 当前版本为0.17.3。Boa提供了基于WASM实现网页版playground,可动手实践,实时查看执行结果 https: