Ultimate Android Development Guild

  • Android Architecture (MVI + Clean)

  • View Layer

    • RxBinding

    • Intents/UiEvents

    • Kotlin Extension Function for Views

    • Anko Layouts?

  • Presentation Layer

    • I/O Stream

    • Transformers

    • States/UiModels/PartialStates

      • One small UiModel/State

      • UiModel/State + PartialStates (the deltas)

    • State Reducers

    • Survive Screen Orientation

      • With Android Arch ViewModel
      • Without ViewModel
  • Domain Layer and Interactors

    • When to use (Complex B. Logic, 2 or more Presenters fetching/updating the same resource, two presenters are observing the same resource)

    • Sample UseCases (Search, ShoppingCart, FileUploader....)

  • Data Layer

    • Repository Pattern (interface)

    • Entity Mappers: Api Entities + B.L Models (modelmapper.org, kotlin mapper)

    • Retrofit + OkHttp + Moshi

      • Instance Creation Tips for Dagger
      • ServiceManager
      • Interceptors
      • Call Adapters
      • Moshi
    • Caching

    • Persistance (Room)

  • Testing , Mocking and Debugging

    • Flavors (Production, Internal, Mock, Debugging)

    • Unit Testing

      • Unit Testing in Kotlin
      • Testing Presenters
      • Testing Interactors
    • Side Effects of the State

      • Crash Reporting
      • Logging (timber)
      • Analytics
    • Mocking

      • Mocking Data (Faker)
      • Retrofit MockWebServer
    • Debug Drawer

      • Global App Drawer, Activity Drawer, Global Debug Activity
      • Switching Enviroments at will (change between prod, mock...)
      • Screenshot button + report bug via email
      • Ui element inspection (Wireframes, Scalpel)
      • External Libraries info (OkHttp, Glide, LeakCanary)

results matching ""

    No results matching ""