https://kotlinlang.org logo
Join Slack
Powered by
# appyx
  • z

    Zsolt

    07/23/2023, 11:35 AM
    The 2.0 migration guide has been updated: https://bumble-tech.github.io/appyx/2.x/migrationguide/
    🔥 3
  • z

    Zsolt

    07/27/2023, 9:19 PM
    Worth mentioning: https://github.com/bumble-tech/appyx/pull/538 by @Andrei Kovalev added a way to observe animated properties further down in the composition. An interactive demo can be found at the bottom of this page, where position and rotation values are displayed: https://bumble-tech.github.io/appyx/interactions/uirepresentation/#observing-motionproperty-in-children-ui In real life you will probably not display the values directly but use them for custom conditions. In the attached (very barebone) video example I’m reading the rotation value to decide whether to show a “front” or a “back” side, i.e. different composables. I’ll create a nicer example later.
    rotate-front-back.mp4
    🤩 3
    👏 1
  • z

    Zsolt

    08/01/2023, 2:20 PM
    Appyx 2.0 transitions + gestures + multiplatform use-cases at Droidcon Berlin: https://www.droidcon.com/2023/07/31/gesture-driven-multiplatform-transitions-with-appyx/
    👀 2
  • d

    Devesh Shetty

    08/07/2023, 7:25 PM
    👋 Hey team, I'm looking into alternatives to compose navigation. The samples look great visually. Just watched this talk - https://www.droidcon.com/2022/11/15/model-driven-navigation-with-appyx-from-zero-to-hero/ QQ: 1. I rely on
    savedStateHandle
    to retrieve data within a ViewModel. What is the appyx way to do it? 2. How do I scope VMs to a certain node path?
    z
    • 2
    • 3
  • z

    Zsolt

    08/09/2023, 5:26 PM
    #557 added a massive documentation update to Appyx Navigation. You can check the PR for a list of changes, and can see it live here: https://bumble-tech.github.io/appyx/navigation/
    👍 3
    🙌 3
    🤩 4
  • k

    Kyle

    08/13/2023, 10:14 PM
    If I have a bunch of nested nodes, to track the backstack do I need to store all of the InteractionTargets of all nested child nodes in the root node? or if I instantiate a different BackStack for each ParentNode, does the backstack object keep track of the whole stack in the BuildContext?
    a
    z
    • 3
    • 7
  • z

    Zsolt

    08/18/2023, 9:12 AM
    With the release of https://github.com/bumble-tech/appyx/releases/tag/2.0.0-alpha03 yesterday, Appyx Navigation is now multiplatform too! Big thanks to @Jez whose work made it possible. Some additional info in the docs: https://bumble-tech.github.io/appyx/navigation/multiplatform/ Also updated: • https://bumble-tech.github.io/appyx/releases/downloads/ • https://bumble-tech.github.io/appyx/navigation/quick-start/
    👍 2
  • z

    Zsolt

    08/18/2023, 9:15 AM
    As a follow-up, we’ll improve our multiplatform sample apps to provide some great examples of Appyx’s capabilities in navigation and transitions. Meanwhile you can check out the sandbox app with different Appyx component visualisations: •
    :demos:appyx-navigation:android
    •
    :demos:appyx-navigation:desktop
    •
    :demos:appyx-navigation:web
    iOS is also on the way.
  • k

    Kyle

    08/27/2023, 12:57 AM
    Is it possible to track multiple backstacks? Scenario: I have a bottom bar with 4 links. I go to link A, click through a bunch of nodes, then click link B. If I click link A again, I want to go back to the last node I was on. Same for the last node of link B.
    z
    j
    • 3
    • 3
  • p

    Priyanshu Jain

    09/03/2023, 5:13 AM
    Is there any estimate on how long will it take to add Compose Multiplatform for iOS support? I did not see any information regarding that in the docs.
    a
    z
    • 3
    • 3
  • p

    pepos

    09/09/2023, 3:05 AM
    Hey Appyx team great work on this amazing navigation library and thank you for sharing!
  • p

    pepos

    09/09/2023, 3:07 AM
    We have seen a difference in the behavior with the interaction with parent views while a child is attached. Our use case in our app is: We show a Google Maps on the background the whole time and we have our own UI on top of it. Users can interact with our UI and also with the map on the background. With 1.3.0 this was the behavior by default but bumping to 2.0.0-alpha04 we see the parent view stops getting any interaction (see video attached).
    hola.mp4
    a
    z
    • 3
    • 17
  • m

    Marc

    09/15/2023, 9:19 AM
    Hey! I am looking for a somewhat realistic example on how to structure an app with scopes etc. Is there any resource you could point me to? Thanks!
    a
    z
    • 3
    • 11
  • z

    Zsolt

    09/15/2023, 4:54 PM
    This week we released Appyx 2.0.0-alpha05 with a whole bunch of important fixes for animations & desktop: https://bumble-tech.github.io/appyx/releases/changelog/#200-alpha05… Coming soon: Appyx Navigation for iOS, Material design components support, and more!
    🎉 6
    🔥 2
  • k

    Kyle

    09/29/2023, 7:20 PM
    has anyone tried using appyx with kotlin-inject for DI yet?
  • k

    kluck

    10/11/2023, 9:23 AM
    Hello! I'm looking to use appyx Spotlight as a "classic" viewPager, like so (3 pages visible in the bottom bar): Inside my parent node's
    override fun View(...)
    , I have my bottom bar pager as a sibling to my
    AppyxComponent()
    holding the 3 nodes. On my buttons
    onClick
    , I use
    spotlight.activate(index)
    which works perfectly to load the corresponding node. What I have trouble with, is when I'm using a simple
    SpotlightSlider.Gestures(...)
    , the nodes are correctly changed, but I don't get how I can update my bottom bar index. I didn't find any examples in the 2.x branch. All I can see are buttons outside the spotlight for sending operations, but nothing about a "feedback". Any idea how I'm supposed to do that? In the presentation https://www.droidcon.com/2023/07/31/gesture-driven-multiplatform-transitions-with-appyx/ , I can see something like that at 25:05, but couldn't find this example anywhere in the repository… Thanks!
    a
    • 2
    • 2
  • v

    Vlad

    10/12/2023, 3:37 PM
    Hi, all. Can somebody help to create minimum viable transition backstack for appyx v2?
    a
    z
    • 3
    • 10
  • k

    Kyle

    10/13/2023, 2:27 PM
    out of curiosity, is Bumble using v2 internally already?
    z
    • 2
    • 1
  • z

    Zsolt

    10/18/2023, 2:01 PM
    We’ve been working on a new navigation sample app – showcasing material3 navigation components, shared element transitions, gesture control, and more. More updates and source code will be published later, for now a quick teaser: https://x.com/ZsoltKocsi/status/1714636449255997699?s=20
    🎉 4
  • z

    Zsolt

    10/20/2023, 2:29 PM
    Appyx 2.0.0-alpha09 is out with Compose 1.5, Material nav helpers and more: • Changelog – 2.0.0-alpha09 • Material navigation usage iOS support was added in 2.0.0-alpha08 which is now much smoother with Compose 1.5 too.
    🚀 1
  • g

    Gael Marhic

    10/28/2023, 11:10 AM
    Hey there 👋
    👋 8
  • g

    Gael Marhic

    10/30/2023, 10:44 AM
    Hey Bumble folks 🙂 👋 I just downloaded the appyx repo, and I am having issues building and launching the demo apps on iOS (on Android everything is fine). I am a total noob with KMM. I am attaching the iOS config I created as well as the error message I get. Do you know what I may be doing wrong? Thanks! 🙏
    m
    a
    • 3
    • 8
  • r

    ryan.fonzi

    11/02/2023, 4:32 PM
    Hi! Is the ability to configure `Spotlight`'s backpress handler coming back at some point? I noticed it was lost in the transition from 1.x -> 2.x, along with some of the pre-made backpress strategies (
    GoToDefault
    ,
    GoToPrevious
    , etc.).
    z
    • 2
    • 4
  • l

    Lukas Anda

    11/13/2023, 1:50 PM
    Hey guys, are you also getting this exception when compiling for iOS from Android Studio?
    Copy code
    error: java.lang.IllegalStateException: no implementation for FUN MISSING_DECLARATION name:DerivedSetup visibility:public modality:FINAL <> () returnType:kotlin.Nothing
    in com.bumble.appyx.navigation.node.Node
    As for my configuration, I used the latest output from Compose Multiplatform Wizard, which uses Kotlin 1.9.10 and Compose 1.5.1, appyx version is 2.0.0-alpha09 @Zsolt
    m
    z
    +2
    • 5
    • 26
  • b

    Bobby Hargett

    12/27/2023, 3:04 PM
    How would I handle this with appyx? I have a ParentNode that has a target of either Onboarding or Main Scaffold Then when I get to the main Scaffold each tab can then have a popup screen that would be within the scaffold Then I want a Bottom Sheet that could appear over the scaffold. Would I need a ParentNode in the content section of the scaffold And then another to represent the Bottom sheet. How would I keep the bottom sheet from completely removing the scaffold since it could be peeking
    a
    • 2
    • 2
  • o

    Ondrej Stanek

    01/05/2024, 3:26 PM
    HI everyone, I have a question. How do you handle async data loading in Appyx? I have a ClassroomNode which uses backstack which contains a LessonNode which uses the spotlight and gets id as a param and based on that id I want to load spotlight model from database. I could not really figure it out from the Cake example. (I would like to call a suspend function inside resolve)
    Copy code
    class ClassroomNode(
        buildContext: BuildContext,
        private val backStack: BackStack<ClassroomNavTarget> = BackStack(
            model = BackStackModel(
                initialTarget = ClassroomNavTarget.Classroom,
                savedStateMap = buildContext.savedStateMap,
            ),
            visualisation = { BackStackFader(it) }
        )
    ) : ParentNode<ClassroomNavTarget>(
        buildContext = buildContext,
        appyxComponent = backStack
    ) {
    ...
        override fun resolve(interactionTarget: ClassroomNavTarget, buildContext: BuildContext): Node =
            when (interactionTarget) {
    ...
                is ClassroomNavTarget.Lesson ->
                    // I feel like I need to pass the spotlight model here
                    // something like pseudo code below
                    // val lessonCards = classroomRepository.getLessonCards(interactionTarget.id) // but it is async
                    // val spotlight = Spotlight(model = SpotlightModel(initialItems = lessonCards))
                    // LessonNode(buildContext, popBackStack = { backStack.pop() }, spotlight)
                    LessonNode(buildContext, popBackStack = { backStack.pop() })
    ...
            }
    }
    Copy code
    class LessonNode(
        buildContext: BuildContext,
        private val popBackStack: () -> Unit,
        private val spotlight: Spotlight<StudyCards> = Spotlight(
            model = SpotlightModel(
                items = initialItems,
                savedStateMap = null
            ),
            visualisation = { SpotlightStack3D(it) },
            gestureFactory = {
                SpotlightSlider.Gestures(
                    transitionBounds = it,
                    orientation = Orientation.Vertical,
                    reverseOrientation = true,
                )
            },
        )
    ) : ParentNode<StudyCards>(
        buildContext = buildContext,
        appyxComponent = spotlight
    ) {
    z
    • 2
    • 5
  • z

    Zsolt

    01/25/2024, 11:08 AM
    Hey all, we’re happy to announce that 2.0.0-alpha10 is out now! 🎉 This is one of the last upcoming alpha releases before a stable 2.0.0, and as such, we’re focusing on resolving all of the api breaking changes we still wanted to do. To make adapting to these changes easier, you can find a dedicated migration guide at the top of the release. Most of the changes should be easy to fix by mass search and replace, and a good chunk of them probably won’t even affect you – these are sorted to the bottom of the document. Nonetheless, if you find any issues or having difficulty with the migration, let us know and we’ll be happy to help.
    🦜 2
  • u

    Utku Yildiz

    01/25/2024, 2:51 PM
    Hi, I’m kind of new with Appyx library, I was using the 1.x versions but 2.x has lots of changes. I started the update library and change some nodes but I need help with my issue. I have ‘BottomNavNode’, ‘HomeNode’ and ‘ProfileNode’. Only ‘BottomNavNode’ using spotlight, others are using backstack. My achievement is I want my home and profile node to be live while switching between nodes, but issue is when I switch taps between spotlight items, backstack nodes are rebuild the screens. This cause some issues like, state lose or animation lag. For example switching between screen using SpotlighSlider I can see black background of the node without no content draw. Btw beside this issue, why there is not singleTop for backstack anymore? I can see that on documentation but it is not in the new version of the backstack
    z
    • 2
    • 18
  • a

    amezcua

    06/26/2024, 7:56 AM
    Hi. I'm building a KMP project and I'm evaluating nav libraries and wanted to test Appyx. I cloned the project and checked out the 2.0.1 tag and I can run the Android `appyx-navigation`demo (demos/appyx-navigation in the project) but when I try to run the desktop app I only get this error:
    Copy code
    Error: Could not find or load main class com.bumble.appyx.demos.navigation.MainKt
    Caused by: java.lang.ClassNotFoundException: com.bumble.appyx.demos.navigation.MainKt
    I am comparing the config to the project I'm building, which was generated from the JetBrains template and runs fine in OSX desktop and I can not see significant differences except for the plugins section in Gradle, but I can't seem to configure it right for it to run. Does anyone have any hints on how to run the navigation sample as a desktop app?
    • 1
    • 1
  • m

    Mark Murphy

    11/21/2024, 5:59 PM
    I was considering using Appyx in a project, but I am somewhat confused about its status: • 2.0.0 and 2.0.1 were released in April 2024, with the last update to appyx-starter-kit (which uses 2.x) around the same time • 1.6.0-alpha01 was released in May 2024 • In July 2024 (I think), the "we're stopping 2.x" notice went up on the 2.x documentation • 1.5.1 was released three days ago • Compose Multiplatform support is only on the apparently-stopped 2.x releases (I think) • The 1.x changelog has not been updated since 1.3.0; the 2.x changelog is broken And I can't find any news anywhere else about the status of the project. Has there been anything posted that I have missed regarding the long-term plans for this project, especially with respect to Compose Multiplatform support? Thanks!
    ➕ 2
    a
    • 2
    • 3