まったりAndroid Framework Code Reading #1 を開催します! #m_android_fcr

まったりAndroid Framework Code Reading #1 を開催します

前からやりたいなーと思ってたAndroidのFramework Code Reading勉強会を開催することになりました。

mandroidfcr.doorkeeper.jp

会場提供してくれた@kgmyshinさん、ありがとうございます!

Android Frameworkってなに??

Android Frameworkとちょっと抽象的に言ってますが、気軽に読めるのは下の図の「Applications」、「Android Framework」、「Android Runtime」らへんだと思います。

めっちゃ簡単に言うと、Androidを動かすために必要な部分、仕組み」という感じです。

おおかたJavaで書かれているので、アプリ開発してる人なら読めると思います。

C/C++等もあり、そっちも読めるようになると、さらに下の層まで(HAL、kernel)読めて楽しいです。(Android Framework、Android Runtimeも一部C/C++で書かれてます。RuntimeはもしかするとC/C++がメインかも)

https://source.android.com/images/android_framework_details.png

https://source.android.com/images/android_framework_details.png

なぜコードを読むのか??

Framework Code Readingのいいところは、裏側の仕組みがわかるようになることです。

Androidのこの機能ってどうやって実装されてるの?」という疑問がコードを読めばわかるわけです。

元々仕事でMediaProviderとかMediaServiceとかMediaScannerServiceとか・・・Mediaばっかりだけど、裏側の仕組みを理解する機会があって、それってアプリ開発でも結構役に立ってる実績があるんですよー。

コードを書いて学ぶ知識もあれば、ひたすらコードを読んで学ぶ知識もあるってことです。

私のAndroid雑学のほとんどがコードを読んで学んだ知識です。(例えば、ここのファイルをいじれば・・・になるとか。)

別にAndroid Frameworkのコードじゃなくても、他人が書いたコードを読むと本当に勉強になります。

という感じで、カジュアルにまったり色んなコードを読んで、その成果や知識を共有できれば最高だなーと思って勉強会を運営してます。

ちなみに、Androidソースコード検索サービスのOpenGrokを使用すれば、手元にコードがなくても問題なく読めます!

sites.google.com

まったりAndroid Framework Code Readingが目指すもの

目指すものって大袈裟なんですが、どんなOutputを目指しているかを軽く今思いつく範囲で書いておきます。

まったりAndroid Framework Code Reading #1を終えた後では、さらに目指すものが明確になっていると思うので、その後も再度考えたいと思います。

開発に役立てるために成果を誰もが見える形でまとめていく

ただコードを読むだければもったいないですね。

勉強会でコードを読んで得られた成果をどんな形でもいいので、誰もが見えるところにまとめていきたいと思います。

きちんとした成果を強制するわけじゃないです!ざっくりの成果でもOKなのです。

その成果から他の誰かがさらに深くコード読んだり、動作を調べたりするきっかけ程度でもいいと思ってます。

まったりAndroid Framework Code ReadingのGithub Organizationに成果をまとめていきたいと思います。

github.com

さらに、勉強会当日やそれ以外でのやりとり(例えば、質問とか共有)には基本的にはGitterを使っていきたいと思います。

gitter.im

誰でも参加できる + オープンな場でのやりとり + 成果、情報の共有 というスタンスでやっていきたいと思います。

Androidの裏側の仕組みを知ることの楽しさを広める

これも一つの目的ですね。

AndroidOSSなので、せっかくだからSDK以外のコードも読んでみて欲しいと思ってます。

裏側の仕組みを知った後で開発をするのって楽しいんですよ。

これは色々説明するよりも、実際に経験してみるのが早いと思います。

エンジニア同士のつながり

やっぱり勉強会をやるんだから、エンジニア同士その後も色々つながってほしいと思ってます。

Androidに限らず技術って一人では網羅できないほど学ぶことが多くて大変ですよね。

なので、互いに情報交換ができたり、勉強し合える仲間をどんどん増やしていってほしいと思ってます。

まったりAndroid Framework Code Reading #1 の裏テーマ

イベントサイトにも書いたんですが、今回は裏テーマとして「M Preview読もう!」って感じです。

まだ全然M Previewのコード読んでないし、何が変わってて、何対応しないといけないのかとか全くわかってない・・・。

なので、これを機会に読んでみようかなーと思ってます。

もちろん、他にライブラリのコード読んだり、他のFrameworkのコード読んだりしてもOKなので、まったり読みたいと思ってます。

とにかくまったりコード読もうや!

だらだら長々書いたんですが、書いたことなんて気にせずとにかく楽しくまったりコード読んで、色んな話ができればそれでいいんです!

気合入りすぎて、スーパーハカーしか参加できない勉強会とかコミュニティにはしたくないと思ってます。

なので、全然Androidわかんねーみたいな人も大歓迎です!

必要なのでAndroidの興味だけです!

参加して楽しくて、ためになる勉強会・コミュニティを目指したいと思ってます。

おわりに

勉強会に参加するみなさん、それ以外でまったりAndroid Framework Code Readingに関わるみなさん、楽しくCode Readingしましょー!!