Comments (10)
I actually found a solution, to use native SwiftUI navigation!
It achieved that by keeping a map of all active NavigationLinks.
I should be able to publish the update within a week.
from d-kmp-sample.
I read the issue will be fixed in Compose beta09, which will be released next week.
So I should release the new version then.
from d-kmp-sample.
It could be easily solved by setting up the same iOS animation of the iOS Navigation. I am just not expert with iOS animations. Someone with experience in iOS animations can fix this.
I have also tried wrapping the SwiftUI navigation, but I couldn't find a proper way, as SwiftUI NavigationLink is a dreadful piece of software. Let's hope that at the new WWDC, in a couple of weeks time, there will be upgrades to NavigationLink and SwiftUI navigation in general, so that it can be easier to wrap the native iOS navigation.
Generally speaking, SwiftUI navigation is very limited and can get very messy when projects get complex. A shared navigation can make things very easy on bigger multiplatform projects. D-KMP is also providing multiple/vertical backstacks (i.e. remembering the deepest backstack entry in the previously selected level1/bottombar item), which natively on SwiftUI doesn't exist.
from d-kmp-sample.
This is great to hear. Will look forward to the update - hopefully I can help with the iOS refinements...
from d-kmp-sample.
Hi. How are you? Any progress on the code?
from d-kmp-sample.
Hi @adesugbaa, it took more time than expected. I am still refining. Hopefully I will be able to publish the update this week.
from d-kmp-sample.
I am currently blocked by an issue on Compose beta08:
https://issuetracker.google.com/issues/190795684
I will have to solve this, before publishing the new version
from d-kmp-sample.
I am trying to put all together now with the Desktop and Web version too, but it's still not ready.
For the time being, writing shared code that is optimised for 4 different platforms (Android, iOS, Desktop, Web) presents several challenges. I still trying to understand a few things.
I am planning to publish the next update when I am happy with overall result, but as it looks now, it might take some time.
from d-kmp-sample.
Hi @adesugbaa, I have finally managed to publish the update.
Now the iOS app is using NavigationLink under the hood, so native animation occurs when navigating to a new screen. Give me some feedback when you get the chance to try.
I have also published the Desktop app.
from d-kmp-sample.
Thanks @dbaroncelli. I will test and provide feedback.
from d-kmp-sample.
Related Issues (20)
- Is there any way to achieve Android navigation transitions in this project? HOT 1
- Navigation appears to be broken on iOS HOT 7
- Error SockeTimeout when building `shared:runCommonizer` task HOT 5
- Yup
- Some doubts HOT 2
- Could not initialize class org.jetbrains.kotlin.com.intellij.pom.java.LanguageLevel HOT 1
- First run not working HOT 1
- slowness in opening the project HOT 1
- Could not resolve ktor-client-js HOT 1
- the architecture of D-KMP may be too complex? HOT 2
- Bad Gateway trying to get compose runtime HOT 2
- Result from other view/state HOT 1
- Ios could not see getIosInstance() HOT 2
- "Jvm target compatibility should be set to the same Java version" build error HOT 1
- only one AppState may make performance issue? HOT 2
- FAILURE: Build failed with an exception. HOT 4
- App not working for android < 26. HOT 5
- [Question] Architecture and implementation details HOT 1
- [Deprecated] Remove jcenter HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from d-kmp-sample.