NSSpain 2020: Edición Remota

Back To Homepage

Octavo año de NSSpain

Es el mejor evento de España para desarrolladores iOS, cada año aglutina a los mejores desarrolladores y ponentes de todo el mundo.


Aparte de las charlas y talleres técnicos se disfruta de buen vino y comida española, así que dónde mejor para realizarlo que en Logroño, cuna del rioja 😜.


Este año por motivos del COVID lo hemos celebrado de forma virtual (Remote Edition). Aunque he echado de menos el contacto humano, los organizadores han trabajado con plataformas online para que nos sintiéramos como si estuviéramos uno al lado del otro.

¿Dónde está Wally? 😂😂😂  Si encontráis dónde estoy sentado en la sala virtual os invito a una cerveza 🍻. 😜

La Agenda del evento

Fueron 36 horas de interesantes conferencias, los días 19 y 20 de Noviembre de este 2020. El evento es 100% en inglés, así que la descripción y los títulos están en el idioma de 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

Vadim Drobinin

Modern devices are way too powerful for users to notice a difference between the Bubble sort and the Merge sort. Or not? Should everyone know how to implement Ukkonen's algorithm if they develop a weather app? What's the "Big O" of a feature and is there one?

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

1. TimelaneCombine
2. RxTimelane
3. TimelaneCore
4. Timelane + Time Profiler
5. Composable Architecture
6. Built-in Loggers
7. Happy Profiling

Choose your own SwiftUI adventure

Paul Hudson

1- Intro
2- Rearchitecting
2- WidgetKit
3- Accessibility
3- Networking
4- macOS
4- watchOS


2020

Visita la web del evento

Comunidad de [ Apple developers ]

Related Posts

CodeMotion 2020
Codemotion 2020

Don't know where to start?Explore our most popular learning topics. Get access now url del evento

Curso TDD, GIT, CI y CD
Finalicé el curso «Ciclo TDD, GIT, CI y CD» de Apple Coding Academy

Julio César Fernández - FormadorFormación permanente Este jueves terminé el curso Ciclo TDD, GIT, CI y CD (Desarrollo conducido por pruebas, Integración y Distribución Continua)...