- In order to solve the problem of insufficient performance of modern single page application (SPA).
- Provide developers with application development on android, ios and desktop.
- In order to prepare for role-oriented programming and development of BFS assets, and to build community infrastructure for blockchain development.
dwebView-js-(fetch)->kotlin-(ffi)->rust-(op)->deno-js
deno-js-(op)->rust-(ffi)->kotlin-(evaljs)->dwebView-js
下面的命令会起一个容器不要杀掉。
```bash
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker buildx create --name multiarch --driver docker-container --use
docker buildx inspect --bootstrap
```
```bash
# 如果不自己构建可以不运行这一句
docker buildx build --platform linux/arm64 -t waterbang/aarch64-linux-android:arm-ndk25-rust1.63.0 .
# 在plaoc根目录执行
docker run -it -v /Users/mac/Desktop/waterbang/project/plaoc/qemu-aarch64-static:/usr/bin/qemu-aarch64-static -v $(pwd):/plaoc waterbang/aarch64-linux-android:arm-ndk25-rust1.63.0 /bin/bash
cd /plaoc/rust_lib
RUST_BACKTRACE=1 cargo build -vv --target=aarch64-linux-android --release
```
如何测试
```bash
# 前端
cd test-vue3
yarn install
# 后端
cd test-vue3/bfs-service
bfsp init
bfsp dev
# 前端上传到android
yarn build
# 后端上传到android
node test-vue3/bfs-service/copy.cjs
#后续封装成.bfsa
```
BFS 启动
```bash
cd plaoc
bfsw init
bfsw dev
```
首先要保证一下文件存在,点击下载rusty_v8 v0.48.1:
- rust_lib/assets/rusty_v8_mirror/v0.48.1/librusty_v8_release_aarch64-linux-android.a
- rust_lib/assets/rusty_v8_mirror/v0.48.1/librusty_v8_release_x86_64-apple-darwin.a
```bash
cd rust_lib
cargo build --target=aarch64-linux-android --release
cross build --target=aarch64-linux-android --release
```
查看rust_lib/README.md
直接在android上运行,以上可能有路径问题,记得切换为自己的路径,deno-rumtime 遇到问题,详情查看 /rust_lib/scripts.md
。
或者这里.
[😃] 前端和后端使用二进制互传数据
[❌] 修改 webComponent 的 javascriptinterface 注入的方式
[❌] 封装系统级服务,编写基础测试代码。
[❌] 封装文件系统,权限系统和网络系统
[❌] 规范多个 DwebView 之间数据互动的标准
[❌] 规范多个 后端服务(deno-js)的数据互动标准
[❌] 迁移碳元域
[❌] 封装.bfsa 文件,实现应用安装到设备。
[❌] 优化代码的封装,契合面向角色编程。
[❌] 编写单元测试代码,覆盖率需要达到90%。