Some of these, like the questions about concurrent users, are more dependent on your backend. Web Core is about your client, so that’s running on individual users machines.
Load time, definitely a web core thing. Concurrent users? that’s your server (rad server, datasnap, nodejs, aspnet, etc, etc) and your design.
a) have a single large js file that contains all your units and also all the rtl/framework
b) have individual js files for each unit.
a) is nice as it’s a single download, but if one unit changes, the whole thing gets re-downloaded.
b) is nice as a single change only triggers one small downloaded. The rest can be used from cache. However, you have potentially hundreds of downloads.
What I don’t yet know is whether you can have something in the middle: a single large js file with all the rtl/framework, and then maybe individual files for your app. The RTL/Framework one will probably change less frequently, so keeping that one a single file in cache sounds good. But individual files for your app, which might change more frequently, will also let us maximise cache hits/minimise downloads.