圧倒的初心者がDroidKaigiに参加した
ダメ元で抽選枠に応募したら当選したので行ってきました。
プロジェクトでAndroid/iOSのネイティブアプリを開発することになりAndroid開発の知見を得たかったのでとてもよかった。
Androidは4年程前に簡単なRSSリーダを作ってから触っていない圧倒的初心者。(開発環境に心が折れてドロップアウトした勢)
聴講したセッションのメモ
午前のセッションがないのはお察しください。
初学者に嬉しいAndroid開発環境(あとMVCとか)(@hkusu_)
今どきのAndroid開発でどんなものを使われているかを知りたかったのでとても参考になる発表だった。
- やっぱり今だとIDEはAndroid Studio
- エミュレータはGenymotion
- ViewのマッピングにはButter Knifeというのが便利らしい
- イベント通知はEventBusを使うのがよい
- HTTPクライアントだとRetrofitとかOkHttp
- WebAPIで結果を受ける場合にJSONならGsonとか、画像ならPicassoを使う
- ORMはActiveAndroidとかRealmを使う
- MVCはSIでもおなじみなので同じように捉えることができるのがよい
- MVP(Model-View-Presenter)のほうがよいという話もある
- 画面遷移はActivityをIntentで切り替えるのではなくFragmentを切り替える
- アプリケーションにActivityは1つ、画面1つに対してFragmentは1つにしてFragment on Fragmentは避ける
- Fragmentの行数が増えたらControllerやModelに分割する
- はじめはドットインストールで勉強して慣れてきたらmixiの資料を読むとよいらしい
- 端末の向きを固定にした方がよいらしい
- 書籍の中では「AndroidエンジニアのためのモダンJava」が気になった
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2013/08/20
- メディア: 大型本
- この商品を含むブログ (2件) を見る
Androidを学ぶ君へ。生き抜くためのナレッジ共有(@operandoOS)
Android開発におけるLifeHackのような話。
Android開発にかぎった話ではないがなかなか実践できていないと感じた。
- Android開発するなら端末を買うというのは今も同じらしい
- コードを書かないと書いたものがクソコードだと気付かない
- コマンドを使ってActivityの状態を調べるとかアプリを操作できるのは覚えておくと便利そう
- テストコードがない場合はまずユニットテストからはじめる(JUnit+Mockito)
- プルリクエストにチェックリストを付けることでチェック漏れを防ぐのはいいね*1
スライドにあるリンクはGitHubにまとまっている。
新言語KotlinでAndroidプログラミング(@ngsw_taro)
Kotlinと言えば@ngsw_taro氏だが発表を聞くのは今回がはじめて。
KotlinだとJavaよりもすっきり書けるという印象を受けた。
- クラスの説明にあるプロパティがよく分からなかったがJavaでフィールドにアクセスするさいに書くgetter/setterをいい感じで扱ってくれるものらしい
- Java8で追加されたlambdaが使えるとか高階関数によるコレクション操作ができるとか
- インライン関数は高階関数を呼び出すさいのコストを低減できる
- 拡張関数で既存クラスに独自のメソッドを追加することができる
- JavaのOptional型はnullを直接代入できてしまうがKotlinはnullを許容するかしないかを変数の宣言で制御できるようになっている
- Android Studioと開発元が同じなのでAndroid Studioとの相性は抜群によさそう
- メニューからJavaのコードをKotlinに変換できる
フォロー記事があがっている。
つかえるGradleプロジェクトの作り方(@zaki50)
Androidのビルドツールと言えばGradleかなーと思い、Gradleの話を聞きに行く。
設定ファイル(build.gradle)のTipsについての紹介。
Groovyで設定を書けるのがよい。
テンプレートをGitHubに公開している。
その他の記述は「Android実践プログラム」の5章が詳しい。
アプリを公開する前に、最低限知っておきたいセキュリティ事項(@taro_gaku)
セキュリティについてあまり知らなかったのでためになった。
- 書籍は「Android Security 安全なアプリケーションを作成するために」と「Androidアプリのセキュア設計 セキュアコーディングガイド」の2冊
- AnCoLeという学習コンテンツ、点検機能が付いたツールがIPAから提供されている
- SSL通信の実装不備で原因となる開発時にオレオレ証明書を通すように実装したままリリースしているって話はあるなるネタだなーと思う*2
- JPCERTの人がでデブサミで発表した資料が詳しい
- Androidは便利な外部ライブラリがたくさんあるが問題が起こる場合がある
- アンドロイドスマートフォンプライバシーポリシーガイドラインを無料公開している
- 書籍は「アプリビジネスで転ばないためのスマートフォンプライバシーの基礎知識」がよいらしい
- 同意取得は利用目的、外部送信、第三者提供の有無の記載が必要でポップアップダイアログを出す
- 個人情報保護法に反しているかではなくプライバシー侵害について考える
- プライバシーポリシーは利用規約や会社のプライバシーポリシーと分け、アプリケーションごとに作る
- GoogleとFacebookのプライバシーポリシーは1つしかなく全て取得するようになっている
Android Security 安全なアプリケーションを作成するために
- 作者: タオソフトウェア株式会社
- 出版社/メーカー: インプレスジャパン
- 発売日: 2011/12/29
- メディア: 大型本
- 購入: 6人 クリック: 141回
- この商品を含むブログ (27件) を見る
アプリビジネスで転ばないためのスマートフォンプライバシーの基礎知識 (Next Publishing)
- 作者: 寺田眞治
- 出版社/メーカー: インプレスR&D
- 発売日: 2012/12/25
- メディア: オンデマンド (ペーパーバック)
- この商品を含むブログを見る
マテリアルデザインを用いたデザインリニューアル(@ninjinkun, @yuki930)
ここまでで事例の話を聞けていなかったのでFablicの人の話を聞く。
FrilのAndroid版リニューアルにともないマテリアルデザイン対応をしたという話。
マテリアルデザインガイドラインに沿ってナビゲーションドロワーを付けたが既存ユーザの使い勝手が悪くなったという話はいかにもUXっぽい。
- マテリアルデザインを理解する上でキーとなる4つのポイント
- Androidの標準に合わせたら既存ユーザの使い勝手を悪くしてしまった
- お知らせを見るのに既存よりも1タップ余計にかかる
- ドロワーを表示するとバッチ(新着通知)が見えなくなる
- ユーザの動線はタイムラインを見てお知らせをチェックする
- @yuki930「やっぱりボタンは表示する必要がある」
- @ninjinkun「ボタンとバッチは作るのがめんどう」
- UIのパーツはGoogleが提供している
- アイコンを外部フォントにしているところはおもしろいなと思った
- TextViewは外部フォントに対応していないのでCalligraphyでTextViewを拡張している
- 実装はRxJavaでPromiseを書いているところがいいなと思った
- Scroll to Full Screenは今ならSupport LibraryでできるけどAndroid-ObservablScrollViewの方がもっとよいらしい
- ActivityやFragmentの継承を使わないのはへぇーという感じ
- 差分の見通しが悪くなるのは分からないでもない
感想
開発まわりは色々と便利になっているなーと感じた。
机があるのはありがたい。
隣と間隔が空いているのでゆったりと聴講できた。
聴講したセッションはハズレなしでどれも満足。(TLを見ると裏のセッションも盛況だったのでどちらを聴講しても満足できたはず)
Android開発のモチベーションがあがったイベントだった。