今回から私が私自身が使いたくて開発を始めたKi6cooというアプリケーションの開発の記録を書くことにしました。 読み方は「きろくー」です。
どんなアプリケーションか
スクリーンショットにあるように、日付が格子状に並んでいます。各日には任意の長さのテキストを好きな数入力できます。ラピッドロギングに似ていると思います。
まだ開発を始めたばかりで、機能が全然足りていません。スクリーンショットはElectron を使ったLinux向けのKi6cooをWSL2で動かしている状態です。
Ki6cooで達成したいこと
- テキストで記録する
- ブラウザとデスクトップの両対応
- パソコンとスマートフォンの両対応
- デバイス間でデータを同期する
使用技術
ブラウザとデスクトップの両対応のためにElectronを使っています。Vue3を使っています。RustとWebAssemblyを試してみましたが、Electronとの通信部分が手間なことと、WebAssembly対応のRustのフレームワークの成熟度がTypeScript向けのフレームワークと比べて低く感じたので、Rustで作るのは止めました。
初期構想段階ではスマートフォンへの対応を考えていなかったので、RustとGTK3で作っていました。スマートフォンはDropboxなどのクラウドストレージ経由でリードオンリーで良いと考えていました。
現状
Electronを使ったデスクトップ版はファイルの読み書きができます。ブラウザ版はローカルファイルへのアクセスの代わりにIndexedDBを使おうと考えていますが、まだIndexedDBに読み書きする部分は未完成です。ブラウザ版はまだ起動できるだけレベルです。
現在開発中の機能
Web APIを用意し、データをサーバと同期する機能を開発中です。ブラウザ版が動作すればパソコンとスマートフォンの両方で使い始められるので、これの達成を優先することにしました。