Ryu's blog

アウトプットしていきたい

Android初心者の勉強にDroidKaigiアプリはオススメだと思う

 今回の記事はAndroid初心者である自分が、Androidの勉強でとてもタメになっているDroidKaigiのアプリについてです。

はじめに

 自分は現在地方大学院に在籍し、Androidアプリの開発の勉強をしています(主に独学で研究は全く違うことをしています)。勉強をしているのですがまだまだ初心者の域を出れていません…。そんな自分と同じ境遇の人にとって、実際のアプリのコードを見て勉強できるのは良い経験になると思ったのでこの記事を書きました。

DroidKaigiとは

 

DroidKaigiはエンジニアが主役のAndroidカンファレンスです。  引用元: DroidKaigi2019

 DroidKaigiは毎年開催されていて、今年も開催されます。下記が公式ページのリンクです。

droidkaigi.jp

 自分は今年始めてDroidKaigiに参加します!去年は都合が悪くて行けなかったので、すごく楽しみです! そして、このDroidKaigiの公式アプリがOSSとして毎年開発されていて、誰でも開発に参加することが可能となっています。 DroidKaigiアプリを自分のようなAndroid初心者が勉強として見たり開発に参加するのはオススメだなと思います。

github.com

 まだDroidKaigiアプリのGitHubを見て数日ですが、自分が勉強になっている点を書き出したいと思います。

Android初心者の自分は何を学べているのか

 Androidの勉強は基本的に独学なのが現状です。独学だと業務でアプリ開発するときのような経験を得ることが難しいです。なので、独学の初心者がどのような点でDroidKaigiアプリが勉強になるのか、個人的な目線ですが書きました。

OSSのコントリビュート経験が得られる

 このDroidKaigiのアプリはAndroid初心者から上級者までいろんな方が開発に加われるように、Issueがラベルで分類されています。初心者向けにはeasyというタグがつけられ、自分のような初心者が開発に加われるようになっています。自分もこのeasyタグのIssueに手を上げて、本当に数行の変更ですがコントリビュートすることが出来ました! 実際にマージしてもらったプルリクエストはこちらです。OSSのコントリビュート経験は人生で初めてだったので大したことがなくてもとても嬉しかったです。プルリクエストの経験も数えるくらいなので、僅かなコントリビュートでもOSSにコントリビュート出来たという事実は、自分の開発や勉強へのモチベーションアップにもなりました。ありがとうございます!コントリビュートやIssueへの取り組みについては公式アプリのREADMEに詳しく載っています。

アプリ設計の知識が得られる

 アプリの設計に関する知識があっても、実際にアプリの開発ではどのようなコードになっていくのか、現在自分は理解に苦しんでいます。しかし、今年2019年のDroidKaigiアプリではFluxを元に設計が組まれているので、Fluxだと実際にはどのようなコードになるのか、ドキュメントに図が添付されてあり設計について詳しく学ぶことが出来ています。(ちなみに、2018年のDroidKaigiアプリはAndroid Architecture Components(AAC)というアーキテクチャ設計になっています。)アプリの設計については、「Android設計パターン入門」という本を呼んでいるのですが、今回のDroidKaigiアプリを理解するのに改めてFluxの項目を読み直しています。

PEAKS(ピークス)|Android アプリ設計パターン入門

色々なライブラリの知見が得られる

 DroidKaigiアプリにはたくさんのライブラリが導入されています。使われているライブラリは有名どころから最近話題となっているライブラリなど多くのライブラリが使用されています。そのライブラリをどのように使っているのか、どのようなコードが書かれているのかなどを知ることが出来ています。

実際にAndroid開発している方々のコードが見れる

 Androidの開発を業務などで実際に取り組んでいる多くの方々が、DroidKaigiアプリのコードを書いたり、議論などをしているのでそのプログラムや状況などを見ることで自分の知らないコードの書き方や知識を得ることが出来ています。

便利なツールを知れる

 アプリのIssueにAndroid開発における便利なツールの紹介をいろんな方がコメントしてくれるので、今まで知らなかった便利ツールを知るきっかけになります。自分もそのコメントを見て、これから使おうと思ったツールがいくつもありました。ありがとうございます。

github.com

DroidKaigiアプリに関するTwitterの情報

 DroidKaigiアプリに関する質問や疑問点をTwitterで見てみると、開発者の方や公式アカウントが反応をしており、それを眺めるだけでも勉強になることやモチベーションのアップにもなっています。自分がこれなんだろ?と思った事をTwitterで探して見てみると、他の人も同じような思いをツイートしてて、そのツイートへの反応をみて勉強になったりしています。

まとめ

 まだ他にも色々と学べていることがありますが、すぐ思いつくことだけ書き連ねました。DroidKaigiアプリはコントリビュートを歓迎していて、Twitterを見ていても良い雰囲気なのが、初心者の自分にはとてもありがたいなと思っています。DroidKaigiアプリのコントリビュートを去年の公式アプリから狙っていたので、今年のアプリで出来たのは前から考えていた目標を1つ達成出来たかなと勝手に思っています(笑)。Androidのアプリ開発を日々追いながら、勉強できるのはAndroid初心者の自分には感謝しかないです。DroidKaigiまであと1ヶ月を切りましたが、それまでDroidKaigiのプルリクエストを狙いながら色々と勉強していければなと思います。当日にどのセッションに参加するのかなども決めてないのでちゃんと計画立てて、DroidKaigiに望めればと思います。