首页 > 其他分享 >Tauri beta 开发,个人入坑经验

Tauri beta 开发,个人入坑经验

时间:2024-04-12 11:25:43浏览次数:15  
标签:tauri 浏览器 代码 Tauri beta 内核 入坑 rust

https://github.com/AClon314/tauri-vuetify-learn

Tauri存在的意义

省流总结:浏览器过于谨慎的更新支持、苹果反对PWA以防对应用商店的生态破坏。可以把tauri理解成Webview的mod模组

APP vs 网页

浏览器可谓是全世界的互联网标准,W3C说的标准还不算,得看浏览器支不支持,目前仅剩下 谷歌的Chromium、火狐的Gecko、苹果的Webkit的内核,代表着大家的HTML代码,有着3套不同的实现。

微软的2个自研内核都胎死腹中:IE的Trident内核,Edge换内核前的Chakra。可以说明从头写一个浏览器内核是极其艰难的事情。
嵌入式浏览器Servo的内核,从火狐分支出来,现在有Linux欧洲基金会支持,一套在嵌入式设备上HTML的新实现,很期待哦~

但是W3C及其他互联网委员会,对于特性的更新都过于谨慎。试想下,如果打开一个网页,授权后,他就能随意访问本机上所有的文件,你说你的隐私危不危险。
有传闻,苹果其实反对PWA,即一个网页就是一个应用的设计(比如Discord)。这会让以后的APP绕过Apple Store应用商店的审查,安卓同理。所以纯网页的PWA就是个半残品。
目前争气的新特性有WebGPU、文件夹局部访问授权(仅Chromium),其他我还不了解。

我们都知道,APP比网页的权限更多、更自由,毕竟是本机平台代码。在Windows上,除了系统文件,任何一个EXE都可以随便访问、修改任何文件。而在Android上,就必须在运行时弹窗授予权限,给了用户更多知情权与选择权。
但是APP的本机代码是不能跨平台的,安卓、苹果各一套代码,维护时需要花费更多人力物力财力……

跨平台开发

对于个人开发者和公司,这无疑是福音,未来开发的方向——一套前端代码走天下。QQ NT版就已经用C++后端和前端Electron重构了代码。
虽然Electron已经成熟,但是打包还得带个Webview,会让包体积增大大约50~150MB左右,嵌入式就可以说再见了。(虽然公司不在乎用户的存储空间)
而且Tauri用rust编写,内存安全更好(如果你把一部分UI逻辑写到rust里,而不是在前端)。并且目前Tauri更加注重安全性,这体现在写tauri.config.json中有各种坑、和rust代码里的更多潜在的异常判断……
一些Webview无法做到的功能,就可以用rust来做。比如跨平台设置壁纸的功能。

需要预制作前端+后端模板

Vite前端+Tauri后端,但Vite具体的框架有很多:Vuetify、Element、Quasar……
一开始用quasar,但后来发现没法搭配Tauri在安卓上运行,发现quasar魔改了配置文件,叫quasar.config.qts,不支持tauri的一些配置。
最后选用 Vuetify + Tauri,这样就能手动合并vite.config.ts里的配置了。
然后发现vuetify的网格布局有点坑爹,有些还是用html才实现的布局。

一定要加Discord交流群

Discord搞开发群,好处是比回帖更加活跃,坏处就是没法在谷歌上搜索到

Tauri繁杂的配置

你可以自己试着按官网配,遇到坑的时候看我项目怎么配就行了。

外部存储的访问

https://github.com/tauri-apps/tauri/pull/9311
https://discord.com/channels/616186924390023171/1220085327419674737
解决方案的大意:调用tuari.dialog弹出授权,开发者修改AndroidManifest.xml的权限,在rust内写一套判断授权成功与否的逻辑。

标签:tauri,浏览器,代码,Tauri,beta,内核,入坑,rust
From: https://www.cnblogs.com/nolca/p/18130689

相关文章

  • 一文带你速通3D大模型,迅速入坑!
    3D大模型技术是当今计算机图形学和可视化领域的一个重要分支,它在多个行业中发挥着越来越重要的作用。3D大模型指的是尺寸庞大、细节丰富的三维模型,这些模型通常需要高级的图形处理技术和大量的计算资源来创建和渲染。立即免费体验:https://gpumall.com/login?type=register&sourc......
  • 去哪儿完成鸿蒙原生应用Beta版本开发,带来一站式在线旅行体验
    近日,国内领先的在线旅行服务平台去哪儿宣布完成鸿蒙原生应用Beta版本开发,成为旅行行业中首批完成Beta版开发的应用之一,该版本已经实现了机票预订、支付、服务等功能,将为用户提供更为便捷、智能的旅行体验。这不仅为旅行行业树立了榜样,也为整个互联网行业在鸿蒙系统上的发展提供了......
  • 来,把弹幕打在鸿蒙原生应用上!B站完成鸿蒙原生应用Beta版本开发
    作为年轻人群高度聚集的视频社区,哔哩哔哩在汇聚海量年轻用户、构建优质内容生态的同时,也在不断加大新技术的投入,为用户打造更智能、更安全、更流畅的使用体验。近日,哔哩哔哩宣布完成鸿蒙原生应用Beta版本开发,该版本已具备完备的中长视频消费功能,用户可轻松通过首页推荐、搜索、热......
  • 铁威马TOS 6.0 Beta全球公测进行中,快来体验一下吧!
    铁威马TOS6.0Beta已经正式上线啦大家体验了吗?今天和大家分享TOS6.0的更新指南01TOS6Beta更新指南为了更好的体验TOS6请细阅以下指南敲重点!本次更新仅适用于TOS5.1.123或以后的版本;如您的设备不符合更新条件,请勿更新!否则,可能会出现系统崩溃。1.适用机型F2-221......
  • 国内丐丐版overleaf--Write Papers Easy beta版来了
    引言此刻,今年将要毕业的无数莘莘学子正在奋笔疾书写着自己的毕业论文,淹没于繁琐的论文排版格式中。小编也是从这个时候走过来的,深知其中不易之处。好在现在有overleaf平台,可以稍稍缓解我们的痛点。但是经过一些调研发现,仍然存在两大痛点:痛点1:没有对应的LaTeX模板痛点2:overle......
  • This beta version of Typora is expired, please download and install a newer vers
    ThisbetaversionofTyporaisexpired,pleasedownloadandinstallanewerversion.实测最简单有效的方案一、问题突然想看看之前写的笔记,结果typora打不开了,提示ThisbetaversionofTyporaisexpired,pleasedownloadandinstallanewerversion.二、解决方法......
  • 2024年03月 Discourse 3.3.0.beta1 版本的更新
    在这个版本的更新中Discourse完成了Ember5版本的升级和更新。Ember.js是一个用于创建web应用的开源JavaScriptMVC框架,采用基于字符串的Handlebars模板,支持双向绑定、观察者模式、计算属性(依赖其他属性动态变化)、自动更新模板、路由控制、状态机等。Ember是一个雄心勃......
  • Tauri 使用
    首先确保安装了Cargo:https://www.rust-lang.org/tools/install官网:https://tauri.app/v1/guides/getting-started/setup安装:cargoinstallcreate-tauri-app--locked创建项目,后面根据你的需要选择对应的选项:cargocreate-tauri-app......
  • Avalonia 11.1.0-beta1 发布
    11.1.0-beta1Avalonia是dotnet的跨平台UI框架,提供灵活的样式系统,支持Windows、macOS、Linux、iOS、Android和WebAssembly等多种平台。Avalonia已经成熟并已做好生产准备,已被SchneiderElectric、Unity、JetBrains和GitHub等公司使用。 FullChangelog: htt......
  • Tauri http/https混用导致的请求失败的问题
    vite方案因为在项目里是需要使用http请求的,如果进行发布就会发现他的内置协议是https,导致http的请求发不出方案使用插件https://github.com/tauri-apps/plugins-workspace/tree/v1/plugins/localhost注意,我发现会闪退,文档上的例子去掉setup就好了(不知道为啥)路径:src......