P2P を使うソフトウェア開発に libp2p を使うと便利そう
読了まで:約2分
昨日だったかに、
IPFS の開発状況って今どうなっているんだろう
と思ってリポジトリを見てたんですが、その際、
と言う、大変に面白そうな Project を見つけたので紹介します。
libp2p とは?
libp2p
は、読んで字の如く、P2P ソフトウェアを開発するために使うライブラリ群の名前なのですが、この libp2p
、どうもリポジトリのドキュメントを読んで行くと、元は IPFS が内部的に使ってたライブラリを、再利用可能な感じで切り出したライブラリ群っぽいです。
そのため、IPFS が実際に使っているライブラリなので、まぁバグとか有っても修正されているだろうし、また、実装したけど使われてない、とかはあまり無さそうであり、かつ、何らかのソフトウェアで、P2P 周りを実装するためには十分な質のライブラリが提供されているので、そう言った意味では、結構便利そうなライブラリ群ではあります。
ただ、時々、優先度の問題で古くなって動かなくなっているライブラリなども有るには有るので、その辺りは、
で、実際に動くのかどうか、は確認した方が良いと思います。
libp2p が提供される言語
現状、公式の WebSite を見た限りでは、
- [[Golang]]
- [[JavaScript]] ( [[Browsers]] , [[Node.js]] )
と言う言語に対してライブラリが提供されていて、他の言語も提供する予定をしているみたいです。が、今のところは [[Golang]] と [[JavaScript]] に限定されている感じです。
それで、これは僕が実際に [[P2P]] を使うソフトウェアを作れないだろうか、と思って調べた時に感じた事ではありますが、近年、開発現場で良く使われている、と思われる言語うの内、 [[P2P]] 周りのライブラリが結構揃ってる、って感じの言語は、上記にも記載した、
- [[Golang]]
- [[JavaScript]]
の二種なので、まぁそういった意味でも、libp2p
は、メジャーどころは外してないなぁ、という印象です。
libp2p の使い所
僕としては、まぁ、
手軽に使える [[P2P]] を用いた ソフトウェアを作る
と言うのであれば、
- 言語に [[JavaScript]]
- ランタイムに [[Electron]]
- UI も [[Electron]]
と言った感じにするかと思いますね。
以上
とりあえず、紹介としてはそんな感じですかね。
ま、僕としては P2P アプリケーションを開発するなら、基本、
[[Electron]] + [[JavaScript]] で開発した方が楽そう
という印象を持っているので、そういう感じの技術選択になりますが、まぁソレ以外だと Golang とかにもなるのかなーと思ってます。はい。
#解説 #開発 - #P2P #Golang #JavaScript - #2017-12 #2017-12-15