TSBOARD Androidアプリ、Sensta - コミュニティ専用Instagramを作ってみよう
(github.com/sirini)約1年前にTypeScriptで制作した TSBOARD を、このGeekNewsで初めて紹介しました。
そのときTSBOARDをコミュニティビルダー兼掲示板として紹介していました。
そして約4か月前には、TSBOARDのバックエンドをGo言語で書き直し、あえて問題なく動いていたバックエンドを置き換えた経緯を紹介したこともありました。
個人的には今でもGo言語を選んだことを後悔しておらず、今となっては良い選択だったと自分では評価しています。
そして今日紹介する「Sensta プロジェクト」は、Androidネイティブアプリです。
最初に紹介したTSBOARDプロジェクトともつながっています。
TSBOARD専用Androidアプリはなぜ作ったのか?
- 私はTSBOARDを作りながら、もし自分がコミュニティサイトを運営する立場なら、自作のアプリを会員の皆さんに提供したいと思うことがよくありました。
- そしてTSBOARDベースで 小さな写真コミュニティ サイトの運営を始めるようになってから、この考えはますます強くなっていきました。
- ああ、自分も自分のコミュニティサイト専用アプリを作りたい!
- そんな時期に、偶然Kotlin言語を業務で使う必要が出てきました。そこで、どうせ学ぶならTSBOARD専用のAndroidアプリを作ってみよう、そうしてこのプロジェクトが誕生しました。
TSBOARD Androidアプリの特徴は?
- もしTSBOARDベースでコミュニティを運営している方がいれば、リンク先のGitHubからソースコードをダウンロードして
Env.ktの設定を少し変更し、アプリアイコンの差し替えなどちょっとした作業をするだけで、すぐに公開可能なAndroidアプリを制作・配布できます。- もちろんアプリ開発をまったくしたことがない場合は、多少の試行錯誤は覚悟する必要があります。
- 4か月前に紹介した、Go言語で書き直したバックエンドとの基本的な相互作用はすべて実装されています。そのおかげで、わざわざゼロから作業を始める必要はありません。
- また、過度なクローリングなどに悩まされながら3rd partyアプリに頼る必要もありません。
- 最後に、このアプリは基本的にTSBOARDの一般的な掲示板よりも、ギャラリー向けに開発されています。私の小さな写真コミュニティ用アプリとして始まったからです。
- そのため、TSBOARDで運営しているサイトにギャラリーがあるなら、皆さんのコミュニティ専用Instagramを作ると考えても差し支えありません。
TSBOARD Androidアプリ、なぜFlutterを使わない? なぜReact Native(RN)を使わない?
- クロスプラットフォームをまったく検討しなかったわけではありません。周囲の知人に最初にアイデアを話したとき、ほとんどのフィードバックが「RNを使うかFlutterを使え!」というものでした。
- 特にTSBOARDがTypeScriptで開発されており、Webプロジェクトがメインでもあるため、この機会にRNを使ってみろという助言が多くありました。
- しかしアプリ作りを始めた時期に触れた新しい言語、Kotlinの魅力にすっかり惹かれてしまっていて、何を言われても耳に入りませんでした。単にKotlinを使いたくて作ったアプリだと言っても差し支えありません。
- また、すでにKotlinを使わなければならない状況で、さらに別の新しいものを同時に学びながら開発するのは負担だったのも事実でした。
- 結果的にiOSプラットフォームへの対応は少し遠のいてしまいましたが、それでもKotlin言語に素早く親しむことができ、ネイティブにふさわしい性能を得られたと思っています。
今後の改善計画は?
- TSBOARDが継続的にアップデートされて提供する新機能を、今後はAndroidアプリでもすぐに活用できるよう改善していく計画です。
- 現在はGoogleアカウントでのログイン機能だけを内蔵していますが、元のTSBOARDのようにNaverやKakaoでのログインも可能にする予定です。
- コミュニティ会員の立場で「あったらうれしい」と思える機能も、他のコミュニティサイトをベンチマークしながら追加していきたいと考えています。
- もし提案したい機能があれば、いつでもぜひ教えてください!
まとめ : TSBOARDはAndroidアプリも提供します!
- TSBOARDを通じて、より多くのコミュニティサイトが、より洗練されたフロントエンド、より堅牢なバックエンド、そして会員の皆さんのためのAndroidネイティブアプリまで持てるようになればと思います。
- ささやかな願いとしては、私以外の優れた開発者の方がTSBOARDベースのiOSアプリも作ってくれたらうれしいです。 :D
長い文章を読んでいただき、ありがとうございました!
2件のコメント
Kotlinマルチプラットフォームに加えてComposeマルチプラットフォームまで使えば、iOSアプリも可能です(笑)
わあ! Kotlin Multiplatform とは、すごいですね(笑)。iOS アプリまで作る時間ができるかは、ちょっと分かりません(笑)。