badoo / Decompose

Kotlin Multiplatform lifecycle-aware business logic components (aka BLoCs) with routing functionality and pluggable UI (Jetpack Compose, SwiftUI, JS React, etc.), inspired by Badoos RIBs fork of the Uber RIBs framework
https://arkivanov.github.io/Decompose
Apache License 2.0
812 stars 40 forks source link

Can we expect JS platform support for todo app too? #83

Closed Shabinder closed 3 years ago

Shabinder commented 3 years ago

I know there is js support for counter app , but to me TODO app's code and structure seems more lucid and I built desktop and android app learning from todo code , I was hoping if you have any plans to build a jsReact UI for todo app too?

arkivanov commented 3 years ago

Hi! I can do it for sure, but it all depends on JetBrains. Could you please transfer this request to https://github.com/JetBrains/compose-jb?

Shabinder commented 3 years ago

@arkivanov compose-jb is kinda foccused repo for compose , aint it? why not have a copy of todo app sample in Decompos's repo as we have counter already?

arkivanov commented 3 years ago

The TodoApp was in the Decompose repo originally, and was moved to compose-jb to avoid code duplication. The idea of the js UI implementation would be the same as in the Counter sample.

Shabinder commented 3 years ago

@arkivanov yeah i am new to WEB DEV, like I was trying to build the website like using Root Component with Main and Edit screen in to do using the root component's router. But in WEB Dev i figure its diferrent? I need a react-router for hanging screens and MVI concepts like store reducer-executor wont apply...i guess?

So I am exploring some WEB Apps to grasp the idea.

I would love your input .... can we have a website just as we have Android's Compose using 1 root Component (which we use in android's Main Activity) and it itself handles all Intents and the router in it handles child changes. Can we build a Web App using the same root component with React UI instead of Compose ? if yes , is there any sample/example using this approach.

for example sake lets say How will you build TODO in web? with Root and main/edit screens using the root component you have in TODO App.

arkivanov commented 3 years ago

This is exactly how it should work, just like in the sample Counter app. The navigation can be managed by Decompose.

Shabinder commented 3 years ago

Okay, I will study sampleCounter app in more details and will ask for help if needed here.

arkivanov commented 3 years ago

Feel free to ask any questions! I will keep this issue open for a while.

Shabinder commented 3 years ago

Hey , Got it working! ,Thanks.