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

Upgrading the Networking Stack of LINE iOS

Upgrading the Networking Stack of LINE iOS

LINE DevDay 2020

November 26, 2020
Tweet

More Decks by LINE DevDay 2020

Other Decks in Technology

Transcript

  1. Background › Refactoring in a large project › LINT (LINE

    Improvement for Next Ten years) from last year https://linedevday.linecorp.com/jp/2019/sessions/A1-2 › Push optimization not covered
  2. Abstraction Layer Plugin Request Will Send Request Response Networking Abstraction

    Layer Abstraction Layer Networking Layer Did Receive Response
  3. Abstraction Layer Plugin Request Turn On Network Activity Indicator Response

    Networking Abstraction Layer Abstraction Layer Networking Layer Turn Off Network Activity Indicator
  4. Abstraction Layer Plugin Request Response Networking Abstraction Layer Abstraction Layer

    Networking Layer Check for a special header Modify headers
  5. Abstraction Layer Plugin › Business logic separated from actual networking

    implementation › Business logic packed in a modularized way (in a single plugin)
  6. Lessons Learned › Have a clear separation of different abstraction

    levels › Use an abstraction layer to isolate the legacy code and upgrade to new code