Sebastiano Poggi
UX Engineer at Google working on Android Developer UX
Vicenza, Italy
Actions
Emerging from the foggy plains of northern Italy 🇮🇹 after working at a smartwatch startup, Sebastiano moved with his curls to London 🇬🇧 💂 to do great things at AKQA and then Novoda. After a few years at JetBrains, he's now joined Google and is in Italy once again 🇮🇹. He really wishes he had more time to write technical articles on his blog, but he's live coding on Twitch in the meantime on https://codewiththeitalians.it
Links
Area of Expertise
Topics
Meet Jewel: create IDE plugins in Compose 🤌
Jetpack Compose is the declarative UI toolkit for Android that makes it easy to create beautiful, responsive apps. However, until recently, there was no easy way to use Compose to create IDE plugins without too many compromises. Jewel is a new library that solves this problem by providing a set of tools and components that make it easy to create Compose for Desktop-based plugins for Android Studio and IntelliJ IDEA.
In this talk, we will introduce Jewel and show you how to use it to create your own IDE plugins. The session will cover the following topics:
* Why Compose makes a huge difference in IDE plugin development
* How to set up Compose in your IDE plugin project
* What's Jewel, a library implementing the IntelliJ themes and a composables
* What are the tradeoffs in using Compose and Jewel
* Case studies of existing implementations
* What's the future for Jewel and Compose as a plugin UI framework
This talk is intended for Android developers who are familiar with Compose but have never created an IDE plugin because they don't wanna learn Swing. By the end of this talk, you will have a good understanding of how to use Jewel to create your own Compose-based IDE plugins.
Modern Mobile Development: Native vs Cross-Platform
A question every mobile app project has to ponder is: do we want to go native, or do we want to use a cross-platform framework? And if we go the cross-platform route, which framework better suits our needs?
The choice is never easy, and requires a holistic understanding of the project’s needs, and the specific strengths and weaknesses of each approach. No two products are alike, no two companies are alike, and as such, there is no absolutely right answer. On the other hand, there are potentially many “wrong” answers that we need to identify. So, how to choose? As the common refrain in software engineering goes, “it depends”.
This session aims to give you the knowledge and tools necessary to make the best possible choice for your product, not just from a technical point of view, but also considering the impacts on the teams and the company. By covering some of the history of cross-platform frameworks, and identifying the unique pros and cons of each potential approach, we’ll reach a better understanding of the question itself, and get ready to make one of the most impactful choices for your product.
What about a desktop app?
As Android devs, folks generally don’t do desktop development. They might do some scripting, but as soon as you need a user interface and want to use Kotlin in your desktop app, things get quite desperate. Swing is an old tech that’s impervious to newcomers and full of gotchas; JavaFx and TornadoFX aren’t much better; and using frameworks like Qt from Kotlin is going to take a toll on your mental wellbeing.
Or at least, this used to be the case!
We’ll see how, with Compose for Desktop, you can take much of your existing UI skill set from Jetpack Compose and apply it to create tools that run on desktop computers. There are some gotchas and some differences to be aware of, and this talk will cover them pointing out what is and isn’t there yet in Compose for Desktop.
Practical Advanced Kotlin in Practice
Getting started with Kotlin is as easy as saying “I want lambdas”, sure — but that’s only scratching the surface of the brave new world that adopting Kotlin will open up for Java and Android developers. In this workshop we’ll look at a number of language features and tips to make the most of the Kotlin Programming Language™ in our day-to-day work.We’ll touch on several topics, including property delegates, threading and coroutines, callbacks vs function references, sealed classes, member and extension functions, default parameters, typealiases, data classes and destructuring. For each of them, we’ll go over a series of dos and don’ts and best practices making sure you get the most out of Kotlin.
Note for attendees:
Make sure you have a laptop computer with an up-to-date version of IntelliJ IDEA or Android Studio, with an up-to-date Kotlin plugin, and ideally the latest version of Kotlin and Gradle already in your local caches. We all know how conference Wi-Fi is :)
Let the IDE do that for you
Android developers are very lucky: there is a world-class IDE, Android Studio, that we can use to write our apps. Compared to what's available on other platforms, we're absolutely spoiled. And yet, most folks only scratch the surface of what the IDE can do for us. There's a gazillion features, plugins, and tricks that make life much easier, just waiting to be discovered.
With our faithful companion, the Find Action tool, we'll explore what lies beneath the surface and learn many cool tricks in this live-coded session (what could possibly go wrong?) to save time and avoid repetitive tasks, improve pairing, and our code. You'll walk away with a bag of tips to improve your productivity and with the mindset to exploit all the features of IntelliJ-based IDEs such as Android Studio.
Compose beyond Material
Jetpack Compose is here to stay, and most teams will adopt it sooner or later. Creating Material UI with Compose is straightforward thanks to the generous amount of ready to use Material composables that the team at Google provided, what if your company has their own design system?
This session will cover the Compose blocks, explaining what you can reuse and what you’ll need to create from scratch, and show you an example of how to get started creating your own composables for your own design language, without having to reinvent the wheel.
App Clinic
A bunch of Android experts will come on stage, discovering a few applications in live, they will provide feedback and advices to the developers.
Propose your application for the review by sending the Play Store link or the APK to app.clinic@androidmakers.fr
droidcon San Francisco 2022 Sessionize Event
QCon Plus May 2022
Modern Mobile Development: Native vs Cross-Platform — https://plus-archive.qconferences.com/plus2022/presentation/modern-mobile-development-native-vs-cross-platform
Android Makers 2022
1. App Clinic — https://www.youtube.com/watch?v=Zwp2gsA1xic
2. Let the IDE do that for you — https://www.youtube.com/watch?v=mE2wL9yDqLc
3. Practical Advanced Kotlin in Practice [workshop]
4. Office hours: Kotlin in practice
QCon London 2022
Sessions:
1. Modern Mobile Development: Native vs Cross-Platform — https://qconlondon.com/london2022/presentation/modern-mobile-development-native-cross-platform
2. Panel: Cyclic Trends in Frontends - Is Server-Side Rendering Back? — https://qconlondon.com/london2022/presentation/cyclic-trends-frontends-server-side-rendering-back
droidcon London 2021 Sessionize Event
TIME TO LEVEL UP - SOFT SKILLS SUMMIT Sessionize Event
droidcon Italy Sessionize Event
droidcon EMEA 2020 Sessionize Event
droidcon Italy webinar
Ktor to your heart’s content: easy mobile backends in Kotlin — https://www.youtube.com/watch?v=p8RA-3t0jGA
Android Makers Paris 2020 Sessionize Event
Kotlin/Everywhere Stockholm
Practical Advanced Kotlin in Practice [Workshop]
https://speakerdeck.com/rock3r/practical-advanced-kotlin-in-practice
DevFest Levante 2019
Practical Advanced Kotlin in Practice [Workshop]
Getting started with Kotlin is as easy as saying “I want lambdas”, sure — but that’s only scratching the surface of the brave new world that adopting Kotlin will open up for Java and Android developers. In this workshop we’ll look at a number of language features and tips to make the most of the Kotlin Programming Language™ in our day-to-day work.We’ll touch on several topics, including property delegates, threading and coroutines, callbacks vs function references, sealed classes, member and extension functions, default parameters, typealiases, data classes and destructuring. For each of them, we’ll go over a series of dos and don’ts and best practices making sure you get the most out of Kotlin.
https://speakerdeck.com/rock3r/practical-advanced-kotlin-in-practice
AppBuilders 2019
Computer Says No — Static Analysis and CI in a Kotlin World
https://speakerdeck.com/rock3r/computer-says-no-static-analysis-and-ci-in-a-kotlin-world-app-builders-2019
Android Makers Paris 2019
Uplift — Material shadows on Android
https://androidmakers.fr/schedule/2019-04-23?sessionId=REB-6912
Droidcon Italy 2019
Computer Says No — Static analysis and CI in a Kotlin world [1.0]
https://it.droidcon.com/2019/it/talks/415-computer-says-no-static-analysis-and-ci-in-a-kotlin-world
MCE 2018
It’s bigger on the inside: mind-bending scrolling in Flutter
https://speakerdeck.com/rock3r/bigger-on-the-inside-flutter-scrolling-explained
Android Makers Paris 2018
Portable Material: Flutter physical models 1.1
https://speakerdeck.com/rock3r/portable-material-flutter-physical-models-1-dot-1
Droidcon Turin 2018
Portable Material: Flutter physical models [1.0]
https://speakerdeck.com/rock3r/portable-material-flutter-physical-models
Droidcon Italy 2015
Two talks, including opening keynote
Droidcon Paris 2013
Sebastiano Poggi
UX Engineer at Google working on Android Developer UX
Vicenza, Italy
Links
Actions
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top