Upgrade to Pro — share decks privately, control downloads, hide ads and more …

メルカリ カウルの開発気になる?なら話そう!

Avatar for operandoOS operandoOS
August 04, 2017

メルカリ カウルの開発気になる?なら話そう!

メルカリ カウルの開発 気になる?なら話そう!

shibuya.apk #17
https://shibuya-apk.connpass.com/event/62499/

Avatar for operandoOS

operandoOS

August 04, 2017
Tweet

More Decks by operandoOS

Other Decks in Technology

Transcript

  1. ๻͕Χ΢ϧʹJOINͯ͠࠷ॳʹ
 ΍ͬͨ͜ͱ • Crashlyticsͷಋೖ • Update Android Gradle Plugin 2.3.0

    • signingConfigͷઃఆ • Travis CIͷઃఆ • Fabric Betaͷઃఆ • CI͔ΒFabric Beta΁ͷΞοϓϩʔυ • dependency updatesͷ௥Ճ
  2. Dangerͷಋೖ • ࡶʹ͍͏ͱίʔυϨϏϡʔɺPull RequestϨϏϡʔΛࣗಈԽ͢Δ • Ruby or JSͰࣗಈԽͷεΫϦϓτΛॻ͘ • εΫϦϓτ಺ͰPull

    Requestͷ৘ใ͕औΕΔͷͰࣗಈԽॻ͖΍͍͢ • CIʹ΋ಋೖ͠΍͍͢ • νΣοΫ͍ͨ͠ϓϩδΣΫτࣗମͷݴޠ͸ͳΜͰ΋͍͍
  3. has_milestone = github.pr_json["milestone"] != nil warn "͋ΕΕʁϚΠϧετʔϯ͕ઃఆ͞Εͯͳ͍Αʁ" unless has_milestone warn

    "WIPͳͷʁ͸΍͘ऴΘΔͱ͍͍Ͷʔʂ" if github.pr_title.include? "[WIP]" or github.pr_labels.include?("WIP") if github.branch_for_head.start_with?(“release/") then message "ҎԼͷWikiͷखॱʹैͬͯ҆શʹϦϦʔε͠Αʔ :rocket: \n<a href='Release WorkflowͷURL'>Release Workflow</a>” end if github.branch_for_head.start_with?("release/") then warn "mapping file͕มߋ͞Εͯͳ͍͚Ͳେৎ෉͔ͳʔʁ" unless git.diff_for_file("app/mapping/mapping.txt") end Dangerfile
  4. Լλϒ + ViewPager͕͜͜ਏ͍Α • ͦͦ͜͜ϝϞϦ΋࢖͏ • λϒͷ਺ͷPager͸ৗʹอ࣋(setOffscreenPageLimit) • λϒ੾Γସ͑ͨ࣌͠ͷToolbarͱ͔ͷ੍ޚ͕஍ຯʹେมͩͬͨ •

    BottomNavigationView࢖ͬͯ΋ಉ͡ʁ • ActivityΛอ࣋͠ͳ͍ʹऑ͍ • ஌Δ͔ • λϒؒͷεςʔλεಉظ • Static Subject͓͡͞Μ
  5. API • ΞϓϦ಺Ͱ͸Χ΢ϧ APIͱϝϧΧϦ API྆ํΛୟ࣮͘૷͕ ೖͬͯΔ • ϝϧΧϦ APIΛRetrofitʹ߹ΘͤΔͷ͕ۤ࿑ͨ͠… •

    Responseͷܕ͕͖ͬͪΓܾ·Βͳ͍ • MercariResponseConverterര஀ʂ • Χ΢ϧ API͸JSON RPC
  6. JSON RPC • JSRON RPC Clintࣗ࡞ͯ͠·͢ • JSRON RPC ClintͷίΞ෦෼͚ͩϥΠϒϥϦԽ

    • ޷͖ͳHttp Clientͱ߹Θͤͯ࢖͑ΔΑ͏ʹͯ͠Δ • ι΢κ΢ͷଞͷΞϓϦͰ΋࢖͑ΔΑ͏ʹ • ۀ຿࣌ؒதʹ͍ͬͨ͡Γͯ͠·͢s
  7. ผʑͷAPIΛ࣮ߦ͢Δͱ͍͏͜ͱ͸... • ผʑͷAPIୟ͘ͷͰ଴ͪ߹Θ͕ͤඞཁ • JSON RPC(Χ΢ϧ) + REST API(ϝϧΧϦ) •

    JSON RPC͚ͩͳΒ΄΅଴ͪ߹Θͤඞཁͳ͍ • API Clintͷ໭Γ͸RxJavaͷSingleʹ౷Ұ • ଴ͪ߹Θͤ͸Single.zip
  8. Data Binding • ࢖ͬͯ·͢ • View΁ͷ൓өॲཧΛUtilతͳѻ͍Ͱ
 custom binding logicΛ࡞ͬͯΔ •

    XML಺ʹ৚݅ࣜ͸ॻ͔Εͯͳ͍ • Two-way bindingతͳػೳ͸࢖ͬͯͳ͍
  9. Java 8 Backport API • Lightweight-Stream-API • https://github.com/aNNiMON/Lightweight- Stream-API •

    StreamͱOptional͸Զʹ೚ͤΖʂ • Retrolambda • ThreeTen Android Backport
  10. Crash Reporting • Crashlytics • Firebase Crash Reporting • Firebase

    Analyticsͷϩά͕ग़ΔͷͰͲΜͳ ߦಈΛͯ͠Ϋϥογϡͨ͠ͷ͔աఔ͕
 Θ͔ͬͯ࠷ߴ