Hello Samuel,
First of all, some sample code to try it:
About your last question... certainly we can reuse some functions and non visual controls across app's views, however, here in this thread you are talking about to reuse an HttpClient to perform various HTTP calls... ok, can be good... but my idea is that we have no limits in the number of HttpClients controls we can use, so, maybe it's a good idea to maintain it separated.
Of course, if the HTTP calls differs in a couple of arguments... maybe it's a good idea to simply reuse a control, however, I am thinking (that's the case of the application in which I am working now) that every HttpClient control have a very particular mission in the application: someone list certain data, others list other information, this list users, this other list articles, this other can be used to delete stuff, etc., etc.
Different tasks -> differents URLs (server's scripts) -> differents HttpClients controls. :)
However, continue talking about the application I am workin on right now, we reuse the same WebSocket control to maintain two different chats. In this case it's better to reuse the same control, which is placed in the first app's view and can be used in others too (since they are a non visual control).
Why we consider (may others can think different!) to reuse the WebSocket controls is fine? Because we maintain the connection in all the user's session, so we do this on one Websocket server and not two. On the other hand, the same WebSocket control's Message event is capable to differenciate the two available kind of chats. For this reasons we reuse this specific control.
But on the other hand we use lot of HttpClients controls... in different app's views... which produces differents results.