I am developing several mobile apps. These apps are complex with many hierarchies of data.
What is the optimal way to load remote data? Should I load a comprehensive set of the data from the top of the hierarchy all the way down? This would cause the app to take a long time to load for the first time, but be much faster throughout the rest of the app session because the data is cached after that.
Should I lazy load the remote data to only load what I need when a user clicks on a row or component? This would cause the app load slower on each click but would cut down on the initial load of much data.
I’ve see both. My latest attempt, yoga, at the problem was to create a more flexible server-side that allows a single URL return the exact information that a screen would need. It was a take off of something that LinkedIn did a while back. Right now, it’s purely a Java solution, but the basics can be transferred to other platforms: https://github.com/skyscreamer/yoga