Building a design system at Genius Scan
An example of how to approach the task of building a design system for an app, by focusing on creating an initial set of reusable components that can be tweaked using the SwiftUI environment.
Articles and podcasts about Swift development, by John Sundell.
Presented by the Genius Scan SDK
An example of how to approach the task of building a design system for an app, by focusing on creating an initial set of reusable components that can be tweaked using the SwiftUI environment.
Adam Bell returns to the podcast to discuss different techniques and approaches for optimizing UI code, and how to utilize tools like animations in order to build iOS apps that feel fast and responsive.
Sommer Panage returns to the show to discuss Apple’s various accessibility APIs and tools, how to incorporate accessibility support into a team’s overall development workflow, and what it was like being an engineering manager at Apple.
James Thomson returns to the show to discuss the various technologies that enable us to render custom UIs on Apple’s platforms. From rendering views using Core Graphics and Core Animation, to building completely custom 3D-based UIs using SceneKit and RealityKit.
Christian Selig returns to the show to talk about how he used the new Safari extension system on iOS to build Amplosion and Achoo, the pros and cons of open source, and how developers can utilize other iOS 15 and iPhone hardware features.
Marcin Krzyzanowski returns to the show to talk about building editors for Swift code, backend-driven user interfaces, and more. Also, the challenges of working with text-based data, the pros and cons of composition, and managing hobby projects.
Chris Eidhof returns to the show to go on a deep dive into the SwiftUI layout system. What are the different phases involved in determining a given view’s layout, how do concepts like layout priorities and flexibility work, and what makes SwiftUI different from UIKit and AppKit in terms of layout?
An overview of the tools and techniques that we can use to create a clean separation between our view hierarchy, its styles, and the components that we’re looking to reuse across a given project.
Jordan Singer joins John to discuss various approaches of turning designs into fully implemented UIs, how to manage things like mock data during the development process, and when to turn a given view into a reusable component. Also, the story behind the Airport app and Jordan’s recent SwiftUI experiments.
Ben Scheirman, creator of NSScreencast, joins John on an episode all about UICollectionView. How have UICollectionView’s features evolved over time, and how are modern APIs like compositional layouts and diffable data sources changing the way collection views are built and used?
Tips on how to texture SwiftUI views using tiling images, and how to ensure that such views are rendered in a smooth and predictable manner.
On this special episode, John is joined by the entire team behind the award-winning apps Halide and Spectre, Apple’s 2019 App of the Year. Ben, Sebastiaan and Rebecca share their stories of how these apps came to life, how they’re working together between design and development, and how technologies like Computational Photography and Augmented Reality are influencing their work.
Christian Selig, creator of the Apollo Reddit app, joins John to talk about building apps against third party APIs, and what sort of criteria an app needs to meet to be considered a “good platform citizen”. Also, REST vs GraphQL, architecting API clients, and more.
Ryan Nystrom returns to the show accompanied by designer Brian Lovin, to go behind the scenes of the new GitHub mobile app which the two have been building. Also, creating a design system, building custom controls, and more discussions on how developers and designers can work better together.
Let’s take a look at how SwiftUI’s various stacks and spacers can be used to achieve many kinds of flexible, adaptive layouts with very little code. While SwiftUI does include several more advanced layout APIs, stacks and spacers are a great starting point for most UIs.
Meng To, founder of Design+Code, joins John to go on a deep dive into SwiftUI from a design perspective, and to talk about how developers and designers can build scalable and flexible UIs using it. Also, structuring view code and components, the power of modifiers, and how SwiftUI compares to other UI tools and platforms.
Kate Castellano joins John to discuss how views and UIs can be made more dynamic and data-driven, and how that could even enable certain views to get their entire layout configuration from the server. Also, view models, handling loading states, and much more.
Let’s take a look at a few different techniques that can let us achieve a nice balance between code reuse and configurability, by building lightweight abstractions that enable us to encapsulate our configuration code.
A recap of the basics of SwiftUI, Apple’s declarative new UI framework for building apps across all of their platforms. How to build custom views and modify existing ones, how to manage local state within a view, and how to compose multiple views to form new ones.
Janina Kutyn, former Apple Music developer and now an iOS developer in Amsterdam, joins John for a UI development special! Topics include various techniques for building UIs and layouts, measuring and fixing performance problems, and supporting different screen sizes and devices.
Adding animations to an app can be a great way to both delight users, and to draw their attention to certain information or actions, through motion. When deployed in the right places, animations can really make an app appear more polished and easy to use. Let’s take a look at how to get started.
Just like how a UIView can be added to another UIView to form a hierarchy, a view controller can become the child of another view controller. Let’s take a look at how to do that.
Auto Layout has undergone quite a lot of changes and improvements over the years, in particular with the introduction of layout anchors in iOS 9. Let’s take a look at how they work.
One of the most challenging decisions that all programmers have to make on an ongoing basis is when to generalize a solution versus just keeping it tied to a specific use case. This week, let’s take a look at a way of building UIs that might allow us to strike a nice balance between those two approaches, using slots.
Kristina Fox, iOS and watchOS developer at Intuit, joins John to talk about Apple Watch development, building UI using storyboards vs in code, growing into a senior developer, and how to use change as a learning opportunity.
Nick Lockwood, Core Animation veteran and creator of tools like SwiftFormat, joins John to talk about animations, layout, building parsers & compilers in Swift, declarative UI patterns and much more.
While subclassing is not universally bad, avoiding it can in many situations leave us with simpler code that is easier to change and reuse. This week, let's take a look at a few different techniques that can help us write subclass-free view controllers, and how it can help us avoid the Massive View Controller problem.
Ryan Nystrom of Instagram joins John to talk about data-driven UI development, working on open source, how to optimize performance, becoming an engineering manager and much more.
View controller containment has been an essential part of UIKit ever since the early days of the iPhone. This week, let's take a look at how we can build our own container view controllers, and how doing so can help us make parts of our UI code more modular and easier to manage.
In this talk, we’ll go beyond animations and take a look at how Core Animation’s many powerful features can enable different kinds of high-performance rendering.
Something that tends to be particularly tricky when it comes to finding a good balance between convenience and maintainability, is when setting up relationships between the view layer and the model layer. This week, let's take a look at a few different ways that we can decouple our UI code from our model code, and some of the benefits of doing so.
Sommer Panage joins John to talk about all things accessibility, adaptive UIs, learning new APIs, UI testing, her secret (well, not so secret) life as a circus artist, and much more.
Paul Hudson of Hacking with Swift joins John to talk about learning & teaching Swift, Storyboards vs XIBs vs code, game development, Swift on the server and much more.
Louis D'hauwe joins John to answer questions about architecture, UI design, compilers, creating a programming language and much more.