Francisco José Navarro García
November 30, 2020NSSpain 2020: Remote Edition
It's the best event in Spain for iOS developers, bringing together the top developers and speakers from around the world each year.
In addition to technical talks and workshops, attendees enjoy excellent wine and Spanish cuisine, making Logroño, the birthplace of Rioja, the perfect location 😜.
This year, due to COVID, we held it virtually (Remote Edition). Although I missed the human interaction, the organizers did a great job with online platforms to make us feel like we were right next to each other.
Where's Wally? 😂😂😂 If you find where I'm sitting in the virtual room, I'll buy you a beer 🍻. 😜
Event Agenda
It was 36 hours of interesting conferences on November 19 and 20, 2020. The event is 100% in English, so the description and titles are in the language of Shakespeare.
iOS CI in da House
Vladislav Alekseev
A story how we grown our CI from a couple of non-maintainable bash scripts to a solid, expandable, flexible product, covered with unit tests. A story about how 70+ Mac minis drain power, how to scale them without having Docker with Xcode in it, speed them up to keep build speeds faster. A story about failures, successes, wins and regrets.
Big O notation of your app
Vladislav Alekseev
A story how we grown our CI from a couple of non-maintainable bash scripts to a solid, expandable, flexible product, covered with unit tests. A story about how 70+ Mac minis drain power, how to scale them without having Docker with Xcode in it, speed them up to keep build speeds faster. A story about failures, successes, wins and regrets.
Making a Component Library
Roy Marmelstein
Component Libraries are a popular way to drive visual consistency and reuse in apps. In this talk, we will build one, using learnings from Spotify and taking advantage of modern tools. We will learn how to architect UI components and build a component library that scales and evolves well over time.
Secure authentication. Are you sure you do it right?
Julia Potapenko
Are you sure your auth is secure? Mistakes in app authentication are common in iOS applications, although it is not something new. Challenge your architecture and processes with trusted security standards.
How to scale your app with platform team
Michel Bueno / Larissa Barra
When an app reaches a certain scale, one team is no longer enough to maintain and evolve it. How to divide your app into teams that make sense? How to do it without losing scalability, maintainability and quality? A platform team could be the answer.
Core Data Best Practices
Antoine van der Lee
Core Data has come a long way and has been getting new features over the past years. After gaining over three years of hands-on experience by implementing Core Data in Collect by WeTransfer, I'll share my best practices with you. Both including the latest APIs as well as proven techniques from the early days.
AppCode under the hood
Aydar Mukhametzyanov
AppCode is an IDE for iOS/macOS development. In this talk, you will find out what problems await you if you decide to write your development environment, how to solve some of them and what hidden features of Xcode will help you in this difficult task.
Becoming An iOS Development Expert
Kilo Loco
This talk will go over tips and strategies for becoming more knowledgable in multiple areas of iOS development, resulting in a reputation suitable for a senior engineer.
Swift Packages - Dependency Management of the Future
Leo Dion
Swift Packages are the future of dependencies for applications on Apple platforms. In this talk Leo explains how a Package.swift file works how to test and integrate with CI as well as tools to help you build a Swift Package.
Porting an iOS app to macOS using Catalyst
Jan Kaltoun
In this talk I describe my experience with porting an existing iOS/iPadOS UIKit app to macOS using Catalyst. Over the course of the 30 minutes I show how I ported the app, what issues I faced and how I solved them. Everything is demonstrated on examples from the actual app. By the end of the talk the attendees should have a basic understanding of what it takes to port an app to macOS using Catalyst.
Adopting a reactive mindset
Donny Wals
Now that Apple has released their Functional Reactive Programming framework Combine, you might wonder what Combine is good at, how it works, and when you can use it.
By showing you some of the building blocks that are essential in Combine you will learn how to start using Combine, and how you can adopt a reactive mindset.
The Composable Architecture: prepare yourself for the future
Victor Pimentel
Let’s learn together how to use a composable, modular and testable architecture in UIKit that will help you migrate to SwiftUI at your own pace.
Kotlin Multiplatform for iOS Developers
Dinorah Tovar
In this talk, we will check some tricks inside the incredible world of Kotlin Multiplatform for iOS. Kotlin Multiplatform (KMP) is an SDK that allows you to use the same business logic code in both iOS and Android applications. We will talk about getting started with this tool from Jetbrains, with the full support of iOS-specific APIs From Core ML and CloudKit to Ktor, SQLitedelight, and other tools, you don’t have to be an expert to start experimenting Kotlin Multiplatform, you just need to believe in the magic of Kotlin.
Leveraging LiDAR for Immersive AR Experiences with RealityKit
Ethan Saadia
If you want to build immersive Augmented Reality experiences but have not yet worked with 3D graphics or games, RealityKit is for you! RealityKit is Apple’s latest 3D graphics framework for AR written entirely in Swift, placing advanced rendering and graphics tools in the palms of developers’ hands. In this talk, I will discuss the basics of the RealityKit framework and how to leverage the LiDAR sensor on the 2020 iPad Pro to merge the digital and real worlds with scene understanding.
"It Scrolls Like Butter": Implementing Responsive, Fluid UI on iOS
Tim Oliver
One of the biggest reasons why iOS is a joy to use is the fluidity and responsiveness of the UI. From rubber banded scrolling, to swiping to dismiss apps on iPhone X, smooth, fluid animation is fundamental to the iOS user experience. And while a lot of this functionality is given to developers for free by Apple, to truly hit that level of fluidity that users expect still requires a lot of conscious effort.
This talk is a deep dive on fluid, responsive graphics on iOS. It includes implementing velocity-driven, interruptible animations with the latest UIKit animation APIs, discussing some of the common causes of hitching, and discusses some common solutions in fixing these.
SwiftUI: We're now Apple Platform Developers
Malin Sundberg
This talk is about adopting and building apps using SwiftUI, with the purpose of being able to reuse and adapt UI components for Apple's different platforms.
Show me, don't tell me. Adding demonstrations and tutorials to a SwiftUI app
David Reidy
We can't always demonstrate our software in person, having a demonstration experience allows a user to be shown the features on an app in a controlled manner. Building from this, an entire tutorial experience can be included to help on-board new users to your application. In this presentation we will look at how SwiftUI can be used to add these features to an app.
Diving into mobile-first machine learning
James Dale
This presentation will be a primer into the world of mobile machine learning. We will explore what it means to be doing machine learning on device, and where to start ideating machine learning wonders for your app. We will take a creative approach to ideating ideas for your app, and look at effective methods of implementing machine learning, and how this has changed over time to become easier.
We will also be looking at the tools available, and how one might go about using these tools to successfully deliver creative machine learning applications in their projects.
Using Core NFC to scan and verify identity documents
Maxim Tsvetkov
Since iOS 13 our iPhones are able to read ID cards and passports.
In this talk, you will discover what the system iOS framework gives you and what you need to add on top of it to scan and verify identity documents, what data you can extract from documents and how you can verify the authenticity of these documents. And, of course, you will see a live demo of scanning a real ID as well.
Join the talk to take away how Core NFC can improve user verification in your project.
Swift Optimizing (at Compiler World 🤓)
Yuki Aki
Swift has many interesting things, you may not know when you writing code for the application. It is because... some of them are working when your code is compiled background of Xcode ... it's Swift compiler!
Through my talk, you will learn one of the interesting phases of Swift Compiler, which are Swift Intermediate Language, and its Optimizer, and ...
- How it affects your iOS Application ☠️
- How the compiler grantees the safety of our Swift code ☠️
- How the optimizer would destroy our Swift code ☠️
In fact, your code is made faster and effective by the Swift Compiler, but you may not know how it works. One reason is that the entrance of it is "Swift Intermediate Language(SIL)". You may not know this word and feels difficult. ☠️
I'll introduce the optimizer in the compiler which is difficult to learn, by easy description, from SIL to "SILOptimizer". And how it works for your code by using actual Swift Compiler code.
Of course, I’ll show you an easy tutorial of SIL and an overview of Swift Compiler, so don’t be afraid to listen to my talk!
Yesterday I didn’t get anything done
Sally Shepard / Michael May
“Yesterday, I didn’t get anything done”… How many times at stand up have you heard someone in your team say that? They say they got nothing done because they didn’t write any code or ship a feature, and that’s how they measure their value as a developer. This talk will give you the ability to help your team and teammates better understand the depth of work that goes into being a developer, and how writing code is only a small part of that.
The Life of a Train - How to Continuously Update your App and not Die Trying
Antonio Escudero
Releasing mobile updates continuously could cause nightmares to the developers. Long queue times, bugs and crashes are more damaging than in other platforms. This talk will be focused on how to iterate as fast as possible delivering features continuously to our users with a low risk.
Shipping a feature in Spotify - From research to data analytics
Cecilia Humlelu
How do we ship a feature at Spotify? Is there a big green button that you can press just like the Spotify play button? Watch this video to find out the entire process from creating a feature to releasing a feature at Spotify.
Demistifying Functional Programming
Tomás Ruiz-López
Functional Programming is often looked with squinted eyes and a bit of distrust; it is felt as something too esoteric and academic to have practical application. However, many concepts from FP have been adopted into modern programming languages to great benefits for developers! Let’s dive into what makes your code functional and demystify the most obscure parts of it. You will discover that Swift incorporates more functional constructions that you may think, and that you have been practicing them without being aware!
GeometryReader, View Preferences and Anchors - SwiftUI tales from the Hyperdeck
Benedikt Terhechte
HStack, ZStack and VStack make layouting in SwiftUI easy. However more complex layouts require understanding the underdocumented GeometryReader, View- and Anchor-Preferences. This talk explains advanced SwiftUI layout techniques derived from real-world examples in the making of the presentation app Hyperdeck.
TypeScript for the Swift Developer
Orta Therox
You might have an aversion to JavaScript as a native dev, that is pretty reasonable considering JavaScript's constant encroaching into every programming niche - but you know what? TypeScript is pretty legit.
Imagine if instead of 'Obj-C without C' the Apple ecosystem had Obj-C with Swift's type-system bolted on top and you're starting to get a sense of what TypeScript brings to JavaScript.
This talk will get you familiar with a programming language with the strangest constraints: it cannot add new syntax wherever it wants, it has to support 25 years of old, weird design patterns and has over 100 configuration flags.
5 stranger things you can do with Timelane
Marin Todorov
- TimelaneCombine
- RxTimelane
- TimelaneCore
- Timelane + Time Profiler
- Composable Architecture
- Built-in Loggers
- Happy Profiling
Choose your own SwiftUI adventure
Paul Hudson
- Intro
- Rearchitecting
- WidgetKit
- Accessibility
- Networking
- macOS
- watchOS
Visit the event's website
About the author
Francisco José Navarro García
Francisco José Navarro García is the co-founder and CEO of AtalayaSoft and an experienced iOS software engineer with over 23 years in software development. Specializing in native iOS applications, Francisco has a rich background working with high-profile clients such as Banco Santander, Fox International Channel, Repsol, and National Geographic.