Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[Bluesky/ATProtocol 勉強会] bsky4j & SocialHub の紹介
Search
Akihiro Urushihara
June 02, 2023
Programming
1
410
[Bluesky/ATProtocol 勉強会] bsky4j & SocialHub の紹介
Bluesky/ATProtocol 勉強会#1.5
https://428lab.connpass.com/event/284777/
Akihiro Urushihara
June 02, 2023
Tweet
Share
More Decks by Akihiro Urushihara
See All by Akihiro Urushihara
iOSDC2020: J2ObjCを使ってJava資産 をiOS開発で使ってみた
uakihir0
2
570
Other Decks in Programming
See All in Programming
CSC307 Lecture 01
javiergs
PRO
0
690
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
140
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
AtCoder Conference 2025
shindannin
0
1.1k
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
300
今から始めるClaude Code超入門
448jp
8
9.1k
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
230
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
120
AI時代の認知負荷との向き合い方
optfit
0
170
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
150
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
ラッコキーワード サービス紹介資料
rakko
1
2.3M
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
AI: The stuff that nobody shows you
jnunemaker
PRO
2
280
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
BBQ
matthewcrist
89
10k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
94
Building the Perfect Custom Keyboard
takai
2
690
Making Projects Easy
brettharned
120
6.6k
Transcript
bsky4j & SocialHub の紹介 うるし @uakihir0.com Bluesky/ATProtocol 勉強会 #1.5 2023/6/2
bsky4j https://github.com/uakihir0/bsky4j • Bluesky/ATProtocol の Java ライブラリ ◦ 主要な Lexicon
については実装完了 ▪ Bluesky クライアント作る分には十分 ◦ 依存関係が少なく比較的ピュアな Java ライブラリとして実装 ▪ JVM, Android プロジェクトであれば、無理なく採用可能 ◦ Builder パターンを利用したパラメータの組み立てが特徴 うるし @uakihir0.com
• サンプルコード ◦ com.atproto.server.createSession (セッションの生成) うるし @uakihir0.com
bsky4j https://github.com/uakihir0/bsky4j
• サンプルコード ◦ com.atproto.repo.createRecord (ポストの投稿) ▪ Post レコード (app.bsky.feed.post)
を作成するラッパー関数を用意 うるし @uakihir0.com bsky4j https://github.com/uakihir0/bsky4j
• Facets の自動作成 (mention or link) ◦ 必要な Facets を自動で作成する機能も用意
▪ 自前で実装するとちょっと面倒な部分 うるし @uakihir0.com bsky4j https://github.com/uakihir0/bsky4j
• (おまけで) PLC Directiry にリクエスト出す機能も実装済 ◦ DID からハンドルの変更履歴を追ったりすることができる ◦
DID からハンドルを取得するサンプルコード ▪ com.atproto.identity.resolveHandle でも同じことはできる うるし @uakihir0.com bsky4j https://github.com/uakihir0/bsky4j
SocialHub https://github.com/uakihir0/SocialHub • 複数の SNS を透過的に扱うことができる Java ライブラリ ◦ Bluesky,
Mastodon, Misskey 等が同じ関数・モデルで扱うことが可能 ▪ 統一することで、使用するアプリが様々な SNS を使うことが可能に ◦ Tumblr や Slack にも対応しているが対応している機能は一部 ◦ bsky4j のサンプル実装にもなっている ◦ J2ObjC を使って Objective-C のコードに変換可能 (後述) ◦ 同じ名前でこのライブラリを使用した iOS アプリを作成・公開中 (後述) うるし @uakihir0.com
SocialHub https://github.com/uakihir0/SocialHub • サンプルコード ◦ 透過的に扱うってどういうこと? うるし @uakihir0.com
J2ObjC • Java → Objective-C コンパイラ (プログラミング言語変換) ◦ Google
主体で実装 (どうやら内部で使っている様子) ◦ Objective-C は iOS 開発で昔使われていた言語 ▪ iOS アプリ開発で使用することが可能 ◦ 複雑な Java コードだと変換できない場合がある ▪ bsky4j などがピュア Java なのはそれが理由 うるし @uakihir0.com
J2ObjC • iOSDC 2020 にて紹介したので詳しくはそちらを参照 うるし @uakihir0.com
SocialHub (iOSApp) • 2020年にリリースしたマルチ SNS クライアントアプリ ◦ 複数の SNS を同時に見て操作することが可能なのが特徴
うるし @uakihir0.com
SocialHub (iOSApp) • 🎉 5/30 に Bluesky に対応 🎉 ◦
Bluesky と Mastodon, Misskey 等の SNS で統合 TL を作成可能に! うるし @uakihir0.com
まとめ • Bluesky で色々作るための Java ライブラリを紹介しました • ↑ を使用したサンプルとして SocialHub
アプリを紹介しました うるし @uakihir0.com みなさんも是非アイデアを形にしてみてください!!!