Closed elevenetc closed 4 years ago
on/off seems fine for offline storage. don't think we need anything more complex
CDN backend is already configurable
RxJava and Kotlin are huge, we should try to support both (first priority is making sure we work well with the current google/livedata setup, but good to keep in mind that we want to support those 2 eventually)
For the UI components i think only support livedata/ MVVM is fine, if someone wants to build their own UI components with Kotlin or RxJava they should be able to do that though
I completely agree with @tschellenbach 's comment.
I think @elevenetc is right. Switching to RxJava significantly simplified and reduced the amount of code. Moreover, we need to finish working with an offline database where AsyncTasks are currently used what is not a good approach. Also now a big problem is the weird system of dependency classes. It is a bit complicated and not testable now. I think using Dependency Injection could help a lot. Including the transition to a modular system.
Do we need modularity? I was thinking at least about few parts of SDK which might be useful to have optionally outside of the core:
RxJava
adapters instead of callbacks. Callbacks look inconvenient and outdated especially in Kotlin.Storage
. Do developers need to have encrypted storage? Or just their own implementation? Do they even need to have offline storage?MVVM
, but unfortunately on Android developers useMVI
,MVP
,MVP
,MVC
and some other architecture approaches.Advantages of modular architecture are obvious: testability, development independence, flexibility, release frequency. Disadvantages are also exist: development alignment, extra support resources.