Join Dan on this grand tour and discover the plethora of iOS software architectures popping up, from VIPER, VIP and Clean to Flux, Redux and Reactive. Along the way Dan will highlight the common themes and look at some real case studies, to get to the essence of what architecture is and why you should think about it for your app.
You can find the video on SkillsMatter (free registration required) and the slides on SpeakerDeck. The talk centred around an example app, available on GitHub, which is implemented using several different architectures.
I think the talk went well, and I somehow even managed to land exactly on 30 minutes. I got a lot of really fantastic questions that I think demonstrate the importance of this topic, and the desire for the community to step up when it comes to improving the design of our iOS code bases. I couldn’t have been happier!
I had a great time at iOSCon this year. Aside from meeting lots of great people, there were some really interesting talks. Read on for a few personal highlights.
- Paul Ardeleanu hosted the entire event with wit and aplomb, and also gave a great talk about using playgrounds to improve the TDD experience with more immediate feedback
- The keynotes from Saul Mora (Balance) and Daniel Steinberg (It’s about time) were both fascinating and inspiring. Daniel’s talk in particular poignantly reminded us to be aware of how and why we spend our time on this planet
- Jorge Ortiz Fuentes spoke directly after me and went into a much deeper dive about Clean architecture and how to apply it to real apps. Having our two talks together worked really well
- Janie Clayton’s amusing and cautionary tale of diving into Metal (“it’s not a graphics framework!”) struck a chord with me as I’d gone through a similarly difficult journey when building my fluid dynamics Apple TV app, Plasmic
- Paul Hudson performed a frankly astonishing 90 minute live coding workshop about writing “natural Swift” where I learned a few neat tricks like boxing structs. Unfortunately there is no recording!
- Lasse Koskela distilled his learnings from implementing local search for iOS apps which emphasised just how tricky something like this seemingly pedestrian feature can be. I’m keen to check out CLucene
I liked the inclusion of lightning talks during day 1. These were a welcome degustation amongst the chunkier talks. Aside from Paul’s TDD demonstration, I also enjoyed:
- Eliasz Sawicki’s spirited introduction to Functional Reactive Programming
Kevin Muessig’s apt look at
@IBInspectableas it’s something we’re using quite heavily at work. While it has some interesting benefits, it exacerbates some irritating Xcode bugs (cont-in-u-ous-l-y building projects!)
- I really enjoyed Scotty’s plea for us to consider how to make passwords a less horrible experience for everybody
- Adrian Thomas related his experience of building apps that work across iOS, macOS and tvOS
- Finally, Yoichi Tagaya made a case for dependency injection and even showed how to build a simple IoC container from scratch. I appreciated him demystifying what is seen by some as unnecessary magic (myself included!), although I’m still not sold on the concept of containers for iOS
There are still several talks I need to catch up on, including:
- Yusuke Kita’s exploration of protocol buffers in Swift. This is a blindspot technology for me as I’ve not yet had the chance to work with them
- Brandon Kase’s talk about composable caching looks fascinating; caching is famously one of the hardest things to get right in computer science
- Manuel M T Chakravarty showed how to do DIY FRP which, much like Yoichi’s talk about DI should help remove the magic from this concept
Thanks to Skills Matter for hosting iOSCon this year. It was a great event at an excellent venue. I heard a lot of good feedback about the event from people during the breaks, and the pizza at the party was delicious. :)
I’ve already got my ticket for iOSCon 2018 next March, and if you register before 26th June 2017, you can get an amazing discount!