I used war and peace to explain to a CEO how wasteful a mobile API was; twelve distinct items of data to display but we sent JSON larger than war and peace.
I used to use this as my example for how big a megabyte actually is. I think the entire text is 4 MB uncompressed (a nagging voice in my head says 16 MB, but I think that's just the residual part of me that never really believed how big a MB actually is).
The D in SOLID is for dependency INVERSION not injection.
Most dependency injection that I see in the wild completely misses this distinction. Inversion can promote good engineering practices, injection can be used to help with the inversion, but you don’t need to use it.
Agreed, and I conflated the two since I've been describing SOLID in ways other devs in my team would understand for years.
Liskov substitution for example is an overkill way of saying don't create an implementation that throws an UnsupportedOperationException, instead break the interfaces up (Interface Segregation "I" in SOLID) and use the interface you need.
Quoting the theory to junior devs instead just makes their eyes roll :D
Honestly inversion kinda sucks because everybody does it wrong. Inversion only makes sense if you also create adapters, and it only makes sense to create adapters if you want to abstract away some code you don’t own. If you own all the code (ie layered code), dependency inversion is nonsensical. Dependency injection is great in this case but not inversion.
Very compelling and would be fun to learn something new. Need to research if the 3 month launch constraint can be accommodated or better to outsource. However the act of coding and learning again is very attractive. Thanks.
In my experience this is a superb way to rapidly create bad integrations with AWS.
Some of the simple things will be easy, everything else will be hard.
Also instead of supplying an SDK, Amplify will provide components that can seriously constrain lots of your UI architecture decisions.
For Javascript the old mobile SDK was much more usable.
Almost all of the AWS services have a sensible JSON API, I wish that AWS would just generate sensible SDK bindings for Swift, Javascript and Dart and stop all development on Amplify.