Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save uakihir0/e1c51152db8d3c6719e1faf0cd1b8301 to your computer and use it in GitHub Desktop.
Save uakihir0/e1c51152db8d3c6719e1faf0cd1b8301 to your computer and use it in GitHub Desktop.
Bluesky で何か作りたいエンジニアの方へ.md

Bluesky で何か作りたいエンジニアの方へ

ATProtocol

 Bluesky の開発はオープンに行われていて、ATProtocol (あっとぷろとこる) をベースに実装されています。Bluesky は ATProtocol 上で作成された SNS アプリというのが立ち位置で、誤解を恐れずに表現すると、アカウントの仕様、及びデータの持ち方とその共有の方法を定義したのが ATProtocol です。Bluesky はそのデータの形式を決め、データでサービスを形作ったものになります。なので、仕様書を見ると、ATProtocol と Bluesky でレイヤーに分かれて実装されているのが見て取れます。

 Bluesky/ATProtocol の仕様は 公式のドキュメントページ で見ることができます。仕様書は Lexicon というスキーマ定義言語で記述されていて、その仕様についてもドキュメントからみることが出来ます。とはいえ、この仕様を読んでいくのも結構骨が折れるので、まずは、どんなリクエストが飛んでいるのか、を Web 公式アプリ からデベロッパーツール (使い方)を使って見ることをオススメします。

bsky5

クライアントライブラリ

 とはいえ、HTTP リクエストを生成するところからコードを書くのは大変です。なので、すでに言語によっては先人のエンジニアがライブラリを作っているので、それを使ってアプリを作りましょう。 JavaScript (TypeScript) 向けには公式のライブラリが存在します。コミュニティーページから、ライブラリの一覧を見ることができます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment