Skip to content
コミットできない
Go back

Keryx

Keryxというアプリを公開しました。 まだα版ですが、必要な機能は一通り揃っています。

なにこれ?

フィードリーダーです。 特徴は以下の通り(READMEより抜粋)。

対応プラットフォーム

現時点ではmacOS版しかダウンロードできませんが、内部的には Window / Linux (.deb, .rpm) 用のパッケージも作成できるように作っています。 JVM上で動くのでどのプラットフォームでも動作するはずですが、macOS以外で動作確認できていないのでmac版パッケージしか用意していません。

近いうちにLinux版の確認をします。

最終目標は Windows / macOS / Linux (.deb, .rpm) / Android / iOS / iPadOS といったOSに一通り対応することです。

ダウンロード・インストール

GitHubのReleaseページのAssetsから、対応するプラットフォームのパッケージをダウンロード・インストールしてください。

macOS版パッケージはまだ署名・公証していないので、そのまま起動すると以下のようなメッセージが出ることがあります。

Appleは、“Keryx”にMacに損害を与えたり、プライバシーを侵害する可能性のあるマルウェアが含まれていないことを検証できませんでした。

マルウェアは含まれていないので安心してほしいんですが、このままだと何回やっても起動できないので「システム設定」→「プライバシーとセキュリティ」→「セキュリティ」セクション→「“Keryx”がブロックされました」というメッセージの横の「このまま開く」をクリックして下さい。

このまま開く

正式版(v1.0.0)を出すときにはちゃんと対応します。

今後の開発予定

これもREADMEの情報ですが、主な開発予定は以下の通りです。

あとはUIの改善や、安定化・高速化・軽量化など。

技術的なおはなし

ここからはちょっと技術的な話を。 興味のある方はもう少し読んでいってください。

開発の経緯

NetNewsWireというフィードリーダーがあります。 使いやすく、デバイス間同期にも対応しているのでとても人気がありますが、Appleデバイスにしか対応していません(同期はiCloud経由)。

個人的には最近はほぼAppleデバイスしか使っていないのでこれでもあまり困っていない&実際に愛用しているんですが、たまにLinuxを使うことがあるのでLinuxでも使える(同期できる)ものがほしかったのです。

過去にもFlipboardLifereaRSS GuardAlligatorAkregatorといったフィードリーダーを色々試してきましたが、特に同期周りであまりしっくりくるものがなく、マルチプラットフォーム対応のNetNewsWireみたいなものがあればいいのになぁ、おっし作ろうと思い立ちました。

というわけで、KeryxのUIもNetNewsWireに近いです。

フレームワーク

フレームワークにはKotlin Multiplatform(KMP)を使っています。

今はマルチプラットフォーム対応のフレームワークはQt, Flutter, React Native, Uno Platform, Electron/Tauriなど選択肢がたくさんあるいい時代ですが、配布ファイルのサイズやアプリの速度、UI(なるべくOSネイティブなUIコンポーネント)などの条件がつくと選択肢が極端に限られます。 また、各プラットフォームの対応状況(安定・実験レベルなど)もそれぞれ異なります。

最初はFlutterで作っていましたが、途中でUIを重視してKMPに書き換えました。

現在はまだKMPの独自コンポーネント(Compose Multiplatform)で描画しているので微妙にネイティブ感がありませんが、今後スマホ対応するときにWindows/Linux以外はネイティブUIに全面的に移行予定です。

リリースまでの流れ

開発

サービス設計にはChatGPT、コーディングにはClaude CodeさくらのAI Engineと、AIを全面的に使っています。

AIのおかげで開発速度が爆速になったのはもちろんのこと、ドキュメント整備や多言語化のハードルも大幅に下がっています。 いやマジでいい時代。 何よりもアイコンなどのデザインを任せられるのは絵心ない芸人としてはとってもありがたいのです。

ローカルで動くだけなら7月上旬ごろにあらかたできていましたが、細かい不具合の修正やUX改善、CI/CDなどの設定にしばらく時間を使いました。

あとは非機能要件(想定されるデータ量やそれに基づく計算量など)の洗い出しやバグが出たときの対応が不十分だったり、クラウドとの同期やマージのアルゴリズムもAIが提案してきたものに穴があったりします。 そこはエンジニアリングの知識や「もしかして現在内部でこういう処理をしてたりしない?」みたいな洞察がまだ必要です。

AIの発展が激しすぎるので、そのうちこういうことも人間の出る幕がなくなるんでしょうか・・・


Share this post on:

Next Post
「AI駆動開発カンファレンス 2026夏」に登壇します!