For installed applications, I use a launcher to quickly open apps by name.
As for this:
"in the end I always end up with a bunch of folders open"
I navigate my system from a terminal, so the idea of "folders" feels foreign to me. I do have directories (ie. ~/code/oss/) that have many subdirectories though. Having a complex hierarchy seems much less important when you have tab completion.