Here is my new article on one of my favourite features released in @intellijidea 2024.3.
The Redesigned Structure tool window helps in understanding and exploring the codebase.
A quick peak at a #SpringBoot application using Structure tool window.
But then comes a revolutionary new feature to Kotlin - compiler plugins, and one thing it allows is defining types based on file analysis. So when you reference a CSV in your project, some plugin can analyze it and generate type appropriately.
An animated SegmentedControl component implemented in Compose using:
- Modifier.animateBounds(), new in 1.8.0-alpha01!
- LookaheadScope
- Custom Layout
Code: https://t.co/eEU1e4WrrF
La vida de Renato Tapia se complica aún más: anuncia su separación
⚽ El jugador del Celta comunica el final de su relación con Andrea Cordero mientras siguen sin despejarse las dudas sobre su futuro futbolístico
🔗 https://t.co/ElU5s1npHg
https://t.co/ElU5s1npHg
The feature all Android developers were waiting for is finally ready! Explicit Backing Fields are available in Kotlin 2.0. You can have different types for private and public usage.
To enable it, you need Kotlin 2.0 and a special flag in your Gradle configuration.
Yup, LookaheadLayout is a new concept that we've been building. I can barely contain my excitement about the possibilities it opens up, shared element, auto-resizing, and more! 🤩🥰 Should be ready to release soon.
Spoiler: LookaheadLayout + movableContentOf = 🤯
Sneak peek: 👇
Property observers like willSet and didSet aren't triggered during initialization in Swift. I wrote a post about some workarounds we can use if we do need to execute logic from property observers before we return from the initializer: https://t.co/mgeD6xmAUE
Staff Android Engineer, @manuelvicnt , aims to summarise the #AndroidDeveloper guidance on the UI Layer in this article series.
Find out all the entities involved, understand the role each part plays, and discover best practices!
Check out part 1 ✨
https://t.co/LMRoemjuUu
Just published part 1 of **BasicTextField2: A TextField of Dreams**, on the new TextField API 🥰🚧🏗️
https://t.co/yNC9p30BLv
Enjoyyyyyy 📕📗📘
Second part coming soon :)
#androiddev#jetpackCompose
Compose Tips:
In Jetpack Compose, the Compose compiler defaults to treating an interface as unstable because Compose lacks information on its potential implementations.
For instance, when you create a Composable function containing a `List`, it's regarded as unstable since the `List` interface is inherently unstable. This stems from the fact that `List` can be implemented in mutable ways, such as `MutableList` or `ArrayList`. To address this, consider using `kotlinx.collections.immutable` packages.
When you create an interface that needs to be applied with the smart recomposition, you should explicitly mark it with the `Stable` annotation. This annotation signals its stability to the Compose compiler.
If you want to learn more about the Compose stabilities and optimize your App performance, check out the article `6 Jetpack Compose Guidelines to Optimize Your App Performance`.
🔗: https://t.co/Jw3E5M7HIQ
Pull to Refresh is finally coming in the Material 3 library!
I've heard that some developers out there are not using the M3 library because this was missing.
Are you using Compose M3 already? If not, will you use it once the it is released?
Progressive Rendering in Compose Preview released with the goal of making previews more performant. Decreasing render quality saves on memory used and improves the usability of Preview.
Give it a try → https://t.co/SjmBNnUz8J