is `@Parcelize` still experimental?
# android
g
is
@Parcelize
still experimental?
g
Officially yes. But it's stable and used by many applications. Why do you asking?
p
Why is it experimental then? Anywhere we can track a list of issues or roadmap on whats blocking it from promoting to stable?
g
@andreya108 I-m getting a block at work against it because it's still experimental
g
It's experimental just because it was never promoted to stable ¯\_(ツ)_/¯ There are no major issues which I know and no roadmap As I heard there are plans to extract Parcelize from android-extensions Gradle plugin, maybe because of this @gsala Wrong mention 🙂 Are there any rational arguments in this block, or just because they scared by word "experimental"?
l
@gsala In Kotlin, experimental means the API could be changed in the future. But that never means there are bugs (bug are mistakes/issues that can strike regardless of any experimental status)
👍 2
g
Kotlin "experimental" is more stable than 90% libraries "stable"
7
😂 1
g
The change of API is the part we are worried about
m
The current implementation is all handled via annotation processing though, right? So an API change seems (likely) extremely minimal in terms of refactoring
l
@gsala If you're too worried in life (overall), you may miss a lot of opportunities. For more than a year, I've been using experimental coroutines, and I have zero regret about it, and will soon switch to 1.3 with stable version. I use Parcelize at times, and it's fine, and my code doesn't depend on it too much, I could still refactor in the future if needed, although I don't think they'll break it in a bad way.
p
Quite some bugs are open. Don't know, maybe those are irrelevant? How up-to-date bug status are in Kotlin jira, is it like google bug tracker where teams are not looking there or is it main backlog? https://youtrack.jetbrains.net/issues?q=project:%20Kotlin%20parcelable%20%23Open%20
l
@mikeseif Parcelize is a compiler plugin/extension, not annotation processor based like Parceler
m
Ah, good point, my mistake
l
@plastiv Nice idea to make a search on YouTrack (not Jira). This helps to have facts, and that way, @gsala will be able to make a thoughtful decision. Maybe Parcelize is great, maybe something else like Parceler is better. Depends on the use case, and blocking bugs, if any
p
Yes, exactly. That's why I mention from the beginning of the thread that i would be helpful to have roadmap and list of issues visible to evaluate its usage based on the current state. Unfortunately, people mostly just say "used by many apps, so must be stable" instead 😀 Which is fine as well
g
You can search for Kotlin bugs on the same issue tracker and find how many? 500, 1000, 2000 of them. Is that mean that Kotlin is not stable? Coroutines also are not experimental and have 100+ opened issues (bugs, enchancements etx) "Experimental" is mostly about backward compatibility and Parcelize API is very tiny. So "stable on my practice and practice of many other apps" is pretty good reason to consider as stable for production usage
👍 1
If any of existing issues is blocking for your project than yeah, better to avoid usage
I just wondering why "experimental" is the thing
r
Experimental but its still useable . Im sure when it becomes stable there will be a easy migration path. Just like there was for Coroutines
j
It'll be stable soon. I'm resuming working on it after Dev Summit
👍 5
🙌 3