22 年我在找一个开源的可以直接部署的 Serverless(FaaS) 方案。短时间尝试了 OpenFaaS 和 Knative,但这两个分别都有某些地方并不符合当时的需求
接着发现了 WasmEdge,这是一个利用 wasm/wasi
的运行时,支持被嵌入式执行
当我看到它第一眼,加上原本我对 WebAssembly
的理解,我直接在站起来单方面宣布:
WebAssembly is FUTURE
22 年我在找一个开源的可以直接部署的 Serverless(FaaS) 方案。短时间尝试了 OpenFaaS 和 Knative,但这两个分别都有某些地方并不符合当时的需求
接着发现了 WasmEdge,这是一个利用 wasm/wasi
的运行时,支持被嵌入式执行
当我看到它第一眼,加上原本我对 WebAssembly
的理解,我直接在站起来单方面宣布:
WebAssembly is FUTURE
软件国际化必然需要翻译文件。虽然我也很想用类似 locize.com
之类的服务管理翻译,这样 i18next-locize-backend
直接游戏结束
可惜用不得,只有一个甚至早期管理还很乱的 excel 文件,所以需要解决「如何把它变成 json」的问题
calamine
解析 xls(x)
文件rayon
直接让列表多线程按照需求,本来实现 WebSocket
的目的是收发 Banshee
的消息(主要是收)
后面突然灵光一闪:上个 WebRTC
怎么样?于是开始一段「为了醋包饺子」的心路历程:
WebSocket
支持的实现其实开发一个程序思路一直都是一致的,并不会因为是前端就会差/简单多少。再加上之前因为有「多端」这个「产品概念」之后,所以程序上一直在解决一个问题:如何将 Web 之外的逻辑固定下来?于是有了 Banshee
,下次细说
既然有一个框架了,并且也选择使用跟 Angular
类似的 root 级 DI 这种路线之后,开始有一个想法:
流向很清晰,这个时候有一个测试监控一体机是不是实现方便作用不小?
于是有了 Banshee Cockpit
,但它也跟 Banshee
一样,下次细说
又到了技术选型环节:早在三年前就尝试的 electron 方案 electron-react-koa-template(已归档),当时是为了直接在树莓派运行智能闹钟程序时顺便提供 API 以远程操控,所以让 electron
附带的 node
跑起来一个 koa
でも、选型依然是我目前的经典搭配:Tauri + Solid。那首先要解决的有两个问题:
Banshee
的信息,所以需要 WebSocket
Rust
提供的基础库,但我用 axum
Rust
Rust
对于内存的执着有种让人想一拳打爆屏幕的冲动如果你在玩《剑网3缘起》,你会发现游戏有一个内置社区。虽然这个应用是个 CSR,但是会发现加载并不慢
而且这些都不是事后优化。所以正好可以分享一些可能对其产生作用的习惯和做法,或者说开发时可以注意的地方
总之就只有一个目标:尽量砍掉第一次加载的大小和尽量减少加载所需要花费的时间
以下全是暴论
这是一个发生在今年的对话:
Q:组件通信有几种方式?
A:balabalabala(无非 props, provide/inject,vue 还有 $parent/$children
Q:还有吗?
A:postmessage 可以算吗
Q:也行,还有吗?
A:localStorage/sessionStorage 可以算吗?
Q:算半个,还有吗?这 TM 不就这些方式还有吗?
回来一拉清单,各家文章盘点确实还多了一个:EventBus
Gatsby 比 Hexo 更像一个通用框架,关于博客的工具真是全靠社区衬托。Nlvi 迁移遇到了标签云和分类等各种问题,还有一个多语言问题…
找了一圈插件,i18n 大多数方案都是「一个站点同时多语言」,这对一个博客来说没必要啊(相对来说我博文是不是也得写个几份…),想了一圈好像也没必要上react-intl
,直接手作一个吧 —— 按照**「好看的皮囊千篇一律」**写一个
但是主题毕竟是要开源的,所以如果有好兄弟萌觉得 i18n 处理不行,自行替换成 gatsby-plugin-i18n
或者 react-intl
就可以了
玩了一段时间 Vapor,想不明白谁家会用 swift 跑生产,可能也就 perfect
维护者背后的公司会用,至少在拆哪应该还是要快(la)准(man)狠(kpi)的。
rust 社区中关注了 rocket
一段时间,后面发现 actix-web
在各方面更有优势,加上要好好点 rust 技能树,所以就选定这个了。
这里会以重构我的闹钟后端作为蓝本,逐步做个记录。
cargo
创建应用actix-web
已知Rust
是个很硬核的编程语言
又已知JavaScript
或者说在浏览器上的JavaScript
在某种情况无法胜任工作。
So?
🦀 Rust + 🕸 Wasm = ❤
但是,单纯把教程或者 tutorial 拿出来复述是没意思的。So,搞点事情
那么前提是,你已经弄清楚了 wasm-pack
是怎么回事了
Vapor 应该是目前比较成熟的服务器应用框架了,更新快,社区“繁荣”
所以,直接干吧