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

MTV Uutiset

MTV Uutiset

Markus Kauppila

March 26, 2015
Tweet

Other Decks in Programming

Transcript

  1. Brings MTV’s news content to mobile platforms 3 native apps

    (iOS, Android, Windows Phone) + backend for mobile-specific logic Started out as a greenfield project
  2. Common design on all three platforms With some minor platform

    specific tweaks Some bold choices such as hero images and page-based scrolling Quite heavy on using custom views
  3. Architectural pattern that’s gaining some traction Helps to separate UI

    from application logic Also increases possibility for unit testable code Needs a way to do data bindings => Reactive Cocoa || KVOController
  4. MVC - MVVM MVVM on iOS MVVM M C V

    M VM V M VM V C MVC Visualization by Bob Spryn !
  5. Good Links Reactive Cocoa and MVVM – An Introduction by

    Bob Spryn Introduction to MVVM by Ash Furrow Basic MVVM with ReactiveCocoa On MVVM, and Architecture Questions
  6. Entire UI created code No need to twiddle with Interface

    Builder Keeps all the UI code at one place Easy to use Masonry as DSL for Auto Layout => IMHO clean and simple approach
  7. Most views in MTV Uutiset app are quite similar Dynamically

    created based on content Basically all just stacks of views Stacks are really easy with Auto Layout Just connect bottom and top constraints
  8. Some views such as embedded html views and ad views

    need to change their height after the layout Auto Layout can handle it automatically Relies on the implementation of intrisicContentSize:! ! So much simpler than calculating proper frames for all the views manually
  9. Still debugging Auto Layout constrains is PITA Naming the constraints

    helps Reveal 1.5 can visualize the constraints And Auto Layout has impact on performance, especially if you’re creating views on the fly
  10. Good Links Auto Layout Practices for Minimum Pain Auto Layout

    Performance on iOS Advanced Auto Layout Toolbox
  11. HockeyApp simple way to distribute betas Provides symbolicated stack traces

    in crash reports CocoaLumberjack – really neat logging framework Naturally supports logging to a file HockeyApp can attach the log file to crash reports Log file provides context for the stack traces