I haven't run into no-network situation with Uber ever since every airport has wifi nowadays, but in that situation with no network, how does local on-device Uber data help to book a ride?
You do not want to load big chunk of JS because it was never cached, or as Uber used to do, download all the possible new promos every time you opened the app...
You want to squeeze through the minimal data you need to arrange your core business function.
It's not "no network", it's "minimal network". i.e. bad wifi or garbage 3G. Or you're data roaming, in which case you'd get charged out the nose if the app decided to redownload stuff.