/note/tech

今後の採用予定の技術

Rust

もともと今度性能を求められる野を開発する場合は Zig を検討していたが、Zig が思っていたより中長期的な開発戦略をとることに変化したことや、自分たちが作りたい製品が Erlang の分散機能を利用した仕組みということもあり、Rust に切り替えることにした。

[...]

Rust で作りたいのは Erlang/OTP の分散機能の仕組みに参加できるような Rust アプリ。つまり CPU バウンドな処理を Erlang VM や NIF (C 拡張) で行わず、Erlang VM と連携する Rust アプリに任せてしまうという仕組みだ。

簡単に言えば Erlang アプリのクラスターに、Rust アプリを参加可能にしてしまう。

ブラウザ外 WebAssembly

ブラウザでの WebAssembly は普通に利用しているが、ブラウザ外にも手を出していこうと考えている。

Cloudflare D1 や DO

Cloudflare Workers だけ動くウェブミーティングアプリを開発していきたいと考えている。気軽に安全に利用できるアプリ。

そこでのアプリ向けのデータベースには D1 を採用したい。sqlc-gen-ts-d1 が想像以上によくできているので気軽に使えるはず。

DO はロックを取るための仕組みとして便利なので、うまく使っていきたい。

sqldef

現在はマイグレーションツールとして go-migrate を利用しているが、結果的に SQL スキーマの差分メンテナンスがあまりにもツライので、 sqldef を利用する事で、楽になりたい。

pg-schema-diff も使いたいが SQLite でも利用したいので sqldef が無難そうという認識。

Electron

Cloudflare Workers だけで動くウェブミーティングアプリのデスクトップ版として Electron 版を OSS として公開したい。

WebRTC をデスクトップで利用する場合は Electron がほぼほぼ最適解になる。Cloudflare Workers でのアプリは Remix なので Remix をそのまま Eleectron にもってこれると嬉しそう。