VWork バイブコーディングフレームワーク

『Kurage Capacitor Launcher』を作った — ThunderbirdとGoogleカレンダーの連携でつまずき、将来のAndroidアプリの土台にCapacitorを選んだ

2026年8月10日

PCのThunderbirdでカレンダーを管理しています。やりたかったのは「外出先のスマホから、その予定を見て・書きたい」こと。いちばん素直な道は「ThunderbirdとGoogleカレンダーを連携させて、スマホではGoogleカレンダーで見る」でした。ところが——これがすんなりいかない

その回り道の末にたどり着いたのが、1ファイルのCalDAVサーバー kcaldav と、将来のスマホアプリの土台として作った Kurage Capacitor Launcher(kclauncher) です。順番に紹介します。

発端:ThunderbirdとGoogleカレンダーが、素直に連携しなかった

ThunderbirdからGoogleカレンダーへ双方向で同期するには、アドオン(Provider for Google Calendar など)や設定が必要で、思ったほど素直にいきませんでした。認証まわりや同期の挙動でつまずき、「PCとスマホで同じ予定を、確実に読み書きする」という当たり前のことが、意外と面倒だったのです。

そこで発想を変えました。GoogleカレンダーをPCとスマホの”あいだ”に置くのではなく、自分のサーバーを1つ、正(せい)として置く。CalDAVで実際に必要な処理(OPTIONS / PROPFIND / REPORT / GET / PUT / DELETE)だけを素のPHPで書いた、約1ファイルのCalDAVサーバー kcaldav を作りました。SQLite1ファイルで動き、データベースサーバーもいりません。PHPが動くレンタルサーバーにFTPで置くだけ。これで、Thunderbird・iPhoneの標準カレンダー・スマホのブラウザから、同じ予定を読み書きできるようになりました。

Kurage Capacitor Launcher:将来のAndroidアプリ開発の”土台”として

カレンダーの問題とは別に、もうひとつ見据えていたことがあります。今後、ユーザーからAndroidアプリのニーズが出てきたら、そのときはCapacitorをベースに開発していこう、という方針です。

スマホアプリ(ネイティブ)は、Webアプリよりメリットが大きい場面があります。ホーム画面のアイコン、全画面、プッシュ通知、オフライン、端末機能へのアクセス——「Webよりアプリの方がいい」と言われたときに、すぐ応えられる土台がほしい。

そこで、その技術検証(PoC)兼・再利用できるベースとして作ったのが Kurage Capacitor Launcher です。今日から使える実用的なランチャーであると同時に、要望が来たら、これを土台にKurageの各サービスをネイティブアプリ化していくための足場です。

なぜCapacitorを土台に選んだか

つまり Kurage Capacitor Launcher は、「Webよりアプリの方が有利で、ユーザーの要望がある」ときに、そこから開発を始められる土台として位置づけています。

できること(今できること)

土台といっても、今日から普通に使えるランチャーです。

そして、Googleカレンダーとも同期できた(DAVx5)

最初につまずいたGoogleカレンダーとの連携も、遠回りした結果きれいに解けました。

kcaldavはCalDAVなので、Androidに DAVx5(CalDAV同期アプリ。F-Droid版は無料)を入れて、kcaldavのURLとユーザー名・パスワードを設定すると、Android標準=Googleカレンダーのアプリに自分の予定が表示・編集できます。書いた予定はThunderbirdやiPhoneにも反映され、予定の実体はkcaldavサーバー側に保存されます。「スマホではGoogleカレンダーで見たい」という当初の望みは、自分のサーバー経由で叶いました。

入手

無料です。iPhone版(PWA)とAndroid版(APK)は、公式サイトから入手できます。

カレンダー1つのために始めた回り道が、「1ファイルのCalDAVサーバー」と「将来のアプリ開発の土台」という2つの成果になりました。Kurage Capacitor Launcher は、Kurageのサービスをネイティブアプリへ広げていくための、最初の一歩です。