読者です 読者をやめる 読者になる 読者になる

ナカザンドットネット

Android Developer's memo

Android版Facebookアプリ内で使われているOSSを眺めてて見つけた43のライブラリ

メニュー>概要>ライセンス の中にあるアレですね。

なんか良いUIライブラリ見つからないかなーと思って探し始めたら、案外と色々入ってて心折れそうになった。

どこで使ってんだよそれ感高い奴もかなりありますし、明日からでも使ってみたいJoda-Timeのようなライブラリもありました。コピーレフトで仕方なく書いてあるんだろうなあ的な、内部ライブラリっぽいものは省いてあります。

さあ、頑張ってみていきましょう。

AChartEngine

https://code.google.com/p/achartengine/

グラフとか書ける系のアレ。

Application Crash Reporting for Android

http://acra.ch/

通称ACRA。クラッシュレポートをPlayストアとは別に収集する系のアレ。 某秋田の地ビールとは関係ありません。

ActionBarSherlock

http://actionbarsherlock.com/

元祖・Android 2.xでもActionBarが使えるライブラリ。 そのうちActionBarCompatに書き換わったりするのかなあ。

WebSocket client for Android

https://github.com/codebutler/android-websockets

AndroidからWebSocketを使うためのアレ。

Apache Commons

http://commons.apache.org/

Java民がよく再発明しては同じものをみつけて後悔しているアレ。

  • Codec
  • Exec
  • HttpComponents Client
    • httpmime
  • HttpComponents Core
  • Lang
  • Logging
  • CLI

Apache Harmony

http://harmony.apache.org/

Javaオープンソース実装だったプロジェクト。2011年に終了したはずなんだけど、何故ライセンスに載ってるんだろう。どこかで使ってるのかな。。。

Apache James Mime4j

http://james.apache.org/mime4j/

MIMEフォーマットを扱うためのアレ。multipart/form-dataでPOSTリクエストを送りたい場合などに重宝する印象ある。

Apache Lucene

http://lucene.apache.org/

Java実装な全文検索エンジン。あのHadoopの親プロジェクトだそうで。

Appirater

URL不明

「ちょっとストアに行ってこのアプリを評価してこいよ!!!」と催促するあのダイアログ。

なんかArash Payan氏に対してのライセンス表示になっているんだけども、彼はiOS版しか作っていないっぽい。Androidにポーティングされたものを使っているのであれば、以下の3つのどれかな気がする。

(カッコの中は2013.12.29時点でのStar数)

ASM

http://asm.ow2.org/

動的にJavaバイトコードを生成したりできる系のアレらしい。なにに使ってるんだろ。

Base64Coder

http://www.source-code.biz/base64coder/java/

何故かandroid.util.Base64は使っていない模様。

chrometophone

https://code.google.com/p/chrometophone/

どっか使ってるとこあったっけ・・・?

Chromium

http://www.chromium.org/

内部ブラウザにでも使ってるんでしょうね。

cwac-touchlist

https://github.com/commonsguy/cwac-touchlist

ドラッグ&ドロップで並び替えができるListViewらしい。どうやら開発はやめちゃったみたい。。。

THIS PROJECT IS DISCONTINUED — USE AT YOUR OWN RISK
A similar project can be found at https://github.com/bauerca/drag-sort-listview

そして、リンク先に飛んでみると

NOTICE: No longer maintained.

アッ...

ejs

https://github.com/visionmedia/ejs

Node.js向けのJavaScriptテンプレートエンジン・・・・ってナンデ!?JSナンデ!?

Expat

http://expat.sourceforge.net/

XMLパーサーらしいです。XMLPullParserじゃダメだったんですね、きっと。

FFT

http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html

フーリエ変換キタワァ。京大の先生製w

写真か何かで使ってるのかなあ。

Google Breakpad

https://code.google.com/p/google-breakpad/

クラッシュレポートのシステムらしい。

え、ACRAと違うの?

Chromium内で使われてるらしいので、きっとその分のライセンスだと思われる。

google-guice

https://code.google.com/p/google-guice/

DIライブラリなアレ。

JetBrains Grammar-Kit

https://github.com/JetBrains/Grammar-Kit

JetBrains製の構文解析ツール・・・・・・って何に使ったんだよwww

guava-libraries

https://code.google.com/p/guava-libraries/

Google製便利ライブラリ群

ImageViewZoom

https://github.com/sephiroth74/ImageViewZoom

ズームとかできるImageViewらしい。

Jackson

http://wiki.fasterxml.com/JacksonHome

データとJSONの間でシリアライズ/デシリアライズができるライブラリ。

  • Core
  • Annotation
  • Databind
  • JacksonForSmile
  • Datatype Guava

SmileというのはJackson向けのバイナリJSONフォーマットだそうです。BSONみたいなものなのかな。

java-diff-utils

https://code.google.com/p/java-diff-utils/

テキスト対テキストのdiff(差分)を見るためのライブラリらしい。

Joda-Time

http://www.joda.org/joda-time/

日付や時刻を扱うための便利クラス。IBMで熱く語られてる記事見つけた。

jQuery

http://jquery.com/

言わずと知れたアレ。

json-simple

https://code.google.com/p/json-simple/

org.json.JSONObjectorg.json.simple.JSONObjectの違いとは。

JSON-java

http://json.org/java/

org.json.JSONObjectorg.json.simple.JSONObjectの違いとは。

libjingle

https://code.google.com/p/libjingle/

Google Talkで使われているVoIPとかP2P方面のC++ライブラリだそうで。メッセンジャーかな?

libjpeg-turbo

http://libjpeg-turbo.virtualgl.org/

JPEG画像処理を高速化できる系のアレ。

libphonenumber

https://code.google.com/p/libphonenumber/

Google製の「電話番号を扱う」ためのライブラリ。プロフィールかなにかで使ってそう。

libsrtp

http://srtp.sourceforge.net/srtp.html

Secure Real-time Transport Protocol(SRTP) とやらを通じて、VoIPとかビデオストリーミングとかしたりするためのライブラリ。

LLVM

http://llvm.org/

えっ、どこに使ってるの・・・

NineOldAndroids

http://nineoldandroids.com/

Android 3.0で追加されたAnimation APIを2.x以前へバックポートするライブラリ。マジJake氏には足向けて寝れない。

Objenesis

https://code.google.com/p/objenesis/

Javaの動的なインスタンス生成を効率良く行えるライブラリらしい。

okhttp

http://square.github.io/okhttp/

Androidで楽にHTTP通信するためのライブラリ。SPDYにも対応してます。

pmtk3

https://code.google.com/p/pmtk3/

PMTK is a collection of Matlab/Octave functions

ナンデ!?Matlabナンデ!?

PortAudio

http://www.portaudio.com/

クロスプラットフォームオーディオAPIとは。

Protocol Buffers

https://code.google.com/p/protobuf/

Google製のシリアライズ方式だそうな。

RoboGuice

https://github.com/roboguice/roboguice

DIライブラリなアレ。

signpost

https://code.google.com/p/oauth-signpost/

Java製OAuthライブラリ。

Smack

http://www.igniterealtime.org/projects/smack/

XMPPでメッセージングができるJavaライブラリ。

Spout

https://github.com/SpoutDev/Spout/

ゲームエン・・・ジン・・・・?

まとめ

Facebookアプリさんマジカオス。