3 ms·
I think its a combination of: * Android having made lots of compromises to get Java running on resource constrained devices, leading to things like manually sa
by clumsysmurf 2y ago
I think its a combination of:
* Android having made lots of compromises to get Java running on resource constrained devices, leading to things like manually saving state in Bundles, Parcelables, SavedStataHandle, etc in combination with Component Lifecycles. These deep seated things remain.
* Lots and lots of undocumented behavior, poor documentation, etc. The Javadoc is in disrepair for many APIs, being just skeleton but not mentioning semantics, arguments, return values in all scenarios etc.
* Lots of API churn, stuff being deprecated constantly. You may need lots of compatibility paths.
* Just straight out bad ideas like Content Providers, which are still used in various
APIs like DownloadManager (getting status, etc).
* Still have plenty of fragmentation and behavior differences (Samsung devices, etc)
* Google Policies continue to become more onerous. Seems like more of my effort goes towards administration than actually building. I suspect this is intentional, so only larger teams can get their stuff in Play Store.
* Mobile development in general is still kinda like shipping software on CDs, there is some delay for approvals, and some people won't get your update for a bug fix etc