potatotips #51 (@Androidブログまとめ枠+すこしiOS)

# はじめに
[potatotips #51 (iOS/Android開発Tips共有会)](https://potatotips.connpass.com/event/85025/)
上記イベントに参加させていただきまして、当記事はAndroid Tipsまとめになります。
認識誤ってる箇所などあれば、お手数ですがご指摘くださると嬉しいです。


# まとめるTips

#### Android
- モバイルアプリための通信デバック入門 〜 imota(イモタ)さん
- Flutter入門 〜 toshihirooya(おーや)さん
- gradle-unused-resources-remover-plugin 〜 konifar(こにふぁー)さん
- Visual Studio App Centerの始め方 〜 nakasho(なかしょ)さん
- Material Components for Android触ってみる 〜 kirimin(きりみん)さん

#### iOS(気になったTipsピックアップ)
-  あると便利な動作検証用機能 〜 5mingame2(にしやま)さん
-  Carthage移行した話 〜 aboy(あぼーい)さん


# Android Tips
## モバイルアプリための通信デバック入門
(資料は見つけ次第更新します)

### 発表者
imota(イモタ)さん

### 概要
通信の中身の閲覧や改ざん、保存の通信デバッグツールはいろいろあって、中でもおすすめはpipで入れられるmitmproxy。
こういったツールを活用して、開発を進める上でサーバーサイドエンジニアとのやりとりを円滑に進めて幸せになろうね！というお話。

### 参考
[mitmproxy docs](https://docs.mitmproxy.org/stable/)

## Flutter入門
https://speakerdeck.com/toshihirooya/flutterru-men

### 発表者
toshihirooya(おーや)さん
Twitter: [@toshihirooya](https://twitter.com/toshihirooya)
Github: [toshihirooya](https://github.com/toshihirooya)
Qiita: [toshihirooya](https://qiita.com/toshihirooya)

### 概要
ネイティブアプリエンジニアが少ないけど、お金をかけずにアプリをリリースしたい！ → Flutter良くない？ということでFlutterデビューしてみました！というお話。
Flutterとはなんぞや？からAndroid Studioを用いたデビュー手順。

### 参考
[Build beautiful native apps in record time](https://flutter.io)

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">こちらで探せます<a href="https://t.co/0ZCORv8Jah">https://t.co/0ZCORv8Jah</a> <a href="https://twitter.com/hashtag/potatotips?src=hash&amp;ref_src=twsrc%5Etfw">#potatotips</a></p>&mdash; こにふぁー (@konifar) <a href="https://twitter.com/konifar/status/999240277809229824?ref_src=twsrc%5Etfw">2018年5月23日</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> 

## gradle-unused-resources-remover-plugin
https://speakerdeck.com/konifar/remove-unused-resources

### 発表者
konifar(こにふぁー)さん
- Twitter: [@konifar](https://twitter.com/konifar)
- GitHub: [konifar](https://github.com/konifar)

### 概要
使わなくなったリソースは順次消していきたいんだけど、Android Studio標準搭載のlint機能はDataBinding対応された辺りから使っているものも使っていないから消して大丈夫だよ！と頻繁に嘘を付くようになった。
標準搭載されてる代物だし、そのうち直してくれるだろうと待ち続けて1年半、直る気配がなかったので自分でプラグイン作っちゃっいましたというお話。

導入して実行はコマンド一つ(「./gradlew removeUnusedResources」)。
細かくチェックしたいリソースや削除したくないリソースの指定も可能。
CI利用してるならプッシュされるたびにこのコマンドを実行するように設定しておくと、ソースコードきれいに保てて幸せになれるよ！とのこと。

こちらのプラグイン利用時に消えた行数を目安に、上記スライドの後ろから2枚めへ投げ銭してくれるととても嬉しいとのことでした。

### 参考
- [【GitHub】gradle-unused-resources-remover-plugin](https://github.com/konifar/gradle-unused-resources-remover-plugin)

## Visual Studio App Centerの始め方
https://www.slideshare.net/shinyanakajima37/visual-studio-app-center-98259127

### 発表者
nakasho(なかしょ)さん
- Twitter: [@nakasho_dev](https://twitter.com/nakasho_dev)
- GitHub: [nakasho-dev](https://github.com/nakasho-dev)
- ブログ: [なかしょの技術日誌](http://nakasho-dev.hatenablog.jp/)

### 概要
Visual Studio App CenterではAndroid,iOSをはじめWindows向けのアプリケーションについて以下の対応ができる素晴らしい代物なので、アプリの登録〜アプリへのSDKの取り込みの仕方までまとめたよ！というお話。
- 自動ビルド・単体テスト
- 実機デバイスでUIテストを自動化
- テスターやストアへのアプリ配布
- クラッシュログの収集
- 使用状況の分析
- プッシュ通知

なお、管理画面で使用しているAPIがSwaggerで公開されていて、管理画面を通さずとも欲しい機能をさくっと使用することも可能とのこと。

### 参考(スライドより引用)
[Visual Studio App Center Docs](https://docs.microsoft.com/ja-jp/appcenter/)
[Visual Studio App Center Blog](https://blogs.msdn.microsoft.com/vsappcenter/)
[Advice and Answers App Center](https://intercom.help/appcenter/)
[JXUGC #24 春の App Center 祭り](https://jxug.connpass.com/event/72491/)
[最新ツールとVisual Studioサブスクリプションで変わる開発環境](http://www.itmedia.co.jp/pcuser/articles/1801/17/news00 1.html)


## Material Components for Android触ってみる
https://speakerdeck.com/kirimin/material-components-for-androidhong-tutemiru

### 発表者
kirimin(きりみん)さん
- Twitter: [@kirimin](https://twitter.com/kirimin)
- Github: [kirimin](https://github.com/kirimin)
- YouTube: [きりみんちゃんねる](https://www.youtube.com/channel/UCqN87Ye4TNLB04EFhxJ0L5w)
- ブログ: [みんからきりまで](http://kirimin.hatenablog.com/)

### 概要
Google I/O 2018でマテリアルデザインのガイドラインが更新されたので、さっそく触ってみたよ！というお話。
今回の更新で追加されたBottom Navigation要素や、デザインの選択肢が増えたText BoxやButtonなどなどの紹介。

### 参考
[Develop for Android - Material Design](https://material.io/develop/android/)
<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">Material Components系は <a href="https://t.co/7Db2qa2phk">https://t.co/7Db2qa2phk</a> にてコードラボがあるのでやってみるのオススメです<a href="https://twitter.com/hashtag/potatotips?src=hash&amp;ref_src=twsrc%5Etfw">#potatotips</a></p>&mdash; ゆいき (@yuikimil) <a href="https://twitter.com/yuikimil/status/999251139613810688?ref_src=twsrc%5Etfw">2018年5月23日</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> 

# iOS Tips (気になったTipsピックアップ)

## あると便利な動作検証用機能
(資料は見つけ次第更新します)

### 発表者
5mingame2(にしやま)さん
- Twitter: [@5mingame2](https://twitter.com/5mingame2)
- GitHub: [tek-nishi](https://github.com/tek-nishi)
- 配信アプリ: https://itunes.apple.com/jp/developer/new-game-style/id524004114

### 概要
C++でiOSのゲームを開発している発表を前回のpotatotipsでやっていて、それの続きにあたる内容だったとのこと。
ゲームアプリを作る上で、「キャラクターだけのスクショがほしい！」とかその逆に風景だけの〜などの要望にも応えられるUIのON/OFF・ポーズ機能、iPhoneやiPadのシミュレータをさくさく切り替えて確認ができる機能をデバッグモード限定でショートカットでできるようにしておくとすごく便利だよ！というお話とデモ。
なお、デモで披露していたゲームは近日中に配信を目指してるとのこと。
制限時間内にマップを組み立てていくパズルゲームみたいな感じで、懇親会でプレイさせてもらいましたがゲーム音痴でも楽しませてもらいました。

### 参考
[今更C++でiOSアプリを作る話(前回のpotatotips時スライド)](https://www.slideshare.net/5mingame2/cios-94354191)

## Carthage移行した話
https://speakerdeck.com/yuyaabo/carthageyi-xing-sitahua-at-potatotips-number-51

### 発表者
aboy(あぼーい)さん
- Twitter: [@suxisuxido](https://twitter.com/suxisuxido)
- GitHub: [YuyaAbo](https://github.com/YuyaAbo)

### 概要
ビルド時間が長い要因としてCocoaPodsを利用しているというのがあったので、Carthageに移行してみて具体的なBefore/After記録とつまづいた点をまとめましたという実例のお話。
フルビルド時間が80秒早くなったこと、CocoaPodsからCarthageへの移行段階でライブラリ間の依存解消に苦労したなどなど。

### 参考
[ビルド時間短縮のためCocoaPodsからCarthageに移行しました(aboyさん補足記事)](https://techblog.istyle.co.jp/2018/05/15/build-speed-up-carthage/)
[Carthage](https://github.com/Carthage/Carthage)

# さいごに
同イベントの全体的なまとめ記事は、当日のうちに投稿済みのKazumasa Kumamotoさんの[こちらの記事](http://kumamotone.hatenadiary.jp/entry/2018/05/23/233254)のほうがきれいに丁寧にまとまっております。

イベントのまとめ記事を書くのは初めてだったんですが、発表聞きながら手も動かしつつそれぞれの概要まとめるのってこんなに難しかったのだなぁと己の無力さを痛感しました・・・まとまってない・・・・・
近いうちLTに挑戦してみたいなぁとも思ってるんですが、筆の速度と質向上のためブログまとめ枠も今後積極的にトライしたいと思います。