- web component based, both client and server
- the server side WC are where this software shines
- I prefer to understand how a system is (approximately) working so I know how to work with it, instead of against it
- newish so docs are still tweaking, though generally very straightforward to follow
- I've used 11ty's WebC which is similar-ish to Web Components, and though I also liked developing with WebC, Enhance's offering doesn't (appear to) add any sugar so it lets me code with what I know.
- Small gotcha (specific to me): I've started using nested CSS during development because my browser support is, but going to production, I usually transform the CSS through postcss preset env, but as some of the CSS in the web components are inside components so I can't transform it.
Pros
- web like
- really familiar syntax, i.e. html, css and just plain-ol JavaScript aka Web Standards.
- excellent responsive team to support you on discord
- generally works out of the box
Cons
- a little magic happening behind the scenes, but I felt that this was in place to help the developers used to react-dev-cycle get used to something different. Related to this, coming in with react in the back of my head did me a disservice.
- Related to above, I found the partial updates rarely worked with the way I was coding (though kj did give me a PR that explains how to get the partial updates hooked in better/properly)
- deploying is tied directly to AWS
- actually getting the domain connected is not a simple task (though it is well documented)
- still some bugs that I ran into, but I seem to live in the edge of what software is supposed to do, but I found it frustrating - though one I could identify it, the enhance team had a fix usually within a few hours (i.e. it's not been battle tested, I'd expect this not to be a problem at all in a few years)