これはMisskey (2) Advent Calendar 2023 15日目の記事です
はじめに
かぼです
もうAdventの時期になってしまいました
今年はなんにもないすばらしい一年だった
今年にやったことが特にないので、やりたいことを書いていきます
情報を集めた時期が少し前なので、間違ってるかもしれません
間違ってたら教えてください
なにをするの
Misskeyのデスクトップクライアントを作りたい
AndroidやiOSのクライアントはいっぱいあるけど、デスクトップクライアントはあまりない
多分今はKaitekiしかないと思う
前はWhalebirdがあったけどMisskeyサポートをやめてしまった
なので、スマホ向けではなくPC向けに作りたい
ネイティブで動くようなものを作りたい
どういうのつくるの
端的に言うとTweetDeckみたいなやつ
とりあえず実装したい主な機能を列挙すると
- 複数アカウント
- 絵文字リアクション
- 一部MFM
- ドライブ管理
- テーマ
- 高度なTLフィルター
くらいかも
MisskeyのWebUIでできることをそのまま実装せずに、いい感じ™にしたい
結局WebUIを超えることはできないから、クライアントで見れないならWebUIを見ればいいじゃない
そういう考えで作りたい
MFMについて
多くのクライアントは対応しようとしてるけど、完全には対応してないのが多い
なぜなら作るのが大変だから
Web技術ならCSSがあるのでやりやすいけど、ネイティブアプリではアニメーションさせることはCSSほど簡単ではない
ならばMFMを実装しなければいいじゃない
実装しないというよりはアニメーションを付けないだけで、文字を大きくしたり色を変えたりするだけなら実装してもいいかも
もしMFMアートとかを見たければノートのページをブラウザで開いて見ればいいよね
そういう考え
なにでつくるの
デスクトップクライアントっていうとElectronが出てくるけど、Web技術なので却下
Electronの代わりっていうのでこういうリポジトリがある
https://github.com/sudhakar3697/awesome-electron-alternatives
自分でも以前ライブラリやフレームワークをまとめたものを作ったことがある
フレームワーク | 言語 | Windows | macOS | Linux | Android | iOS | Web |
---|---|---|---|---|---|---|---|
Avalonia | C#/XAML | o | o | o | o | o | o |
Uno Platform | C#/XAML | o | o | o | o | o | o |
Flutter | Dart | o | o | o | o | o | o |
.NET MAUI | C#/XAML | o | o | o ? | o | o | Blazor |
Compose Multiplatform | Kotlin | o | o | o | o | alpha | 実験的 |
Photino | C#/HTML | o | o | o | まだ | まだ | |
Tauri | Rust/HTML | o | o | o | まだ | まだ |
こんな感じ
他にも色々あるけど自分が書ける言語がTSかC#くらいしかないので、これらの中から選ぶ
新しく言語を学ぼうとすると、それだけで時間がかかってしまうので
この中ならUnoかAvaloniaがいいかなと思ってる
.NET MAUIはXamarinの後継なので、デスクトップよりはモバイル向けだと思う
WPFは触ったことあるからまだやりやすいかなという感じ
他にいいのがあったら教えてください
いつつくるの
いつか
春休み中にTLが見れて投稿できるくらいまでは作りたい
さっき出したフレームワークは全然使ったことないし、すぐにMisskeyのクライアントが作れる気がしないので、 なにか別のアプリを作ってみるかも
他にも作りたいアプリはいくつかあるので
でも作りたいのがスマホからも見れるようにしたいので関係なくなるかも
なまえはどうするの
実はもう決めてあって、 Misskify にしようと思ってる
Spotifyみたいでしょ
プライベートだけどリポジトリがあります
https://github.com/kabo2468/Misskify
まだフレームワークを決めてなくて𝑭𝒐𝒓𝒄𝒆 𝑷𝒖𝒔𝒉しまくり
さいごに
とりあえず今考えているのはこんな感じです
全て未定です
知見と時間をください