Were there trade offs or limitations with those libraries?
Were there trade offs or limitations with those libraries?
If you want to go more SPA-like (and you really need that) you may want to look at Mithril (https://mithril.js.org/index.html#introduction). This is a light way to go SPA vice React (awesome but steep learning curve; all kinds of tooling needed).
We've built things like this: Most pages are server rendered using whatever you like (We use Go with Echo framework) the same server also hosts JSON APIs that allow the interactive Intercooler or AlpineJS arts to get either HTML fragments or JSON data. You can grab JSON with Intercooler too (http://intercoolerjs.org/attributes/ic-transform-response.ht...).
We've done search, DB apps (CRUD workflow), content sites, etc. exactly this way with a focus on developer productivity (very few libs to learn), user experience (ultra fast and SPA-like where needed), and performance (no giant JS balls to download, parse and activate).
EDIT: Just found this amazing example using MithrilJS to do very high speed updates of a bunch of data elements on a table page: https://raw.githack.com/MithrilJS/mithril.js/master/examples...
Hope this helps you.
The main trade-off is that you aren't going to be able to so something hyper-interactive stuff like a game. If you try to push it too hard it will end up being a mess. OTOH, the closer it is to a traditional web app, the easier it is to use.
There are a bunch of examples of common web patterns here: