Los pasados días 13 y 14 de septiembre volvimos a Logroño para asistir a las conferencias de iOS NSSpain. Con este último año, ya van 5 a las que el equipo de desarrollo móvil de idealista ha acudido.
En esta edición hemos asistido a un total de 19 charlas, la gran mayoría centradas en iOS, en su lenguaje de programación, Swift, e impartidas por ponentes reconocidos dentro del mundo del desarrollo móvil.
Otra de las peculiaridades de la NSSpain es la visita organizada a una bodega en donde se elabora vino de La Rioja. Este año hemos visitado las bodegas Viña Real, situadas en lo alto de una colina con vistas a los viñedos y a Logroño. Al finalizar la visita guiada hicimos una cata de vinos y picamos algo.
Las siguientes charlas fueron las que nos parecieron más interesantes, aunque al final lo que de verdad se aprecia en este tipo de eventos es el networking. Tener la oportunidad de hablar con gente que ha trabajado en Apple (Mattt Thompson) o con desarrolladores muy conocidos del mundillo es un placer, y siempre se aprende muchísimo de ellos.
Y por supuesto, volver a ver a compañeros y amigos del mundillo que, como nosotros, no fallan ni un solo año a la NSSpain.
The Art of Spelunking [Guilherme Rambo]
Interesante charla sobre ingeniería inversa en donde Guilherme contó cómo obtener datos “ocultos” de las API privadas de Apple.
Además el ponente hizo una demostración de cómo obtener información que aún no ha salido a la luz (como imágenes sobre los próximos dispositivos de Apple) y de cómo trastear las APIs privadas para manejar, por ejemplo, el Homepod desde un simulador.
Como herramientas interesantes, presentó Hopper, una aplicación para hacer más fácil el proceso de ingeniería inversa y depuración.
Combinators [Daniel Steinberg]
Daniel es experto en programación funcional y su charla se centró definir el significado de “Combinators” a través de una serie de ejemplos de código en Swift.
Siri Shortcuts [Ellen Saphiro]
En esta charla Ellen habló de cómo utilizar la API de Sirikit y los intents para crear accesos directo a ciertas partes de una app usando la voz.
Concretamente propuso el código necesario en una app de viajes para acceder a un viaje concreto diciendo “ver viaje a Logroño”, el uso de Shortcuts y de NSUserActivity. Fue una charla introductoria, sin profundizar demasiado pero mostrando posibles usos reales del nuevo API de iOS 12.
Live podcast [John Sundell / Guillherme Rambo]
John Sundell, autor de swiftbysundell emitió un podcast en directo junto con Guillherme hablando sobre la keynote del día anterior y los productos que se presentaron.
También permitieron al público realizar preguntas a través de Twitter que respondieron en directo.
Building Apps At Scale [Victor Pena y Pavel Mazurin]
Victor y Pavel son desarrolladores iOS en Uber y nos contaron como han conseguido escalar los equipos de desarrollo a lo largo de los últimos años. Actualmente en Uber son más de 500 desarrolladores móviles (aproximadamente divididos a mitad entre Android e iOS), utilizan una arquitectura muy similar a VIPER que la han llamado RIB en donde su principal diferencia es que el Routing se encuentra en el Interactor.
Como dato: en su app existen más de 600 RIBs. Para entender la diferencia que existe entre la arquitectura basada en RIBs y VIPER podemos seguir el tutorial que tienen publicado en su GitHub.
Embrace your Legacy… Code [Nelida Velazquez]
Nelida trabaja actualmente en Detroit Labs y nos contó su experiencia en su anterior trabajo, en donde tuvo que lidiar con muchísimo “Legacy Code”. Dejó claro que todos nosotros trabamos con código legado desde el primer momento:
«Al terminar de escribir una línea de código, ese código ya es legado«.
Synthesizing Synths In Swift [Adam Bell]
Adam habló de cómo implementar un sintetizador de música en Swift. Empezó su exposición con una pequeña introducción sobre algunos de los modelos de sintetizadores que existen en el mercado y de como se han usado en multitud de películas y canciones.
Posteriormente realizó una demostración en directo simulando el sonido de la intro de la serie Stranger Things utilizando la biblioteca Audiokit para Swift.
UI Testing Infrastructure In Avito [Vladislav Alexeev]
Vladislav Alexeev es desarrollador iOS en Avito, un sitio web ruso de anuncios clasificados. Vladislav estuvo contando su forma de trabajar con los tests de UI. Utilizan Amimono, un plugin de Cocoapods que genera frameworks estáticos a partir de dinámicos para mejorar la velocidad de ejecución y Avito Runner, una herramienta propia que distribuye la ejecución de los tests UI en paralelo.
Como dato: en Avito utilizan 20 Macs Mini para correr los tests de UI.
Teaching Swift At Scale [Paul Hudson]
Esta fue una de las charlas más divertidas de este año. Paul es autor de la página web “Hacking With Swift”, es autor de más de 12 libros y además de escribir se dedica a la enseñanza y a las ponencias.
Paul expuso a modo de “show televisivo” las “peculiaridades” del lenguaje Swift y de como evitar reinventar la rueda y usar bibliotecas para trabajar con aquellas APIs enrevesadas, antiguas y en definitiva, complejas.
¡Nos vemos en la NSSpain 2019!