Deciding between a static and dynamic site
Hi, I’m trying to blog more this year. Maybe not every day, but more frequently.
In a recent post I mentioned I’ve been working on a fast frontend for a Chinese-English dictionary. In the spirit of “blog about what you’ve struggled with”, the biggest challenge I’m currently facing is choosing between designing the site as front-end heavy or back-end heavy.
I’ve written two initial versions of the site: one as a fully static website and one as a fully backend app in Go. Despite the server-side version being written in Go, I’m not super happy with the load time of the app. Even when the server is warmed up, the initial document load time is 30-40ms, whereas the static site is 10-20ms.
Even writing this now I realize I’m over-optimizing, so let me back up and clarify what requirements I’m trying to fulfill. I want a site that can:
- Look up words instantly, to use during conversations
- Be a casual reference for users who don’t want to download the full dictionary
These two requirements are in direct conflict, since the more data I pre-load on the front-end to make things faster, the less user-friendly it is for casual usage. Maybe there’s a happy medium somewhere.
My guiding principle for this project has been “write it in the easiest possible way that fulfills my needs specifically.” So in that spirit, I’m going to keep going forward with the front-end heavy site.