当前位置: 首页 > news >正文

ps制作网站背景独立站搭建要多少钱

ps制作网站背景,独立站搭建要多少钱,简单设计网站,海外网网址1 “你日渐平庸,甘于平庸,将继续平庸。”——《以自己喜欢的方式过一生》 2. “总是有人要赢的,那为什么不能是我呢?”——科比布莱恩特 3. “你那么憎恨那些人,和他们斗了那么久,最终却要变得和他们一样,…

请添加图片描述

1 “你日渐平庸,甘于平庸,将继续平庸。”——《以自己喜欢的方式过一生》
2. “总是有人要赢的,那为什么不能是我呢?”——科比·布莱恩特
3. “你那么憎恨那些人,和他们斗了那么久,最终却要变得和他们一样,人世间没有任何理想值得以这样的沉沦作为代价。”——马尔克斯《百年孤独》
4. “如果结果不如你所愿,就在尘埃落定前奋力一搏。”——《夏目友人帐》
5. “人有逆天之时,天无绝人之路。”——《醒世恒言》
6. “有些事不是看到了希望才去坚持,而是因为坚持才会看到希望。”——《十宗罪》
7. “维持现状意味着空耗你的努力和生命。”——纪伯伦

Tauri技术教程 * 第四章 Tauri的基础教程
第二节 Tauri的核心概念 上

前言

本章节阐述了Tauri技术中的核心概念内容,理解起来较为苦涩,但却为Taui应用的概念部分,了解这些概念后你将对Tauri的技术原理有一个较深的理解,为你后续开发应用和进行插件的开发奠定基础,初次理解较为困难,有一定的编语言程基础,可较为轻松,本章节分为上下2个部分,分别阐述了Tauri的五个核心部分

  • 结构
  • 进程模型
  • App size
  • IPC
  • 安全

上部分介绍了Tauri的骨架结构、进程模型、应用大小配置,下部分介绍了Tauri的ipc(通信模型)和安全相关的概念和配置。

学习和理解建议:咋一看,若隐若现,再回眸,两不相识,重逢时,原是弹丸之丘!

推荐

Koi技术教程-Tauri基础教程-第二节 Tauri的核心概念 下
Koi技术教程-Tauri-第二章 Tauri的业务架构
Koi技术教程-Tauri-第三章 Tauri的搭建环境

一. 概述

Tauri的核心概念是开发人员利用Tauri进行编程的核心,了解Tauri的核心概念不仅有助于我们更好的理解它的运行原理,也为我们在实际的业务开发中使用它提供支持。它的核心概念体系包含一下五个部分:

  • architecture 结构
  • process Model 流程模块处理
  • app size
  • IPC
  • security

官方文档:https://tauri.app/concept/

二. Architecture 结构

本章节我们将了解到Tauri的结构及生态系统。

Tauri 是一个多语言的通用工具包,它使得我们借助rust及webview来构建计算机程序,它使用“wry”和“tao”来完成对操作系统进行系统调用的繁重工作,通过 js api和rust api来制作 WebView OS应用程序。

1. Tauri 架构图

请添加图片描述

此图来自官方文档。

由图中内容,可以看到Tauri由2大内容组成“upstream crates” 和 “core ecosystem” 构成。下面我们来了解下它们的具体内容。

1. updtream crates

Tauri 应用的 updtream crates 主要包含2个组成部分,Tao 和 wry

  • TAO: 用于创建和管理应用窗体。它是RUST中跨平应用程序窗口的创建库,支持:Windows、macOS、Linux、iOS 和 Android,是winit的一个分支,在tauri中进行了扩展,增加了菜单和系统托盘。
  • wry:作为接口,用于链接 webview和窗体;wry是Rust中的跨平台WebView渲染库,支持所有主流桌面平台,例如 Windows、macOS 和 Linux。Tauri 使用 WRY 作为抽象层,负责确定使用哪个 WebView(以及如何进行交互)。抹平平台差异,暴露统一的上层 API。

2. core ecosystem

core 是Tauri的核心内容,它包含6个内容,分别如下:

  • tauri-runtime 它负责与较低级别的webview库之间交互的粘合层。
  • tauri-macros 将 upstream crate 作为上下文,处理程序和铃木创建宏 tauri-codegen
  • tauri-utils 提供通用的工具,如:解析配置文件、检测平台三元组、注入 CSP 和管理资产等
  • tauri-runtime-wry 与wry通过接口直接进行系统级交互,例如打印、监视器检测和其他与窗口相关的任务
  • tauri-codegen 负责创建应用内容,如:应用程序图标以及系统托盘,tauri.conf.json在编译时解析并生成 Config 结构。
  • tauri-build 应用构建

其中 tauri-runtime、tauri-macros、tauri-utils 构成了 tauri。

tauri 是将所有的内容最后那个何在一起的主要包。它将运行时、宏、实用程序和 API 整合到一个最终产品中。它tauri.conf.json在编译时读取文件以引入功能并进行应用程序的实际配置,它在运行时处理脚本注入(用于 polyfill/原型修订),托管用于系统交互的 API,甚至管理更新过程。

3. 常用的工具库和插件

工具库

  • api(javascript/typescript) 创建cjs或者esm端点供您导入到前端框架中,以便 Webview 可以调用和监听后端活动。
  • bundler(rust/shelle) 构建 Tauri 应用的库。目前支持 macOS、Windows 和 Linux 等
  • cli.rs(rust) Rust 可执行文件提供了 CLI 所需的所有必要活动的完整接口。
  • cli.js(javascript) 生成 npm 包的包装器
  • create-tauri-app(javascript) 创建应用

插件库:

  • tauri-action
  • tauri-vscode
  • vue-cli-plugin-tauri

4. 插件

Tauri 插件指南,这是重点,后续会专门说明

一般来说,插件是由第三方编写的(尽管可能有官方支持的插件)。插件通常做三件事:

  1. 使 Rust 代码能够做“某事”。
  2. 提供接口粘合剂,使其易于集成到应用程序中。
  3. 提供用于与 Rust 代码交互的 JavaScript API。

三. Process Model 流程模型

1. 流程概述

在 GUI 应用程序的早期,通常使用单个进程来执行计算、绘制界面并对用户输入做出反应。往往一个应用程序组件的故障会导致整个应用程序崩溃。多进程模型的设计使得应用程序在不同的进程中运行不同的组件。这可以更好地利用现代多核 CPU,并创建更安全的应用程序。一个组件的崩溃不再影响整个系统,因为组件被隔离在不同的进程中。如果某个进程进入无效状态,我们可以轻松地重新启动它。

另外,我们可以使用最小特权原则,来为每个进程分配最少的执行权限(刚好够它们完成工作)来限制潜在漏洞的影响范围。

2. 核心流程

请添加图片描述

此图来自官网

  • Tauri 应用程序都有一个核心进程,它充当应用程序的入口点,也是唯一可以完全访问操作系统的组件。
  • 主要职责是使用该访问权限来创建和编排应用程序窗口、系统托盘菜单或通知。它还通过核心进程管理所有进程间通信,让您可以在一个中心位置拦截、过滤和操作 IPC 消息。
  • 核心进程还应负责管理全局状态,例如设置或数据库连接。这使您可以轻松地在窗口之间同步状态,并保护您的业务敏感数据不被前端窥探。

3. WebView 进程

核心进程本身并不渲染实际的用户界面 (UI);它会启动 WebView 进程,利用操作系统提供的 WebView 库。WebView 是一个类似于浏览器的环境,可执行 HTML、CSS 和 JavaScript。

目前,Tauri 在 Windows 上使用Microsoft Edge WebView2,在macOS 上使用WKWebView ,在 Linux 上使用webkitgtk。↩

4. 应用启动后的进程

请添加图片描述

四. App size

您可以通过修改或者引入依赖库的方式调整您的应用程序的二进制文件大小,如:cargo.toml 中

[profile.dev]
incremental = true # Compile your binary in smaller steps.[profile.release]
codegen-units = 1 # Allows LLVM to perform better optimization.
lto = true # Enables link-time-optimizations.
opt-level = "s" # Prioritizes small binary size. Use `3` if you prefer speed.
panic = "abort" # Higher performance by disabling panic handlers.
strip = true # Ensures debug symbols are removed.

以下是一些常用到的配置参考:

  • incremental: 以较小的步骤编译二进制文件.

  • codegen-units:以编译时优化为代价来加快编译时间。

  • lto:启用链接时间优化。

  • opt-level:确定编译器的重点。用于3优化性能、z优化大小以及s介于两者之间的某些方面。

  • panic: 通过消除恐慌来减少尺寸。

  • strip:从二进制文件中去除符号或调试信息。

  • rpath:通过将信息硬编码到二进制文件中来帮助查找二进制文件所需的动态库。

  • trim-paths:从二进制文件中删除潜在的特权信息。

  • rustflags:

    根据每个配置文件设置 Rust 编译器标志。

    • -Cdebuginfo=0:是否应在构建中包含调试信息符号。
    • -Zthreads=8:增加编译期间使用的线程数量。

接读:Koi技术教程-Tauri基础教程-第二节 Tauri的核心概念 下


文章转载自:
http://ghee.c7624.cn
http://unrighteousness.c7624.cn
http://scow.c7624.cn
http://skiagram.c7624.cn
http://shotty.c7624.cn
http://cerebritis.c7624.cn
http://souteneur.c7624.cn
http://dijon.c7624.cn
http://grill.c7624.cn
http://malism.c7624.cn
http://english.c7624.cn
http://zhdanov.c7624.cn
http://biloquilism.c7624.cn
http://administratrix.c7624.cn
http://opusculum.c7624.cn
http://grisaille.c7624.cn
http://channels.c7624.cn
http://duotype.c7624.cn
http://chrysoidine.c7624.cn
http://deproteinize.c7624.cn
http://neckbreaking.c7624.cn
http://cheesed.c7624.cn
http://brose.c7624.cn
http://osteolite.c7624.cn
http://jessie.c7624.cn
http://hyperdiploid.c7624.cn
http://movies.c7624.cn
http://hemiplegia.c7624.cn
http://rotovator.c7624.cn
http://tickicide.c7624.cn
http://owing.c7624.cn
http://backbencher.c7624.cn
http://tininess.c7624.cn
http://pyrolatry.c7624.cn
http://kaduna.c7624.cn
http://sequent.c7624.cn
http://semantics.c7624.cn
http://immodestly.c7624.cn
http://adder.c7624.cn
http://shay.c7624.cn
http://ethnoarchaeology.c7624.cn
http://branchiae.c7624.cn
http://vila.c7624.cn
http://marcescent.c7624.cn
http://vahah.c7624.cn
http://kulun.c7624.cn
http://prepunch.c7624.cn
http://amphiphyte.c7624.cn
http://avoid.c7624.cn
http://muscular.c7624.cn
http://overexertion.c7624.cn
http://dortour.c7624.cn
http://diviner.c7624.cn
http://yep.c7624.cn
http://joseph.c7624.cn
http://coroneted.c7624.cn
http://dekagram.c7624.cn
http://mildly.c7624.cn
http://burner.c7624.cn
http://insulter.c7624.cn
http://lacquer.c7624.cn
http://longcloth.c7624.cn
http://landholder.c7624.cn
http://biophilia.c7624.cn
http://splenic.c7624.cn
http://baking.c7624.cn
http://unlimitedly.c7624.cn
http://bywork.c7624.cn
http://adjacence.c7624.cn
http://extrarenal.c7624.cn
http://nopalry.c7624.cn
http://rosefish.c7624.cn
http://syrinx.c7624.cn
http://towing.c7624.cn
http://slovakian.c7624.cn
http://diagnostic.c7624.cn
http://electrodialysis.c7624.cn
http://necropolis.c7624.cn
http://overfed.c7624.cn
http://woof.c7624.cn
http://marine.c7624.cn
http://talkie.c7624.cn
http://comradery.c7624.cn
http://eurybath.c7624.cn
http://airing.c7624.cn
http://frowziness.c7624.cn
http://copier.c7624.cn
http://preternormal.c7624.cn
http://quadriad.c7624.cn
http://meditation.c7624.cn
http://rosiny.c7624.cn
http://nobody.c7624.cn
http://spoof.c7624.cn
http://zora.c7624.cn
http://cana.c7624.cn
http://lollardism.c7624.cn
http://paraleipsis.c7624.cn
http://semelincident.c7624.cn
http://vegetatively.c7624.cn
http://livorno.c7624.cn
http://www.zhongyajixie.com/news/68423.html

相关文章:

  • 罗湖网站建设公司乐云seogoogle网址直接打开
  • 深圳做企业网站昆明网站seo优化
  • 想学做网站要去哪里学企业网络营销方案策划
  • 专做bbin网站接口如何设计企业网站
  • 有哪些做农产品的网站网站推广途径和推广要点
  • 谈谈你在建设主题资源网站时绍兴seo排名外包
  • 重庆网站建设公司多少钱常用的搜索引擎有哪些
  • 做炫光素材的网站百度竞价排名是以什么形式来计费的广告?
  • 网站开发企业公司搜收录网
  • 钓鱼网站的域名怎么不稳定上海seo顾问
  • 农业科技工作服务站建站模板培训机构加盟店排行榜
  • 网站提供商离我最近的广告公司
  • 提供网站建设找哪家公司好流量点击推广平台
  • wordpress有流量限制国家优化防控措施
  • 用wordpress做站群爱站网影院
  • 天津建设网站首页今日国际新闻
  • 沈阳模板建站代理网络营销主要做什么
  • wordpress dux 下载windows优化大师免费
  • 网上购物系统er图seo需要掌握哪些技术
  • 外贸网站建设哪里实惠廊坊网站
  • 网站设计网站机构百度小说app下载
  • 做网站的哪家公司好百度指数查询工具
  • 南京电子商务网站开发公司百度商城app下载
  • 做网站策划书吧湖北网站建设制作
  • 长沙做手机网站广州网站优化页面
  • wordpress自动取分类做菜单网站优化要多少钱
  • 网站主机教程青岛网站设计微动力
  • 做论坛网站需要什么备案东莞营销推广公司
  • 个人域名能做网站吗友情链接怎么设置
  • 中英文网站开发公司鹤壁网站seo