Edited at

potatotips #34 に参加してきました

More than 1 year has passed since last update.

potatotips #34 (iOS/Android開発Tips共有会)に「Android ブログまとめ枠」として参加させていただきましたので、その報告になります。


potatotips #34 概要


LTまとめ(発表順)


ブラウザアプリSmoozを作る中で会得したWKWebViewのTips

発表者 : sassy_man_yuichi

https://speakerdeck.com/maxkato/burauzaapuri-smooz-wozuo-ruzhong-dehui-de-sita-wkwebviewfalse3tufalsetips


  • 真っ白になる問題


    • メモリ不足によるもの

    • ページの有無をチェックして、なければリロード



  • タッチダウンを取得したい

  • WKWebViewのjsのデバッグ


    • SafariのWebインスペクタから




DownloadManagerのイベントをRxJavaで処理したらいい感じだった

発表者 : Reyurnible

https://speakerdeck.com/reyurnible/rxdownloader



  • DownloadManageerの問題点


    • コールバック処理がreceiver経由で使いにくい

    • 連続でDLするときに使いにくい



  • つくったもの




個人的メモ

似たような所感をもったので(偉そうですみません)メモ


5分でわかるSE-0116(id-as-any)

発表者 : takasek

https://speakerdeck.com/takasek/5fen-dewakaruse-0116-id-as-any



  • SE-0116(Swift EvolutionのProposalsのうちの1つ)

  • Swift3.0よりObjcのid型がAnyObjectではなくAnyとして扱われるようになった

  • AnyObject型が廃止された」「Anyがオブジェクト型になった」ということではなく「AnyからAnyObjectへのブリッジ」が完備された


忌しきStackOverFlowをどうにかする

発表者 : kozmats



  • stack overflow遭遇したことありませんか?(Q&Aサイトのほうではなくエラーとしての)


    • ビューのレイアウトが複雑(ネストが深い)だと起きやすい

    • Android 4.xだと起きやすい

    • 起きたときに直すのが面倒なもの




  • Stetho


    • レイアウトの構造をいい感じに見れるツール

    • FB製

    • 他人のみるときなんかにもいいとのこと




個人的メモ

XcodeのView DebuggingみたいなことをAndroid開発でもやりたいと思っていたのですが、、、Stetho知らなかったので試してみよう


try! Swift NYC / Brooklyn Swift Develpers

発表者 : jpmartha

(資料見当たらず)


  • try! Swift NYC / Brooklyn Swift Develpers に参加してきた話

  • try! Swift NYC の会場の写真など

  • Brooklyn Swift DevelpersではSPMについての話をしてきた


BottomNavigationView

発表者 : nankiti


  • BottomNavigationView


    • iOSのUITabBarみたいなもの

    • Googleがずっと嫌っていたもの、ハンバーガメニュー使えと

    • 今年になってから折れたとのこと


    • Support Library 25.0.0から使えるように

    • 横スワイプみたいなことはできない(ViewPagerは使えない)

    • アイテムの最大数は5個まで、それ以上設定するとException




個人的メモ


Useful Command Line Tools in Swift 3

発表者 : giginet

https://speakerdeck.com/giginet/useful-command-line-tools-in-swift-3


  • コードレビューでPlaygroundをよく使う => いつの間にかたくさんのPlaygroundファイルが散らかってしまっているという課題

  • つくったもの


    • Toybox

    • Playgroundを管理するCLIツール

    • Swift製


    • Commandantを使ってる

    • 配布がつらい(他所のを真似るのが一番)




個人的メモ

レビュー時にPlaygroundを使うというのをやったことがなく、本人にもどんな感じで使っているのかお話直接いただいたのですが、、、まだまだ自分のレビュー力のなさを痛感した


休憩

:pizza: :pizza: :pizza: :pizza: :pizza: :pizza:

:beer: :beer: :beer: :beer: :beer: :beer:


Grenade - Type safe intent buidler

発表者 : kobakei

https://speakerdeck.com/kobakei/grenade-type-safe-intent-buidler


  • 明示的intentを自動生成する

  • つくったもの


    • Grenade

    • コンストラクタの引数でfoo, bar1またはfoo, bar2みたいなことがやりたかった

    • (サンプルソースみたほうがわかりやすいと思うので以下に書いておきます)



@Navigator

public class DetailActivity extends AppCompatActivity {

// Required params
@Extra
String foo;
@Extra
int bar;

// Optional params
@Extra @Optional
String hoge;
@Extra @Optional
boolean fuga;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}

startActivity(new DetailActivityNavigator(foo, bar)

.hoge(hoge)
.fuga(fuga)
.flags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT)
.build(context);


Layered Architectureで各層の依存関係解決をSwinjectを用いて行う

発表者 : kgmyshin

https://speakerdeck.com/kgmyshin/layered-arch-with-swinject


  • (時間の都合上スライドの「実装例」のところから)

  • こういう感じでつくってみたら良かったという話


  • Layered Architecture (ここをうまくまとめることができなかったので、スライド及びiOSのまとめブログでご確認ください。申し訳ございません :bow:

  • テストしやすいこと、シングルトンに依存しない


個人的メモ


  • 「具体クラスを知らなくていい / データをRealmなのかネットーワークからとってくるのかは気にしなくていい」みたいな設計は会社でもよく聞く


  • Swinject知らなかったので今度調べる


Redex - A bytecode optimizer for Android apps

発表者 : shaunkawano

https://speakerdeck.com/shaunkawano/redex-a-bytecode-optimizer-for-android-apps



  • Redex


    • dexを最適化するツール

    • fb製




  • ProGuardとの違いは?



    • ProGuard.classファイルを最適化


    • ProGuardは未使用変数は取り除いてくれる、Redexはインラインのソースコードを取り除いてくれる


    • Redexはとくにruleを設定する必要がない



  • Sample Output : 4.6MB => 4.3MB


    • あまり減っていないように見えるかもしれないが、途上国ではアプリサイズはセンシティブ




Apple Pay x PAY.JP の概要

発表者 : laiso

http://qiita.com/laiso/items/1bc02e05ffde8b8cec36


個人的メモ


  • Apple Payの話嬉しい

  • Qiitaに発表がまとめれているというのは嬉しい


TransactionTooLargeException

発表者 : KeithYokoma

(資料見当たらず)



  • TransactionTooLargeExceptionについて


    • プロセス間通信で発生するもの

    • メモリの量が多いときに発生するもの(1MBまで)

    • 1つ1つの通信でではなく、1つのプロセスが扱う合計のメモリの量

    • intentの起動もプロセス間通信が発生している



      • TransactionTooLargeExceptionが起こりうる例としては、intentにbitmapを渡していたもの





  • 似たようなエラーとしてCursorWindowAllocationException


最後に


  • 久しぶりに勉強会参加したけどやっぱ面白い :smile:

  • 間違い等ありましたら、お手数なのですがご指摘いただけると助かります :bow: