(Discontinued)[Fullstack] Compose Multiplatform + Http4k #1545
Replies: 3 comments 1 reply
-
2024.08 Update: After a year of dedicated job searching, I've made the strategic decision to invest in my professional development through an intensive IT training program. As a result, I will be temporarily stepping away from this project to focus entirely on enhancing my skills and following the program's guidance. I've thoroughly enjoyed the time spent solving challenges, learning, and experimenting with Compose Multiplatform, Decompose, and MVIKotlin. I'm eagerly looking forward to the day when I can return to this project. Meanwhile, If you're interested in taking over this project or starting a new project with a similar tech stack, please feel free to do so. I wouldn't want this project to discourage others from trying the similar ideas. |
Beta Was this translation helpful? Give feedback.
-
2024.10 Update: The intensive IT training is now in a stable stage. Therefore, I am now continuing the project. However, due to the complexity of Compose Multiplatform, Decompose, and MVIKotlin, this project will be scaled down to only a minimal set of features, as suggested in the above comment. Additionally, I will be focusing only on the frontend part for now, and I will only continue with the backend part if time allows. For now, I will not remove the "Discontinued" label from the title, as it is uncertain whether I will need more time for IT training. |
Beta Was this translation helpful? Give feedback.
-
2024.11 Update: I finally landed a job. Originally I would abandon this project upon landing a job, but I decided to continue the minimal implementation mentioned above. |
Beta Was this translation helpful? Give feedback.
-
2024.10 Update: I am slowly continuing the project with a minimal set of features in frontend first
2024.08 Update: I am pausing the implementation for now. More information below
I am planning to start this practice at https://github.com/CXwudi/realworld-compose-http4k-example-app, where I will be using Compose Multiplatform as the frontend and http4k as the backend. All the code will be written in Kotlin, and common code will be shared using Kotlin Multiplatform technology.
In case you're wondering, Compose Multiplatform is JetBrains' adaptation from the original Android Jetpack Compose framework, which is highly inspired by other declarative UI frameworks like React and Flutter. We have several Android frontend examples in codebase.show, but none of them use Compose. Compose Multiplatform supports Android, Desktop (JVM), iOS, and Web. I can support all platforms but except iOS, because I don't have a Mac machine. I can still try to make the iOS frontend compile successfully in my MacOS VM, which can't launch the iPhone simulator.
We already have a backend example written using http4k, but I would like to implement mine with the Koin DI framework. Also, the backend will be used to demonstrate the code-sharing capability from Kotlin Multiplatform, where common codes (mostly just POJOs with the Kotlin serialization plugin) are shared between the frontend and backend.
Since the UI will be written in Compose Multiplatform, I won't be able to reuse the theme and HTML code snippet in the frontend spec. Instead, I will follow the mobile spec and take some UI design ideas from the Medium app.
Lastly, the development scope is quite huge. As a new grad, it might take me a huge effort and time to complete it. Or, in the worst case, it won't be finished. Nevertheless, I will keep working on it to improve myself, unless I get a job offer or a master's degree offer.
Beta Was this translation helpful? Give feedback.
All reactions