No matter how far...
youtube.com/watch?v=aScK...
The official Android docs on test doubles are quite needed today. Please write fakes π , avoid mocks as possible. Assert output state, not behavior. Think of a program or a logical part of it as: input->output https://developer.android.com/training/testing/fundamentals/test-doubles
The official Android docs on test doubles are quite needed today.
Please write fakes π , avoid mocks as possible. Assert output state, not behavior. Think of a program or a logical part of it as: input->output
https://developer.android.com/training/testing/fundamentals/test-doubles
SG Android folks! Planning a small gathering tomorrow at Lau Pa Sat at 18.30; drop by!
Today, we've released a brand new Jetpack library - Navigation3! A pure Compose, state based navigation library: android-developers.googleblog.com/2025/05/anno...
ππ½ hello hello
Tame R8! Shrink your APKs, cloak your code, and conquer obfuscation headaches. Your ultimate guide to Android minification and obfuscation: bidyut.medium.com/that-shrinki...
Got burned by that too. Had to switch everything over to Cocoapods and in the process lost NSExceptionKt since that only works with SPM.
May be it is just me but, sometimes it all reads like an opportunity to manufacture code so that you can do all the maintenance work.... Which wouldn't exist otherwise at the beginning of newly written code
App Platform Launched
App Platform is a lightweight application framework for state and memory management suitable for Kotlin Multiplatform projects. I'm happy to announce that we open-sourced the project today!
amzn.github.io/app-platform/
If you are writing a library I recommend trying to go as old as possible. Most supporting libraries can still go back to 21 but it is starting to shift to 23.
If you are writing an app use what works for you. According to apilevels.com targetting 26 can easily get you to 95%+ devices.
With foldable screens becoming more mainstream, may be it is time for a Yota Fold where the outside screen is a color paper like display and the larger inside screen can remain high refresh stunning and vivid.
Hey, one can dream.
An expert is just a person that has invested lots of time on a subject. Donβt look at them as if they were better than you. You can learn anything you want, especially in this connected era. And this is not only about tech. Itβs actually an incredible opportunity.
No such thing as a silver bullet, agreed
I keep hoping one day Compose can be compiled to native instead of dex and then apps can skip JVM completely. I'd love to see Android Native thrive.
TIL SieveCache is a faster alternative to a LRU cache using the SIEVE algorithm
developer.android.com/reference/an...
#AndroidDev
Simplified MVC/MVP/MVVM for beginners! Found most explanations too complex, so I made a guide. Check it out: #AndroidDev #Mentoring
Also the generated framework has to be a direct decedent of the podspec parent; i.e. if the generated podspec uses ../ to get to the framework Cocoapods will not load it correctly. 5/
Additionally all the dependencies from the various modules have to be added to the umbrella KMP module.
The dependencies can actually be skipped in Podfile as the development podspec will correctly list the dependencies. 4/
If you are doing that you MUST include the KMP framework using a podspec. If you don't you get a warning and mostly works but when you deal with a dependencies coming from different modules the final build seems to be random.
Didn't do an RCA when Kotlin slack said it isn't officially supported. 3/
Using Cocoapods is the easiest way to add an iOS dependency specially if you need to access the framework from Kotlin.
However, currently this means everytime the IDE does a Gradle sync it builds those frameworks. Anyone knows how to stop that it would be awesome. 2/
Most of my free time last week was taken by dealing with a multiplatform multimodule project that occasionally succeeds in building the iOS app.
So far things I have learnt; a brain dump 1/
Composable functions must be as dumb as possible, like UI state renderers. Pass them only the state they need to render. Donβt inject dependencies on them, do that on ViewModels, resolve all the state before collecting. Make them easier to reuse, configure for previews, and to test.
Lately Iβve seen & suffered the consequences of teams not discussing out requirements that added too much complexity for very little value for the user.
The best engineers Iβve worked with always tried to avoid complexity not to build
π© on π© & that is way more important than being technically great
π Kotlin Multiplatform Tooling β Shifting Gears!
Weβre doubling down on KMP support in IntelliJ IDEA and Android Studio! As a result, weβre discontinuing KMP support in Fleet, but all the insights we've gained will fuel our future efforts. Get the details here:
blog.jetbrains.com/kotlin/2025/...
Thanks. Mine is blank dinner I don't regularly wear it to sleep
Which data is that?
Also get well soon!
This video on Honey is absolutely wild and worth a watch
I recently discovered @openvibe.social app that can connect to @bsky.app, #Mastodon and Threads. So now now I'm still watching it all
Wow. I see a lot of characters...
We log exceptions which are reported as Firebase non-fatal in production and throws otherwise