'How can we handle api response in both platform in ios and android in kotlin mutlplatform?
Hey I am new in the world of Kotlin Multiplatform mobile. I have experience in development of android field. I am trying to connect Android application and Ios application. I searched and see Ktor is the way to fetch data from server. In android we use Kotlin Sealed Classes for Handling API Responses example in your application and in ios side team use Understanding Swift closures and asynchronous request functions similar to these. I am little bit confused, How can I use this way in common module to use both platform because both platform have Interceptor and many more things. Do I need to write everything from scratch? or Is there any way we can use existing way. My both platforms application is huge project. I don't won't to replace the code. I want to start new api call throught KMM using Ktor. Any suggestion or project would be helpful for me. Thanks
Solution 1:[1]
If you want to use old Android Code into Kotlin-Multiplatofrm Project you need to do some steps
First Step : you should separate your code into business layer and presentation layer you can know about it by reading clean architecture Android
Second Step : we will put business layer into Shared Module then we will put presentation layer into ANDROID APP
Third Step : you should replace Retrofit Code with Ktor Code
Fourth Step : You should replace Room Code with SqlDlight Code
fifth Step : You Should Write your view in presentation layer with Compose not Xml
then application will be ready to use his business logic into ios
sixth Step : then you can write your swift code into IOS APP
you can look at this code this is not complete code but it will make it clear to you haw you can use my Kmm Repo at Github
note :
Presentation layer contain view , viewmodel and any Platform dependent tools like workmanger
business layer contain network and caching code like KTOR , SQLDELIGHT and any logic that may be shared between Android and Ios
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | dawoud |
