Android Tools Android Design Android Architecture Android Software Development Developing Android Apps Kotlin Kotlin Coroutines Kotlin/Native DevOps Skills DevOpsCulture
Nicola Corti has been an Android Software Engineer since 2.2, and a Free and Open Source lover for as long as he remembers. He’s currently working as an Android Infrastructure Engineer at Spotify, building the audio experience for millions of Android users worldwide.
Nicola usually calls himself a ‘community addict’. He can’t survive without learning every day, sharing knowledge, and having fun with other developers. He’s also currently managing the GDG chapter in Stockholm and the one in Pisa.
In his free time, he also loves open-source, photography and running.
If you're developing mobile apps, you probably know what's one of your most important KPI: Store Rating.
In such an environment, speed is key. You want to be able to iterate fast and ship beautiful apps to your users frequently. But with growing mobile teams, this is becoming more and more challenging.
The Mobile DevOps imposes a prospective shift to the "classical" DevOps perspective. Tools and processes should be adapted to the mobile release flow. You need to have tools to monitor your application, rollout a feature safely, and react to incident and 1-star reviews.
Mobile DevOps engineers to the rescue. They play a fundamental role in adapting your development flow to deliver mobile apps to your end-users.
In this talk, I will share my experience as a Mobile DevOps engineer, some of my preferred tools, and some of the lessons learned while building mobile infrastructures.
When writing networking code, you want to make sure the code between the client and server implementation is consistent. After spending hours defining the APIs with your backend engineers, you’ll probably need to spend even more time implementing those details over to your code (and guess what… your backend engineers will be doing the same!). This process is boring, time consuming, and prone to errors.
Wouldn’t it be cool if this process were automated? If you could have classes and interfaces that mirror your API definition? And if they were automatically tested and ready to use out of the box?
It can be done! At Yelp, we define our APIs using Swagger Specs and we successfully automated the generation of our networking code for both servers and clients (iOS & Android). On Android, we generate Kotlin Data Classes and Retrofit APIs that mirror our spec files and are ready to use for all engineers. In this talk, we will explore how we set up our code generation pipeline and how you can start doing it, too.
We're going to deep dive inside some of the Kotlin's keyword implementation: inline, infix, operator and tailrec.
You probably already used those keywords before, but do you know all the features and edge cases? This session will be a showcase of those those Kotlin keywords with a live coding.
We're going to see usage examples and potential pitfalls when using those language features.
É giunto il momento di scoprire come funzionano alcune delle keywork di Kotlin:
inline, infix, operator e tailrec.
Forse ti sarà già capitato di utilizzare queste keyword in passato, ma sei sicuro di conoscerne a fondo tutti i dettagli? Durante questa sessione scopriremo che queste keyword nascondono tante features nascoste che non tutti conoscono.
La sessione sarà un live coding dove verranno mostrati pattern di utilizzo comuni ed errori frequenti relativi a queste features di Kotlin.
How about learning a new programming language?
We're going to learn Kotlin, from the ground up! During this live coding session we're going to learn the basis of this popular programming language.
Kotlin is not just Android. With Kotlin you can actually develop software for every platform that has a JVM and not only!
During this session we're going to discover some of the unique features of Kotlin and what is makes it a great alternative to Java.
Quale modo migliore di affrontare la quarantena se non quello di imparare un nuovo linguaggio di programmazione?
Impareremo assieme le basi di Kotlin partendo da zero tramite una sessione di Live Coding.
Kotlin non e' solo Android! Tramite Kotlin e' possibile sviluppare su qualsiasi piattaforma che abbia una JVM e non solo!
Durante questo talk scopriremo alcune delle features che rendono Kotlin un linguaggio molto amato dagli sviluppatori e che che lo rendono un degno rivale di Java.
Have you ever thought about the amount of code, material and support you received from the open source community? A lot of open source projects helps us in our daily work and it would be really hard to live without.
Have you though about contributing to the open source community?
Open source is not just pushing code on Github. Everyone of us can provide his contribution and help someone else. If you haven't done it yet, now it's really time to start giving back to the community.
In this talk I'm going to share my experience in the mobile open source community.
Ti sei mai fermato un attimo a pensare alla quantità di materiale, supporto, librerie e codice che hai ricevuto dalla comunità open-source? Molti di questi progetti sono alla base del nostro lavoro/studio quotidiano.
Hai mai pensato di contribuire al mondo open-source?
Fare open source non significa solamente pubblicare codice su Github. Ognuno di noi può da un contributo che può aiutare qualcun altro. Se ancora non hai iniziato, é giunto il momento di rendere il favore alla comunità open-source.
In questo talk condividerò la mia esperienza nel mondo dell'open source e come ha contribuito a cambiare la mia vita.
Do you exactly know what's your app doing when you deliver it to your users? Are you 100% sure? Would you bet on this? You're probably confident with the code you wrote and you know what is doing.
But what about the code that others wrote?
We pull dependencies from the online repositories every day. Our applications strongly rely on external libraries that are hosted on public Maven repositories. What if one of those library contains some malicious code? Imagine a library that starts harvesting your user data without you knowing it.
In this talk we will see how to monitor and protect your application from malicious dependency on the web that might end up in your final compiled App.
What's the first thing you should do when starting a new project...? Setup a good CI system!
With Github Actions you can do it in a couple of seconds. You can easily setup a workflow to build your project, test it on different machines, and deploy the results.
In this talk we're going to see how you can setup a simple Github Action for your repository and start enjoying it right after.
Quale é la prima cosa che dovresti fare dopo che hai creato un nuovo progetto...? Configurare un sistema di Continuous Integration (CI)!
Con Github Actions puoi farlo in una manciata di secondi. Puoi facilmente creare un workflow per compilare il tuo progetto, testarlo su svariate macchine e pubblicare il risultato.
In questo talk vedremo come é semplice configurare una Github Action per il tuo repository e iniziare ad utilizzarla da subito.