【GitHub每日速递 20251104】Tauri框架:构建跨平台极速桌面应用的神器!

image

Tauri框架:构建跨平台极速桌面应用的神器!

tauri 是一个使用 Rust 构建轻量、高效且安全的跨平台桌面和移动应用的框架。简单讲,它让你用 Web 技术写界面,用 Rust 写底层逻辑,打包出体积小、运行快、更安全的原生应用。适用人群:前端开发者、Rust 开发者、跨平台应用开发者。

项目地址:https://github.com/tauri-apps/tauri

主要语言:Rust

stars: 98.4k

image

概述

Tauri 是一个用于为所有主流桌面平台构建小巧、极速二进制文件的框架。开发者可以集成任何能编译成 HTML、JS 和 CSS 的前端框架来构建用户界面,应用程序的后端是一个基于 Rust 的二进制文件,前端可与之交互的 API。

架构

  • 用户界面方面,Tauri 应用目前在 macOS、Windows、Linux、Android 和 iOS 上利用 tao 作为窗口处理库。
  • 渲染应用时,Tauri 使用 WRY 库,它为系统 WebView 提供统一接口,在不同系统上利用不同的 WebView 技术,如 macOS 和 iOS 上的 WKWebView、Windows 上的 WebView2、Linux 上的 WebKitGTK 以及 Android 上的 Android System WebView。详细架构可参考 ARCHITECTURE.md

优势

  • 跨平台支持:支持 Windows 7 及以上、macOS 10.15 及以上、Linux(Tauri v1 需 webkit2gtk 4.0,如 Ubuntu 18.04;Tauri v2 需 webkit2gtk 4.1,如 Ubuntu 22.04)、iOS/iPadOS 9 及以上、Android 7 及以上(目前是 8 及以上)等平台的开发和分发。
  • 功能丰富
    • 内置应用打包器,可创建多种格式的应用包,如 .app.dmg.deb.rpm.AppImage 以及 Windows 安装程序(如 .exe.msi)。
    • 内置自更新器(仅桌面端)。
    • 支持系统托盘图标和原生通知。
    • 采用原生 WebView 协议,无需创建本地 http(s) 服务器来提供 WebView 内容。
    • 提供 GitHub 动作以简化持续集成,还有 VS Code 扩展。
  • 性能优越:生成的二进制文件小巧且运行速度快。

应用场景

  • 桌面应用开发:适合开发各种类型的桌面应用程序,如办公软件、工具类软件等。
  • 跨平台应用:对于需要在多个主流桌面和移动平台上运行的应用,Tauri 可以帮助开发者减少开发成本和工作量。

快速开始

若想开发 Tauri 应用,可访问 文档网站。最快的入门方式是为系统安装 先决条件,并使用 create-tauri-app 创建新项目,例如使用 npm

npm create tauri-app@latest

文档

尽量在 Rust 和 JS 源代码中使用内联文档,更多信息可查看文档网站的托管仓库:https://github.com/tauri-apps/tauri-docs。

React Router:跨越 React 18 到 19 的多策略路由神器,多方式开启使用!

项目地址:https://github.com/remix-run/react-router

主要语言:TypeScript

stars: 55.8k

仓库整体概述

React Router是一个用于React的多策略路由器,它能够弥合React 18到React 19之间的差距。该项目既可以作为一个完整的React框架来使用,也可以作为一个库集成到你自己的架构中。

核心功能

  • 多策略路由:支持多种路由策略,能满足不同场景下的路由需求。
  • 框架与库两用:既可以当作一个完整的框架来构建项目,也能以库的形式在已有架构中使用。

优势

  • 兼容性:能够在React 18和React 19之间平稳过渡,减少版本升级带来的兼容性问题。
  • 灵活性:提供了两种使用方式,无论是大型项目还是小型项目,都能根据实际需求灵活选择。

应用场景

  • 单页面应用(SPA):在单页面应用中实现路由功能,实现页面的切换和导航。
  • 多页面应用:为多页面应用提供路由管理,方便页面之间的跳转。

快速上手

版本升级

版本更新

项目维护了详细的更新日志,可查看Changelog了解版本的更新内容。

项目包

项目包含多个包,分别适用于不同的场景:

  • react-router:核心路由包。
  • @react-router/dev:开发相关的包。
  • @react-router/node:适用于Node环境的包。
  • @react-router/cloudflare:适用于Cloudflare环境的包。
  • @react-router/serve:用于服务端的包。
  • @react-router/fs-routes:文件系统路由相关的包。
posted @ 2025-11-04 07:51  piggy侠  阅读(6)  评论(0)    收藏  举报