It's that time of year again!
SwiftLeeds 2024 is here, and in this post, i'll be sharing my thoughts on the second (and last) day of the conference.
Agenda:
-
The Roast of your App's Design - Hidde van der Ploeg.
-
From Quantum to Code: A Teacher's Journey into Mobile Development - Chloe Jenner.
-
Cut costs, not corners - Master modularization with SPM - Antonio Markotić.
-
The Art of Functional State Management - Araks Avoyan.
-
Fixing Image Performance for The Worst iPhone - Aviel Gross.
-
Scalable Continuous Integration for iOS - Alberto De Bortoli.
-
What Not to Do: Rocky Road to Banner View - Maria Kharybina.
-
Refactoring Fear - Josh Holtz.
The Roast of your App's Design - Hidde van der Ploeg
Hidde shared his insights on how to improve your app's design by roasting it.
Key Takeaways:
-
Make sure your app is accessible to everyone.
-
Make sure your app is usable by everyone.
-
Don't make your app too complex, it should be easy to navigate in.
-
If you don’t know typography, don’t do custom fonts.
-
Make use of the system colors and their options (
.secondary,.tertiary,.quaternary,.quinary). -
Use
ContentUnavailableViewwhen there is no content to show. -
When apps have great navigation, it's often unnoticed because people can focus on the content and experience.
-
Look at the Human Interface Guidelines for inspiration and guidance.
From Quantum to Code: A Teacher's Journey into Mobile Development - Chloe Jenner
Chloe discussed her transition from quantum physics to mobile development in a poetic and inspiring talk.
This talk was a great reminder that it's never too late to change careers and pursue your passion.
View the talk on YouTube.
Cut costs, not corners - Master modularization with SPM - Antonio Markotić
Antonio talked about the benefits of modularization with Swift Package Manager.
Key Takeaways:
-
Modularization can help you reduce build times and dependencies.
-
Modularization can help you cut costs on CI/CD.
Modularized iOS app
| Pros | Cons |
|---|---|
| Faster build times | Initial setup can be time-consuming |
| Loosley coupled code | Module inconsistency |
| Adding new feature | Possible circular references |
| Reusability | |
| Testobility | |
| Parallel development |
The Art of Functional State Management - Araks Avoyan
Araks shared her expertise on functional state management in iOS apps.
Key features of Functional programming
-
Immutability.
we don't directly change our data. We create a new copy of the data with the changes we want to make. This makes our code more predictable and easier to reason about. -
Combine.
Combine is Apple's framework for reactive programming. It allows us to work with asynchronous data streams in a declarative way.
Cons of combine: unpredictable future from apple (async, await, Swift 6).
Fixing Image Performance for The Worst iPhone - Aviel Gross
Aviel discussed strategies for improving image performance on older iPhone models.
Key Takeaways:
-
It can be tricky to load a large number of images in a performant way on older devices.
-
Sometimes it is better to use a framework like Nuke or Kingfisher instead of relying on SwiftUI's built-in image loading.
-
It can be smart to (pre)load blurred images first and then replace them with the full resolution image.
Scalable Continuous Integration for iOS - Alberto De Bortoli
Alberto shared his insights on building scalable continuous integration pipelines for iOS projects.
Key Takeaways:
-
There is no one-size-fits-all solution for continuous integration.
-
You can also host your own CI server on a Mac (mini).
-
Using Terraform you can easily deploy more CI's when needed on AWS.
What Not to Do: Rocky Road to Banner View - Maria Kharybina
Maria discussed the challenges she faced while implementing a banner view in an iOS app.
Key Takeaways:
-
What NOT to do:
-
ignore advantages of chosen framework.
-
start looking for solution before defining a problem
-
only solve the current problem
-
change the requirements for the component as you go
-
forget about testing
-
-
What to do:
-
think before coding
-
spend more time on assessment and planning
-
share your wins and fails with the community
-
Refactoring Fear - Josh Holtz
Josh shared his experiences with his stutter and how it has affected his life and career.
This talk was a great reminder that everyone has their own struggles and that it's important to be kind to yourself and others.
Wrapping Up
That's a wrap for day 2 of SwiftLeeds 2024!