IN PERSON, maximum 20 people in attendance

1. Universal Apps with SwiftUI
2. Getting started with Vapor

SATURDAY 9 APRIL, 10am (CEST) —> 12.30pm

Torino, Piazza 2, via Jacopo Durandi 10

Universal Apps with SwiftUI

‘Universal App’ is an overloaded term. Different platforms use it to refer to different concepts. Even Apple has used it to mean different things: [a single app that can run natively in Intel and M1](, or [a single purchase that will run in all their platforms](

Read all
In this workshop, we will cover how to write applications that, using a single codebase, can be compiled to produce binaries that run natively in iOS, iPadOS and macOS, and take advantage of their respective user interfaces. We will write from scratch a simple application using SwiftUI, that takes into account the very important differences that those three platforms have regarding, for example, navigation. We will try to maximize code reuse and maintenance employing different techniques, like conditional compilation, or using different files in different targets.
The agenda for the 2 hours workshop is:
1. Introduction to the problem. Real world examples of the challenge and data to understand the benefits of the proposed solution.
2. Navigation: differences and how to address them using SwiftUI.
3. Data entry: implement data entry using native paradigms.
4. Code organization: Architectural concepts that will improve reuse and maintenance.
5. Advantages of a single codebase: implement a feature once and have it available for all three platforms.
6. Adding a target to your existing codebase and migration techniques.
Key takeaways:
– Leverage your existing codebase to have a multiplatform application that runs on iOS, iPadOS, and macOS.
– Learn some best practices about code evolution and maintenance
– Improve your basic knowledge of SwiftUI.
This is a hands-on workshop and you are encouraged (but not required) to write your own version of the code, so you will need:
– Xcode 13+
– macOS Monterey up and running in your machine (iOS and iPadOS will be run in their corresponding simulators)

Jorge Ortiz Fuentes

Mobile Developer Advocate, MongoDB

Getting started with Vapor workshop

In this workshop you’ll learn everything you need to build a simple Vapor application. You’ll learn how to create routes, save models to a database and build REST APIs. This workshop is fully updated for async/await!

Tim Condon

Core Team, Vapor