https://kotlinlang.org logo
Join Slack
Powered by
# fun-adaptive
  • t

    Tóth István Zoltán

    07/18/2025, 11:44 AM
    I'm thinking about removing the textWrap and noTextWrap instructions completely. I'll give it a day or two to think about, but they are very browser specific, only cause trouble and I don't use them anyway.
  • l

    loke

    07/18/2025, 1:26 PM
    Build problems: I tried to do nothing other than adding the alias lines to the
    plugins
    section, to make it look like this:
    Copy code
    plugins {
        id 'org.jetbrains.kotlin.js'
        alias(libs.plugins.kotlinMultiplatform)
        alias(libs.plugins.adaptive)
    }
    This gave me the following error:
    Copy code
    FAILURE: Build failed with an exception.
    
    * Where:
    Build file '/home/elias/prog/array/client-adaptive/client-adaptive-js/build.gradle' line: 3
    
    * What went wrong:
    Could not compile build file '/home/elias/prog/array/client-adaptive/client-adaptive-js/build.gradle'.
    > startup failed:
      build file '/home/elias/prog/array/client-adaptive/client-adaptive-js/build.gradle': 3: only alias(libs.plugins.someAlias) plugin identifiers where `libs` is a valid version catalog
      
      For more information on the plugins {} block, please refer to <https://docs.gradle.org/8.11.1/userguide/plugins.html#sec:plugins_block> in the Gradle documentation.
      
       @ line 3, column 5.
             alias(libs.plugins.kotlinMultiplatform)
             ^
      
      build file '/home/elias/prog/array/client-adaptive/client-adaptive-js/build.gradle': 4: only alias(libs.plugins.someAlias) plugin identifiers where `libs` is a valid version catalog
      
      For more information on the plugins {} block, please refer to <https://docs.gradle.org/8.11.1/userguide/plugins.html#sec:plugins_block> in the Gradle documentation.
      
       @ line 4, column 5.
             alias(libs.plugins.adaptive)
             ^
      
      2 errors
    t
    • 2
    • 18
  • l

    loke

    07/18/2025, 1:26 PM
    I have no idea what any of this means. I have honestly tried to understand gradle, but even though I know plenty of languages, gradle is a constant mystery.
  • t

    Tóth István Zoltán

    07/22/2025, 10:07 AM
    Applied to the Library Grant. Selected to option not to receive any money as it is not my primary goal, but it would be nice to gain some visibility. We'll see, worst case the time I've spent filling out of the form was a waste. 😂
    👏 1
  • t

    Tóth István Zoltán

    07/22/2025, 10:11 AM
    Honestly, I don't think the project fills the requirements, especially the fast issue response time. 🙂 I'm the only one who opens issues anyway, so I don't really worry about that. 😉
  • r

    Robert Jaros

    07/22/2025, 10:57 AM
    Good luck!
    thank you color 1
  • l

    loke

    07/22/2025, 5:46 PM
    Did you manage to get any progress on EAP support?
    t
    • 2
    • 37
  • t

    Tóth István Zoltán

    07/23/2025, 5:14 PM
    Tried to upgrade datetime. That is a real fine mess.
  • j

    joseph_ivie

    07/23/2025, 6:04 PM
    kotlinx-datetime
    versions earlier than
    0.7.0
    used to provide
    kotlinx.datetime.Instant
    and
    kotlinx.datetime.Clock
    . The Kotlin standard library started including its own, identical
    kotlin.time.Instant
    and
    kotlin.time.Clock
    , as it became evident that
    Instant
    was also useful outside the datetime contexts.
    This one? Ugh... I didn't even know that was released.
  • t

    Tóth István Zoltán

    07/23/2025, 6:05 PM
    That's the one. Now I have to fix imports everywhere. :)
  • t

    Tóth István Zoltán

    07/23/2025, 6:06 PM
    Figured I'll try to compile Adaptive for WASM as Robert said it is faster. And that does not work with the old datetime apparently, so I had to update datetime as well.
  • r

    Robert Jaros

    07/23/2025, 6:28 PM
    There is datetime 0.7.1 with deprecated typealiases to make migration easier.
  • t

    Tóth István Zoltán

    07/23/2025, 6:29 PM
    Yes, I went to 0.7.1 directly.
  • r

    Robert Jaros

    07/23/2025, 6:30 PM
    I decided to replace my imports everywhere but had to add
    optIn.add("kotlin.time.ExperimentalTime")
    for the project and in my Gradle plugin configuration.
    t
    • 2
    • 1
  • t

    Tóth István Zoltán

    07/25/2025, 5:58 AM
    @Robert Jaros You've mentioned yesterday in the long #C3PQML5NU thread that multi-platform UI frameworks targeting mobile and desktop as well as browser cannot use all the features of the browsers. While fundamentally true, I think it the actual difference between single and multi-platform frameworks is actually quite small, depending on the framework, of course. For example, in Adaptive you are free to use any browser function while still inside the reactive framework: you can mix platform-dependent and platform-independent fragments. This is perfectly possible, actually, most of the basic fragments (column, text, primitive inputs) and some of the more complex ones (like grid, paragraph) are implemented this way. I could also add the possibility to use CSS classes very easily by adding a simple instruction that applies the class to the browser HTML element. Like 10 minutes of work I think. I don't know how Compose approaches this, but with the canvas based WASM I guess this level of integration is not possible. (I'm not trying to convince you, just thinking out loud. 🙂)
  • t

    Tóth István Zoltán

    07/25/2025, 6:00 AM
    Hm, perhaps I should add the UI structure documentation to the web site, so I can link it.
  • r

    Robert Jaros

    07/25/2025, 8:23 AM
    I don't say it can't be done. Perhaps it can 🙂 I just haven't seen a proof of concept yet 🙂
  • r

    Robert Jaros

    07/25/2025, 8:55 AM
    It's just my humble opinion, but some example apps will definitely help making a UI framework "ready for web" - a fully compatible TodoMVC app, Realworld.io app, a Tailwind example with working build process, an app with some complex JS components (for table, select, richtext etc.), an animations example (CSS or JS based). Maybe it's just me, but I always check the examples first, if they are available for a library or framework.
  • t

    Tóth István Zoltán

    07/25/2025, 10:21 AM
    I agree, those are the usual components you would expect to have from any production ready framework. Unfortunatelly Kotlin web is not in a good position in this if you do not use JS libraries. I do already have some of those and plan to implement the others as well, but that will take months.
  • t

    Tóth István Zoltán

    07/25/2025, 10:24 AM
    Actually, Adaptive is already a proof-of-concept, for example, it has grid layout which is implemented 100% Kotlin, no browser grid involved.
  • t

    Tóth István Zoltán

    07/25/2025, 10:27 AM
    Basic animation works as well: https://adaptive.fun/documentation/lib-ui/guides/Canvas
  • l

    loke

    07/25/2025, 5:15 PM
    @Tóth István Zoltán as I'm adding the adaptive framework to my build files, when running the gradle build for my project, it hangs a wile with a message that sayd something like
    retrieving somethingsomething.xml
    do you know what it is doing at this time?
    t
    • 2
    • 7
  • t

    Tóth István Zoltán

    07/30/2025, 1:28 PM
    I started to work on lists/tables. As a first step I will implement a cell definition based responsive item layout. If you have a few minutes, please check this idea: https://github.com/spxbhuhb/adaptive/blob/e878660425f0500753880d3fd522d0f8f2f13c79/core/core-ui/doc/guides/layout/Cell%20box.md
  • r

    Robert Jaros

    07/30/2025, 1:32 PM
    You should consider possibility to also just hide cells/columns with some marker similar to priority
    thank you color 1
  • t

    Tóth István Zoltán

    07/30/2025, 1:33 PM
    Yes, I plan that on other level, this is purely for calculating the layout.
  • t

    Tóth István Zoltán

    07/30/2025, 1:34 PM
    Oh, wait! Hide based on the available space. Good idea, thanks.
  • r

    Robert Jaros

    07/30/2025, 1:35 PM
    I mean hide instead of grouping if there is no available space.
  • t

    Tóth István Zoltán

    07/30/2025, 1:36 PM
    Yes, I figured out at last. 😄 Worth asking already.
  • r

    Robert Jaros

    07/30/2025, 1:38 PM
    Check also this example: https://tabulator.info/examples/6.3#responsive-layout-collapse
    thank you color 1
  • t

    Tóth István Zoltán

    07/30/2025, 2:07 PM
    I am so-very tempted by this mobile award. 🙂 I already have plans / PoC for mobile and the deadline is 09.30, so it doesn't seem impossible. Not sure if I want to put the pressure on myself, but ... diamonds 😉