📣 The Jetpack Compose and internals course is the materialization of all my explorations to write the Jetpack Compose internals book, and based on my experience so far working with it professionally.
🗓️ Next cohort starts in April 1st.
The course has around 8 weeks worth of content and teaches you Compose from scratch while you also master its internals. You can consume it at your own pace or follow the group registered to the same cohort.
It covers 👇
🌟 Architectural layering. Libraries involved in Compose, their purpose, how they work together
🌟 Composable functions in depth. Their properties. New language features enabled by Compose
🌟 Approaches to integrate in existing codebases
🌟 How Compose builds and updates the node tree
🌟 The Composition and the slot table
🌟 Working with Compose previews
🌟 User interaction
🌟 Lazy lists
🌟 The modifier system
🌟 Writing custom modifiers
🌟 The Modifier.Node api
🌟 Layout and draw modifiers in depth
🌟 Writing custom layouts
🌟 Writing custom lazy layouts
🌟 Composition, measuring and drawing phases
🌟 Writing custom measure policies
🌟 Intrinsic measuring
🌟 Subcomposition and SubcomposeLayout
🌟 LookaheadLayout
🌟 CompositionLocals, recommendations on when to use them.
🌟 Runtime support for any node types
🌟 Providing different node types, node types in Compose UI, working with multiple node types in the same tree via Subcomposition
🌟 The list of changes for the tree as a result of the composition and recomposition process
🌟 How and when changes are applied to the tree and finally visible on screen (materialized)
🌟 Appliers, how and when to create them when writing Compose client libraries
🌟 How and when Composition is created and provided to the runtime
🌟 Theming system, how to organize themes in real projects
🌟 Colors, how to organize them
🌟 Dark mode and dynamic theming
🌟 Typographies and shapes
🌟 Extending material themes
🌟 Creating fully custom themes
🌟 Nested themes, overriding theme properties
🌟 Snapshots, how to work with them
🌟 The snapshot state system as a mechanism for state isolation and change propagation
🌟 Compose state in depth
🌟 Monitoring recompositions
🌟 UI state. How to model it and where to put it
🌟 Architecture tips around Jetpack Compose
🌟 State holders and working with ViewModels
🌟 Config changes and process death
🌟 Derived state
🌟 Observable state adapters for widely used 3rd party data types
🌟 The Composable lifecycle
🌟 Side effects in Compose, how to approach them safely. Lifecycle-aware effects
🌟 All the effect handlers. Detailed explanations on how and when to use each
🌟 Dealing with Android resources, how to organize them
🌟 Animations in depth
🌟 Navigation in Compose apps
🌟 Dependency injection in Compose apps
🌟 UI testing in Compose apps, screenshot testing
🌟 Semantic trees
...and more.
There is a limited number of seats available. Help with a retweet or a quote and you might win a FREE seat for this brand new edition 💯🚀
Find all the details in https://t.co/iOSuShOc5i
New tabs = new products.
The Product Hunt Chrome extension has been redesigned with utility and customization in mind. Plus, it looks siiiiick.
Get it here 👇
2022 was one for the books. Elon acquired the bird app, Adobe bought Figma, and AI took over the Internet.
But most importantly, you made Product Hunt better.
Here’s how your contributions helped define tomorrow’s best tech.
🚨 Introducing: #ProductHuntRewind2022
Hi friends! After 4+ years, my time at Lyft has unfortunately come to an end. If you or anyone you know is hiring iOS developers, an intro would be appreciated. 💛
Did you miss our (@anomisSi and me in spirit👻) Custom Layouts and Graphics talk at #AndroidDevSummit? 🙀
Want to learn the TL;DR of how we created JetLagged, a sample sleep tracker app? 😴
https://t.co/q7i4i2Sh7l
Just announced - first class tooling by @Google to convert Figma designs to Jetpack Compose code . The future of Android development is looking really bright 🤩
https://t.co/yDl8e2nm4Q
#AndroidDev#JetpackCompose
🚨 Introducing our new + improved mobile app!
🔎 Improved feed, search and discovery
🏃♂️ Follow your favorite products and companies
🗞️ Nerd out in the News tab
🔦 Browse easily in night mode
My team and I at @ProductHunt released a brand new app today for both iOS and Android. It’s been a blast writing something from scratch - and learning along the way. Learn more about the launch → https://t.co/kOpfysw2I7
Aight. Here’s my favorite 2 stories about Bill Russell.
Both stories reveal how much of a humble human being he is. And one blows my mind because it dismantles what we think about the evolution of sports.
A thread: