SwiftUI is the perfect tool for designers to turn their app desigs into working prototypes free from the limitations that affect prototyping software. Whether validating a solution with customers, demoing a new app proof of concept or testing your latest interaction on a real device, SwiftUI opens many doors for designers.

Solving a problem

Soon after I completed a major app redesign, Apple released SwiftUI and I began to wonder if the barrier to developing iOS apps had been lowered. SwiftUI has done away with the promise of WYSIWYG layouts with Storyboard, and given developers a more direct approach to app front-end code.

A cornerstone of that app redesign was the weekly design validation through quick usability tests. Together the team would identify problems our customers had with core features, ideate numerous solution, converge the approaches and validate against our original hypothesis. Sketches were transferred into high-fidelity mockups using key data, then wired up in a simple tap-thru prototype.

But the prototype software had a lot of limitations with replicating common interactions found in iOS apps and became too complex. With each sprint we added a new feature building out the full shopping path, leading to a prototype that attempted to build on the previous sprint to enable testing the entire journey. Several approaches failed in testing, however it was difficult to discern if the prototype was the limitation.

Enter SwiftUI. In only a few hours I had learned enough SwiftUI to mockup some simple app designs currently been worked on in Sketch. While I have done a number of Swift courses (and once shipped an objective-C app), creating many of the layouts in the most basic app was still a complex and time-consuming process. The Storyboard approach has limitations and you find yourself making many modifications in code.

But that’s all different with SwiftUI. In fact, while Swift and the code required to make UIView work is a true programming language, SwiftUI is more akin to markup like HTML. In fact most of SwiftUI is meant to display content in your app, while the business logic resides elsewhere in the code. A simple prototype does not need require complicated code. The mission for these Prototyping with SwiftUI courses is to unlock the potential for designers.