No idea about cowboy implementation, it should be all right. Protocol itself provides not too many benefits at this moment, performance boost is at most on single-digits percent level e.g. and its advanced features (like ability to send some resources even before browser requests them) are far from being used anyhow. Also it comes with some security concerns - no idea is it fixed or even can be fixed, but there was an issue with compression - HTTP/2 allows to compress everything including headers, and, you know, zip-bombs are the thing.
I know ‘most’ of what is needed at the start and there are two things I can do in HTTP1 to help fix the loading time:
I can add the imports to the first template dynamically in the right order (more than a bit painful, but doable), but that does not help ones that are loaded dynamically later.
In HTTP2 it is just telling the client ‘you need all of this’ and just have the single import load the first and all the rest load in the proper order based on what is needed and since I’ve already sent it all to the browser it loads up about instantly while taking a lot less traffic since the headers and such count add up over lots of tiny files, and all done in a single request.