Please log in to watch this conference skillscast.
UIKit is an extremely powerful framework that has enabled developers to build sophisticated apps throughout the last couple of years. However, UIKit's architecture has not kept up with the changes in the iOS developer community, which are mostly driven by the introduction of Swift. Swift developers tend to favor a declarative programming style, UIKit requires the opposite. UIKit mostly works on delegates and callback blocks that provide data to the framework and influence what is rendered on the screen. Forcing our Swift code into this architecture often results in code that is difficult to understand & maintain. Further, UIKit makes it unfortunately easy to write bad code. What if we could turn this inside out? What if the view layer was simply a mapping of our data layer, not requiring delegation or callbacks?
This talk will explore the benefits of a declarative view layer and discuss how UIKit can be used in a somewhat declarative manner today:
- Benefits of a declarative view layer
- Making UIKit components more declarative: strategies and practical examples
- The Future: Can we take this approach further? What are the risks? Can we expect Apple to release a new UI framework?
The talk will discuss practical examples as used in an iOS app with a large codebase. The goal is to make working with UIKit easier today and to look into ways into making further improvements in future.
The Call for Papers is now open for iOSCon2017! Submit your talk for the chance to join a stellar line-up of experts on stage. Find out more.
YOU MAY ALSO LIKE:
- Simon Brown's Software Architecture for Developers Workshop (in London on 22nd - 23rd May 2017)
- Fast Track to RESTful Microservices (in London on 24th - 26th May 2017)
- Whole Team Approach to Agile Testing (in London on 5th - 7th June 2017)
- µCon 2017: The Microservices Conference (in London on 6th - 7th November 2017)
Turning UIKit inside out
Benjamin Encz is an Engineer at PlanGrid in San Francisco. He has worked in the Apple ecosystem since 2011 on a variety of projects, ranging from enterprise software to mobile games. He is the creator of multiple Swift open source libraries such as `ReSwift` and `Validated`. He enjoys exploring new ways of making software more reliable and programming more enjoyable.