Ki6cooのスクリーンショット

今回から私が私自身が使いたくて開発を始めたKi6cooというアプリケーションの開発の記録を書くことにしました。 読み方は「きろくー」です。

次回の記事はこちら

どんなアプリケーションか

スクリーンショットにあるように、日付が格子状に並んでいます。各日には任意の長さのテキストを好きな数入力できます。ラピッドロギングに似ていると思います。

まだ開発を始めたばかりで、機能が全然足りていません。スクリーンショットはElectron を使ったLinux向けのKi6cooをWSL2で動かしている状態です。

Ki6cooで達成したいこと

  • テキストで記録する
  • ブラウザとデスクトップの両対応
  • パソコンとスマートフォンの両対応
  • デバイス間でデータを同期する

使用技術

ブラウザとデスクトップの両対応のためにElectronを使っています。Vue3を使っています。RustとWebAssemblyを試してみましたが、Electronとの通信部分が手間なことと、WebAssembly対応のRustのフレームワークの成熟度がTypeScript向けのフレームワークと比べて低く感じたので、Rustで作るのは止めました。

初期構想段階ではスマートフォンへの対応を考えていなかったので、RustとGTK3で作っていました。スマートフォンはDropboxなどのクラウドストレージ経由でリードオンリーで良いと考えていました。

現状

Electronを使ったデスクトップ版はファイルの読み書きができます。ブラウザ版はローカルファイルへのアクセスの代わりにIndexedDBを使おうと考えていますが、まだIndexedDBに読み書きする部分は未完成です。ブラウザ版はまだ起動できるだけレベルです。

現在開発中の機能

Web APIを用意し、データをサーバと同期する機能を開発中です。ブラウザ版が動作すればパソコンとスマートフォンの両方で使い始められるので、これの達成を優先することにしました。