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

dweb-browser阅读

dweb-browser阅读

  • 核心模块
    • js.browser.dweb
    • jmm.browser.dweb
    • mwebview.browser.dweb
    • nativeui.browser.dweb
    • .sys.dweb
  • plaoc插件

核心模块

js.browser.dweb

它是一个 javascript-runtime,使用的是 WebWorker 作为底层实现。它可以让您在 dweb-browser 中运行 javascript 代码,因此 WebWorker 中的各种标准都可以开箱即用。

jmm.browser.dweb

它是一个动态 dweb 模块管理器,基于此可以实现类似 PWA 的应用功能,
它可以让您在 dweb-browser 中安装、卸载、更新和调用各种 dweb 模块。

mwebview.browser.dweb

它的全称是 mutil-webview(多 web 视图)的渲染器,可以使用这个渲染器同时渲染多个 Web 视图。比如说可以用它实现一个网页浏览器。

nativeui.browser.dweb

它是一个 dweb-browser 自己定义的窗口标准,它被集成到 mwebview 中,因此可以让 mwebview 的视图获得窗口管理的能力。

.sys.dweb

和浏览器相关的一些系统标准也在 dweb-browser 上被实现,它们可以让您在 dweb-browser 中使用浏览器的能力和系统原生的能力,比如文件系统、操作系统、相机、状态栏、分享等。

plaoc插件

基于 dweb-browser 平台的一个对标 Cordova、Capacitor、Tauri 的“跨平台 Web 应用”开发工具包。
plaoc的使用跟bfmeta-sdk下载差不多,直接使用:

npm install @plaoc/plugins

在代码中可以下面这样使用:

  1. 以 插件的形式使用
import { barcodeScannerPlugin } from "@plaoc/plugins";
// 调用扫码
const taskPshoto = async () => {await barcodeScannerPlugin.startScanning();
};
  1. 以 webComponent 形式使用
<body><dweb-barcode-scanning></dweb-barcode-scanning><button @click="taskPhoto()">scanner</button>
<script type="module">
import "@plaoc/plugins"
const barcodeScanner = document.querySelector("dweb-barcode-scanning")!
// Call barcode scanning
async function taskPhoto() {await barcodeScanner.startScanning();
}
Object.assign(globalThis,{ taskPhoto })
</script>
</body>

最后,要把我们的项目迁移到这个浏览器,首先,需要安装 plaoc 插件,可以通过 npm 或者 yarn 来安装 plaoc 插件,或者直接在 HTML 中引入 plaoc 插件。例如,如果使用 npm 来安装 plaoc 插件,可以在终端中输入以下命令:

npm install @plaoc/plugins

其次,需要选择使用 plaoc 插件的形式,可以以插件的形式或webComponent 的形式来调用 plaoc 插件。以插件的形式使用时,需要先导入 plaoc 插件中的相应模块,然后调用其方法。以 webComponent 的形式使用时,需要先在 HTML 中引入 plaoc 插件,然后使用其自定义标签。
最后,需要根据的项目需求,替换或者添加 plaoc 插件提供的接口和方法。plaoc 插件提供了很多跨平台的访问系统功能的接口和方法,比如文件系统、操作系统、相机、状态栏、分享等。具体详细的过程还需要参考 plaoc 插件的文档和源码接口来学习。

http://www.lryc.cn/news/170061.html

相关文章:

  • ChatGPT:使用fastjson读取JSON数据问题——如何使用com.alibaba.fastjson库读取JSON数据的特定字段
  • 2、ARM处理器概论
  • 【Python】福利彩票复式模拟选号程序
  • Pytorch 机器学习专业基础知识+神经网络搭建相关知识
  • torch 和paddle 的GPU版本可以放在同一个conda环境下吗
  • MYBATIS-PLUS入门使用、踩坑记录
  • C# 静态类和sealed类(密封类)的区别
  • el-table如何实现自动缩放,提示隐藏内容
  • CRM客户管理软件对出海企业的帮助与好处
  • 【QT--使用百度地图API显示地图并绘制路线】
  • C数据结构二.练习题
  • 猫头虎博主第5️⃣期赠书活动:《Java官方编程手册(第12版·Java 17)套装上下册》
  • (1)数据库 MSQ 数据库 安装 使用 以及增删改查
  • 什么测试自动化测试?
  • 【踩坑篇】代码中使用 Long 作为 Map的Key存在的问题
  • 微服务保护-授权规则/规则持久化
  • 练习敲代码速度
  • uni-app:实现条件判断展示图片(函数判定+三目运算)
  • http概念
  • Postman应用——Variable变量使用(Global、Environment和Collection)
  • php高级 TP+Redis实现发布订阅和消息推送案例实战
  • Python 基础入门
  • 【跟小嘉学 Rust 编程】二十九、Rust 中的零拷贝序列化解决方案(rkyv)
  • 路由器端口转发
  • Redis模块一:缓存简介
  • 【去除若依首页】有些小项目不需要首页,去除方法
  • Ardupilot — EKF3使用光流室内定位代码梳理
  • 【Linux】自动化构建工具 —— make/makefileLinux第一个小程序 - 进度条
  • tensorflow的unet模型
  • (2023 最新版)IntelliJ IDEA 下载安装及配置教程