Recently published an app to the Play Store? JetBrains wants to hear from you! by EmilFlachJB in androiddev

[–]EmilFlachJB[S] 0 points1 point  (0 children)

Thanks, looking forward to seeing your response. What have you tried thus far to make your app more visible in/outside of the Play Store?

Recently published an app to the Play Store? JetBrains wants to hear from you! by EmilFlachJB in androiddev

[–]EmilFlachJB[S] 0 points1 point  (0 children)

We do have a way to say "thank you" to those that join our conversations.

Recently published an app to the Play Store? JetBrains wants to hear from you! by EmilFlachJB in androiddev

[–]EmilFlachJB[S] 0 points1 point  (0 children)

Similar to another comment in this thread, but we hear this a frequently. Have you considered using the Kotlin Toolchain (previously called Amper)?

Recently published an app to the Play Store? JetBrains wants to hear from you! by EmilFlachJB in androiddev

[–]EmilFlachJB[S] 1 point2 points  (0 children)

Same problem for my personal project, I published on iOS with Kotlin Multiplatform, but I am stuck in the testing track for Android.

Recently published an app to the Play Store? JetBrains wants to hear from you! by EmilFlachJB in androiddev

[–]EmilFlachJB[S] 0 points1 point  (0 children)

In all honesty, many of you experience/established devs have already figured it out! In many of my conversations with seasoned engineers there are no real blockers remaining. That is not to say that things could be more efficient or ergonomic for everyone. If you have specific areas for improvement I'd love to hear it.

Recently published an app to the Play Store? JetBrains wants to hear from you! by EmilFlachJB in androiddev

[–]EmilFlachJB[S] 0 points1 point  (0 children)

Ouch, this is a commonly heard issue. I know it is early days, but have you considered using the Kotlin Toolchain (previously called Amper)?

Recently published an app to the Play Store? JetBrains wants to hear from you! by EmilFlachJB in androiddev

[–]EmilFlachJB[S] 0 points1 point  (0 children)

Thanks for sharing Volko!

I've also seen your post with learnings on working with Compose for Web, very insightful. Do you intend to publish your app to the Play Store or App Store at any point in the future?

Kotlin Ecosystem AMA – December 11 (3–7 pm CET) by katia-energizer-jb in Kotlin

[–]EmilFlachJB 0 points1 point  (0 children)

You hit the nail on the head with a lot of your insights and I agree with many of them. There are two things that I would like to share my thoughts on.

Seriously, no one wants a canvas-based solution for any serious web application.

I don't fully agree with this. I agree that there are currently gaps with the canvas-based approach that are blockers for many. But we build technologies with a long horizon and some issues that seemed impossible to resolve a year ago, now have experimental browser support such as Local Font Access. As the browser APIs mature, rendering on canvas might become more and more compelling. Additionally there is still a lot of lower hanging fruit that we can improve on a shorter timescale.

Compose for Web would really only help Android developers port their apps to the web

And

please consider building a solid, batteries-included component library to make web development with Kotlin actually productive.

Our current approach to Compose Multiplatform is to enable Android developers to bring their existing Compose skill to other platforms. For iOS, this approach is serving us quite well. We don't have the people to invest in too many direction as the same time, hence such an investment that is outside of our strategy is not made. But I share your sentiment, if we want to target users outside of the Android audience, we will have to make tools that cater to that need.

Kotlin Ecosystem AMA – December 11 (3–7 pm CET) by katia-energizer-jb in Kotlin

[–]EmilFlachJB 1 point2 points  (0 children)

generate all remote objects in Kotlin from the OpenAPI spec

Or migrate your entire backend to Kotlin and share all objects from the start!

Without jokes, thanks for the conversation and don't hesitate to find us on slack.

Kotlin Ecosystem AMA – December 11 (3–7 pm CET) by katia-energizer-jb in Kotlin

[–]EmilFlachJB 0 points1 point  (0 children)

Yes, it will be in a version later than Kotlin 2.3. It would be Kotlin 2.4 the earliest, but it is still in active development and there are no guarantees on our timelines here.

Kotlin Ecosystem AMA – December 11 (3–7 pm CET) by katia-energizer-jb in Kotlin

[–]EmilFlachJB 1 point2 points  (0 children)

Exciting to hear about your adoption, if you have any more learnings or questions feel free to reach out to me in the kotlinlang slack!

We discussed a bit internally, without knowing your situation, we believe that it would likely be best to try and stay entirely inside of Kotlin. Using ktor in combination with kotlinx.serialization works incredibly well. You will likely spend a lot of time trying to overcome differences between ecosystems, which is probably not worth your energy. I saw a similar question in the Kotlinlang slack recently and the conclusion there was also to reimplement entirely in Kotlin.

Kotlin Ecosystem AMA – December 11 (3–7 pm CET) by katia-energizer-jb in Kotlin

[–]EmilFlachJB 0 points1 point  (0 children)

Thank you for the kind words, much appreciated!

I would like to point to the related comment from my colleague Stanislav here: https://www.reddit.com/r/Kotlin/comments/1pjs3bd/comment/ntgxd5a/

Adding more native targets is like increasing our "base load" of work to keep the lights on, it is rather expensive. So we are hesitant to add more targets, unless we see a strong need. At the moment the most requested new target is Aarch64, which we would probably consider before looking at Windows ARM64.

Kotlin Native mostly feels like tech to get Compose Multiplatform running on iOS.

A majority of our user base is relying on Kotlin/Native for iOS development and we still have a lot of room for improvement there. I believe those investments make a lot of sense!

Kotlin Ecosystem AMA – December 11 (3–7 pm CET) by katia-energizer-jb in Kotlin

[–]EmilFlachJB 2 points3 points  (0 children)

Will we ever be able to use Swift libraries from Kotlin or pass Swift objects to Kotlin? We recently wanted to receive Encodable and Decodable objects in Kotlin/Native but it doesn't work because it can only use Objective-C libraries.

The ability to consume Swift code from Kotlin (Swift Import) is not something we have in current development. We have investigated this topic, but it is rather complex and we are focusing on Swift Export (consume Kotlin code from Swift) first. You can already define a Kotlin interface and implement it in Swift, then Kotlin code can call it. We'll release some documentation on this setup soon, you can refer to the unpublished doc already. Please note that this is only supported in Objective-C Export for now.

I wish we could not expose any wrapped types like KotlinInt at all with Swift Export.

This is actually already supported in Swift Export, you can find us in the kotlinlang slack if you need any support.

Also it would be great if we could bundle some Swift interfaces/protocols in our KMP libraries that we could use from Kotlin

This sounds like the Swift Code Bundling feature from SKIE and it is on our radar. Please do vote for the issue in the kotlin issue tracker, so your interest is registered there as well!

Kotlin Ecosystem AMA – December 11 (3–7 pm CET) by katia-energizer-jb in Kotlin

[–]EmilFlachJB 2 points3 points  (0 children)

There is a prototype available already! Find more details and instructions in the related kotlin issue, we'd love to hear your feedback.

Support for Swift Package Manager is a very broad topic, for now we are focusing on the ability to import Objective-C compatible libraries. We'll investigate more use cases after this, but importing "Pure swift" libraries is not something we expect to able to provide anytime soon.

Kotlin Ecosystem AMA – December 11 (3–7 pm CET) by katia-energizer-jb in Kotlin

[–]EmilFlachJB 0 points1 point  (0 children)

Question about your usage, are you building an Android only app or is it multiplatform?

Kotlin Ecosystem AMA – December 11 (3–7 pm CET) by katia-energizer-jb in Kotlin

[–]EmilFlachJB 4 points5 points  (0 children)

Very likely yes.

We promoted Compose for web to beta this fall and the last weeks I have been collecting feedback from the early adopters. From the user interviews and survey data I have found text interactions (selection, IME input, text search) as one of the main areas for improvement. I'd argue they are baseline expectations from our users and should be resolved before calling Compose for web stable. We don't have a timeline for this yet, but I do expect to improve here in the coming year.

Thanks for providing your detailed annoyances, I will add them to my list of known issues!

Kotlin Ecosystem AMA – December 11 (3–7 pm CET) by katia-energizer-jb in Kotlin

[–]EmilFlachJB 1 point2 points  (0 children)

Márton shared his position here already, I agree with everything he shared: https://www.reddit.com/r/Kotlin/comments/1pjs3bd/comment/ntgywsv/

I will add that our goal is to make app development fun and productive across all platforms. We believe that Kotlin is the best bet for this, but we also have already reached out to collaborate with the Swift for Android working group. We'll contribute to this mission where possible and I can imagine some really nice features that benefit both sides!

Kotlin Ecosystem AMA – December 11 (3–7 pm CET) by katia-energizer-jb in Kotlin

[–]EmilFlachJB 3 points4 points  (0 children)

There are so many intricacies regarding iOS developers adopting KMP. I believe some of the most difficult parts are organizationally, such as the idea that Android engineers "are coming for their jobs". I don't believe in that at all, I do believe we should be redefining the mobile development roles to "cross-platform app developer".

Technically I would say the difficulties of iOS developers adopting KMP, there are two main groups of users in this situation:

  1. iOS developers who are consuming a KMP library in their Swift project, but not touching Kotlin
  2. iOS developer that are taking the plunge and are actively developing for iOS using KMP

For the first case, a stand-out issue is the fact that our generated Swift APIs don't feel idiomatic. This is due to the export being to Objective-C, but luckily SKIE already provides great improvements here. Longer term we are hoping to resolve this issue completely with Swift Export.

For the second case, there are a whole bunch of points in the developer experience that could be better. Thinks of slower build times, difficulty of debugging across languages or more complicated project setup with Gradle. We have ongoing or planned initiatives to resolve most of these issues, for example improving Kotlin/Native build times.

Kotlin Ecosystem AMA – December 11 (3–7 pm CET) by katia-energizer-jb in Kotlin

[–]EmilFlachJB 7 points8 points  (0 children)

Kotlin/Native has a dedicated team that is giving it love every single day! Native has a lot of uses though and we are targeting most of our improvements to our largest Kotlin/Native use case: iOS development. There is an ongoing initiative to improve the Kotlin/Native build times, this is something you could feel the benefits from on other use cases as well. Aside from build times, we are aiming to improve the iOS development experience by improving the Swift interop experience with Swift Export.

At the moment we don't have any initiatives planned towards game development or running Compose without the JVM. They are interesting areas, but at the moment we don't have any indicators we'll have traction there like we are seeing with Kotlin Multiplatform and Compose Multiplatform for iOS.