This is continued from yesterday. I ended up making the vue version and I was surprised to find out the gzip helped it quite a bit as well. The data transmission was faster and the creation of the page was also faster. It looks like EJS took about 100ms longer to be done which shocked me! I hadn't expected that. The problem with the input box being laggy with vue is still there but there must be a way to deal with that.
Now the next thing I want to get set up is sorting and pagination. This seems to be a big step where if I got with EJS and server side rendering, I'll need to write backend code but if I use vue I can do it all in the frontend. This seems to be the big thing in my eyes. Where do I want to write my code?
Though I could still be wrong, after all it only took a day for me to find out vue is actually better than EJS in this very narrow and crummy test :)
Vue might be the winner at this point. There is an ease to shipping everything over and then manipulating the data to do sorting in the frontend. Obviously the backend could do it as well and I imagine it might even be simpler but the huge gain is that you just need someone in that frontend context to quickly build things that just work. This might be why frameworks in javascript are so prevalent. They let you do stuff in a context you already know.
Switching to Vue prod was game changing. Vue ends up being 52kb gzipped. This would get even smaller if I used the vue build system. The generation of a large 5mb page on the server vs shipping over the data in less than 1mb and then building the page on the clients machine is huge in how much data is transferred. I'm guessing this will have a large effect on speed. So now the comparison is between the speed of the client's machine vs the speed of the network. SPAs are pretty amazing now because the average PC has gone up in ability. That might be the assumption.
Pagination fixes the input issues. I wish my head was a basketball, with the amount of palming going on I could probably dunk it.
Every few minutes I feel like I learn something new that I didn't notice about these javascript frameworks and web development in general.
This is a stream of consciousness writing that I'm doing while also working on my code search engine.
The biggest takeaway is to gzip and use the production grade version of a framework. I'm a dummy.