Android
iOS
Swift

potatotips#39にブログ枠で参加したので、内容をまとめました。

IMG_2781.JPG

4月13日に開かれたpotatotips勉強会#39に参加してきました。

メモったものと、取った写真、上がってるスライドをまとめましたが、一部理解できず、メモをとれてないセクションもございますので、 他のブログ(http://colorbox.hateblo.jp/entry/2017/04/15/003950 ,http://sanpeisbllog.blogspot.jp/2017/04/potatotips-39-iosandroidtips2017413.html) で参考ください。

個人的には、懇親会でお話した馬鹿にされるPHPの実は隠れたすごい所が面白かったです。


1.Swiftでプレゼンしたら何が起こるか


  • 喋る内容を書いてるものを読み上げるだけでは、聴衆はつまらなく感じる。


口からでてくるのと同じ情報を文字でスライドに乗せてもいいことなどない。


Steve jobs



  • プレゼンは自分の口で語るべき。


  • Swiftでパワポみたいなプレゼンスライドを書いたが、冗長になってしまったため、別のやり方を検討中



2.Andoirdでfatlane

IMG_2790.JPG

fastlane→面倒な作業を自動化

Android→Gradleでもできる

Gradle→fastlaneでもできる

ほとんど一緒なので、iosだけ知ってる人でもandroidでfastlaneをかける。

https://speakerdeck.com/player/d9dabbefe1dc486cbae620a9d47cf68c#


3.Learning Firebase

Firebaseを勉強する方法について

Googleの人からFirebaseならこれを見ろ、と言われた



- Conferenece/meetup by google

- ios/android guides

- ios/android codelabs

- udacity course firebase in weekend for ios/android

https://speakerdeck.com/player/1099471e18624240a32b72b55e2b2649#

4月24日 IBMとサーバーサイドswiftのセミナーをやるので、参加者募集中


4. Android Javaの既存プロダクトをKotlinで書き換えている話

IMG_2785.JPG


開発しているアプリについて


  • サブスクリプション型EC

  • 会員向けアプリ(新規登録はWebのみ)

Kotlin導入

ButterKnifeをBindingに使っていたが、ライブラリと相性悪い



データバインディングをやろう!

チーム内ルール作り

- KotlinへのConvert

- リファクタリング推奨


5.技術本執筆のすゝめ


執筆の敬意

Android3名で企画。はじめはAndroidのみだったが、SWIFTをあとから追加

2016年11月技術評論社さんと打ち合わせで目次を決定

執筆環境はGithub privateリポジトリで作成

2016年12月

執筆開始

2017年1月

初稿提出

2017年3月

印刷版提出


執筆のつらみ

年末年始休暇が消滅

12人で書いたので、報酬を12分割


執筆のうまみ


  • 間違ったことをかけないので、すごい勉強した

  • 他のメンバーがすごい

  • 肩書が出来た

  • iOS/Androidの対比を工夫して書いた。

  • 親が喜ぶ

  • 他の人からすごいといわれる


執筆は怖くない

https://speakerdeck.com/player/b80d9b6986354416b19df5e28298c1a4#


6.AutoDisposeとRxLifeCycleの話


RxLifeCycleの話

問題点

ストリームの定義とキャンセルする部分が離れているためわかりにくい



RXLifeCeclyというライブラリがある

Lifecycleを定義し、ストームにcomposeする

ストリーム定義時に埋め込むので、わかりやすい/可読性が高い



これでOKだと思ったが。。。。

RxlifecycleはtakeUntilオペレータを使っている

つまい、Disposableの大体ではない。



AutoDispose

→RxLifecycleの問題点から生み出されたもの

toオペレーターを使う。



欠点:toオペレータはストリームチェインを破壊するので、Scopeを組みこんだあとにかけない

→AutoDisposeはRxJava2から。


7.Swiftのstructのstored propertyはvarにしよう

IMG_2786.JPG

Immutableな設計は良いことだからletのほうがいいのでは?



structならvarでもimmutableになるからOK

呼び出し側で、letかvarかを指定すればおk

http://qiita.com/omochimetaru/items/7265e440418b38088ccb


8.Sending Simple Data to Other Apps

シェアどうやって作ってますか

Gridのやつを作る

intent.createChooser(sendIntent,'shareTitle')

どう使い分けるか

List

- 任意アクションを別アプリで行いたいとき

- コンテンツを見るために別アプリを開くとき

Grid

- タイミングによってユーザが開くアプリを使い分けたいとき

- コンテンツを共有するために別アプリを開くとき


9.UICollectionViewDataSourceはViewControllerと別にして実装しないほうが良いと最近思う

IMG_2788.JPG

https://speakerdeck.com/player/78b0cc9ce1fd432d95d3d6183adc27bb#


10.What’s new in Android O WindowManager

new kayer "TYPE_APPLICATION_OVERLAY" added

result of reprecated layers

→viewは映るが、タッチイベントが動かない


11.[SE-0160] Limiting @objc inference

IMG_2789.JPG

https://speakerdeck.com/player/85883b9c035e4dcb81fa9e939c388b15#


12.俺たちが欲しかった
下タブはコレジャナイ


13.冴えない彼女(UserInfo)の育て方

IMG_2791.JPG

https://speakerdeck.com/player/22efe8bce8434090bbf0950ae099e7d6#


14.Autofill Framework