4 ms·
Yeah, they sort of rolled out their own MVVM implementation, based on RxJava and RxLifecycle. On Android MVVM is more difficult than MVP in my opinion (the mos
by V-2 10y ago
Yeah, they sort of rolled out their own MVVM implementation, based on RxJava and RxLifecycle.
On Android MVVM is more difficult than MVP in my opinion (the most popular choice, not counting spaghetti projects), mostly because the platform doesn't provide the "glue" needed to bind viewmodels to the UI layer. At first glance it looks like they did it without overengineering, which is another trap as far as these matters go.
Clearly a work of very good experts
- Plaastix 10y agoThat "glue" can be Android's Databinding library. I've used it to bind ViewModel data to views. Works really well.
- V-2 10y agoI'm aware of it, but last I checked it didn't seem production-ready and lacked features. I believe they updated it at some point, but other than some talk at Google IO not much came out of it - even the docs didn't reflect it back then. Perhaps it's up to the task now, I admit I'm not looking it up regularly.
- Plaastix 10y agoIt is definitely production ready now.
- V-2 10y ago> In less than eight months, four engineers who had never written production Java code, let alone production Android code, shipped a 1.0. Wow. That's pretty impressive
- brianwawok 10y agoIt's impressive that it took almost 3 person years to ship a 1.0 of a basic app?
- rtpg 10y agoit's impressive that 3 person years from _no Java experience_ was all it took. Java and Android are complex ecosystems. Not to say they couldn't have shipped it in less time. Of course they could have. But it sounds like they shipped something very well built.
- flukus 10y agoBut what other languages did the have experience with? If it was something similar like c#/c++/ruby/python then the time to learn java should not be significant.
- V-2 10y agoWhen it comes to Android, Java by itself is the least of problems. It's the SDK and framework that are tricky, ridden with technical debt and often far from developer-friendly.
- matwood 10y agoI was about to say this. In fact, you have to unlearn a lot of what works and is accepted in server side java when you move to Android. Learning the SDK and Android gotchas was by far the hardest part of my first Android app.
- flukus 10y agoYes Android is particularly complicated, but not to the point where 3 experienced developers building an app in 8 months is in any way remarkable.
- V-2 10y agoI have never used this app myself, I don't know whether it's complex. I only peeked at the source code. And yes I was referring to the contrast between how neatly written it is, and their lack of experience with the platform, not how fast they did it. Development on Android tends to be slow overall, owing to numerous intricacies of the platform, but I believe that in general taking some extra time to roll out a clean and polished version 1.0 will pay off when it comes to 2.0 and 3.0. It's always easy to move fast in the beginning, use lots of duct tape and snap something out rapidly, but it comes at a cost and then you get bogged down further down the line
- joblack33 10y agoSpeaking of MVP, check here too: https://github.com/6thsolution/EasyMVP https://github.com/6thsolution/EasyMVP
- polarisrising 10y agoWhen dealing with MVP on Android, how did you deal with dynamic view creation? Right now we are working on a rearchitecture and are finding that creating dynamic views in the Activity/View requires business rules we are putting in Presenter. But the Presenter doesn't have context.