Meet Voyager: A Kotlin Compose Multiplatform Navigation Solution
ฝัง
- เผยแพร่เมื่อ 3 ก.ค. 2024
- In this video, we explore the basic use cases for a navigation system with the power and flexibility of the Voyager library for Kotlin Multiplatform / Compose Multiplatform. With the absence of an official navigation library, Voyager emerges as a robust and innovative alternative.
🔍 What We Cover:
- The gap in Compose Multiplatform
- Introduction to Voyager
- Comprehensive walkthrough of basic Voyager’s features and capabilities.
- Practical examples demonstrating Voyager’s integration into your projects.
🔗 Helpful Links:
- Voyager Library Documentation: voyager.adriel.cafe/
- Sample GitHub repository: github.com/YanneckReiss/compo...
- Compose Multiplatform Navigation Documentation: www.jetbrains.com/help/kotlin...
🙌 Follow me on:
Twitter: / yanneckreiss
Medium: / yanneck-reiss
Instagram: / yanneckreiss
📌 Timestamps:
00:00 - Intro
02:15 - Voyager Setup
02:55 - Basic Linear Navigation
06:00 - Transition Animations
06:21 - Nesting layouts
07:00 - Navigation Arguments
08:00 - Bottom Bar Tab Navigation
12:56 - Nested Navigation
14:10 - Outro
#Kotlin #KotlinMultiplatform #ComposeMultiplatform #VoyagerLibrary #MobileAppDevelopment #NavigationSolutions #DeveloperTutorial #Programming #TechGuide
🌟 Stay tuned for more insightful videos on the latest in mobile development technologies and best practices. Don’t forget to like and share!
Thank you for watching and happy coding! 🌟
I loved it! As someone who’s always in search of the best navigation solution, currently using Voyager and it’s the best one I’ve tried so far
So simple to use
Super Helpful!!!
This video was amazing thank you so much!
Helped alot! thanks! keep making more!
This is so amazing and simple
Great video. Thanks bro.
You are amazing! Thank you so much for the tutorial!
Thank you for watching 😊
Just Wow, amazing, its helped me a lot
Thank you very much 😊 I am happy my video was helpful for you
The content is amazing. Keep it up.
Thank you 😊
Very CoOL LibrarY WoW😊❤
Amazing...Please follow up with the Multi Module Navigation using Voyager
I will put it on my video idea list 🙂
I choosed the decompose that seperates the ui logic from buissness logic.
Hey Yanneck, thanks for your amazing videos about Compose Multiplatform 🙏🏾.
Currenty I start to learn building apps with compose. Will you bring more videos in the future?
Thank you for watching. I am glad you like them 😊 Yes I will, I already have some new video ideas but I am working full time as a software developer and therefore don't have that much time to release that often 😅
@@yanneckreiss I can understand 😅. Thanks anyway 🙏🏾
But How to handle BackStack in TabNavigation then ?
Love it!!! thanks! im working on a sample app using Compose Multiplatform. the only doubt i have is that the back navigation is not working on my iOS simulator... How can i go back?
Hello, nice tutorial! Was wondering if there is a way to change the navigation transition for a certain screen navigation or do i have to use the initially set transition across the app?
Hey have tried using deep links and voyager
How about if someone wants to send back args from Screen B to Screen A?
Hey, I am using one viewModel inside my Screen1 class and sharing that to Screen2 class
But when i am using navigator.push(Screen2(viewModel)) I am not able to get data from my viewModel's state class data but if i use Screen2(viewModel) instead i am getting viewModel's state class data
Is there anything i am missing while using Voyager with viewModel?
Good video. I have a question. compose-navigation library have a problem. That is when a conposable has WebView and navigate to another conposable and popbackstack, the WebView is disposed and recreated. How about Voyager?
please cover more videos on using this with the kotlin jvm desktop app..
Thanks for your comment 🙂 I am definitely planning to make videos about how to develop not only for mobile but also for web and desktop with compose multiplatform as well in the future
Let say i have 2 tabs, Home and Profile. When I'm on Profile screen and press back btn, the expectation is to be redirected back to Home. But currently the output is it's closing the app, instead of navigating to previous screen. Any solution for this?
Is it possible to share the same view model between two screens and how do you get the same instance (spolier alert still new to this). Use case I have some data in screen a that is a large data set and I dont want to pass it as an argument . Is this correct ?
what if i want some screens not to have bottombar ??
backpress is not working for ios,any other solution?
Voyager is not working for Web. Any ideas ?
is compose multiplatform good for medium apps in 2024 ?
How do I pass a data model class or pojo class from one screen to another screen?
The argument just needs to implement Serializable. You can check out the official Voyager documentation for further information :)
Hi...i am just starting Android development using kotlin......so should I start with native Android development only or should i Start with kotlin multi platform can u guide me with this
It depends on what you are trying to achieve and your current knowledge in programming in general. If you already started with learning native Android development, I'd suggest to first get some practice with it and maybe create an example app for yourself (or even release it 😉). In my opinion that is the best way to learn a new programming language or framework. Then expand your knowledge to a broader field like for example KMP
Hope that helps 🙂
Navigation Drawer?
now, lets do deep linking with it
Hey. Have you tried it? I'd love to see the implementation
Messaging here to find out my handle name
Ahhh its @jyashi1
Haha I am glad you were able to find it out 😄
it' really weird why jetbrains even don't provide a basic navigation solution
I think they are still working on it and will provide one in the future (at least they state so in the link I provided in the video description). Until then we can make use of Voyager or alternative solutions. Again, thank you for watching 😊
"Navigation is a key part of modern UI applications that allows users to navigate between different application screens. Unfortunately, the Navigation component from Jetpack Compose's suite of libraries is currently unavailable in Compose Multiplatform. However, there are other third-party alternatives that you can choose from:" - JetBrains
Jetpack compose's navigation sucks anyway😂