Open gdude2002 opened 1 year ago
Kord got JavaScript support in 0.9.0 and Kotlin Native support doesn't look far away - https://github.com/kordlib/kord/issues/69#issuecomment-1496680274
Kord got JavaScript support in 0.9.0 and Kotlin Native support doesn't look far away - kordlib/kord#69 (comment)
Kord always was the least important blocker. Currently biggest blocker is probably icu
For those keeping an eye on this issue over a year later - porting ICU4J to a Kotlin MPP project for all platforms is the major blocker at the moment. I think we can probably rewrite or find alternatives for most Java-based libraries otherwise, but an ICU4J port would be massive, will require accessing a ton of resources, and will need to be kept closely in-line with official releases.
It's a lot of work, and I don't see me managing to actually find the spoons for it - so I'm marking this issue as Help Wanted.
Maybe a list of features of ICU4J that are actually used by kordex would be helpful
We've talked about this already - ICU4J is an exposed API for KordEx, and we don't know what consumers will need.
We've talked about this already - ICU4J is an exposed API for KordEx, and we don't know what consumers will need.
That doesn't matter, if we typealias to ICU4j on JVM, then users can still use all the features of ICU4J on JVM projects and people running Kord on JS/Native likely will have simpler bots anyw, so blocking the progress just for feature
ICU doesn't even exist on JS, there is a native ICU4C tho at least, which helps for native, but if we have to do porting anyway..
ICU doesn't even exist on JS, there is a native ICU4C tho at least, which helps for native, but if we have to do porting anyway..
There is no way that JS doesn't have ICU
Looks like there's no external library for it, whether you can use it depends on how your Node interpereter was compiled
Going back to the question which parts of ICU kordex actually uses, since kordex doesn't exist on js/native yet, I would not consider it as part of the API as the API doesn't exist yet
We're using a few parts of it internally
This already requires a good chunk of ICU's resource files
We're using a few parts of it internally
- Measure
- MeasureFormat
- MeasureUnit
- MessageFormat
- ULocale
Those should not be too hard to replace, I will try and see how doable this is without changing the JVM API surface and will let you know
Having chatted with @DRSchlaubi a bit about MPP, I figured I should chat about what needs doing for KordEx MPP, outside of waiting for Kord.
There aren't tons of things, surprisingly:
This won't happen for quite some time, but it's definitely worth thinking about.