If you want to deliver data to your customers you have two main options:
1. Build something custom in js
2. Use a drag and drop BI tool
(1) works if you are a front-end dev, but then it means the dev team need to own it forever, deal with customer requests etc
(2) means the data team can run it, but there's poor release management, and normally doesn't look good in your app
Evidence's version tries to hit the sweet spot: It's still written in code so you have version control and flexibility for customization, but it's SQL and Markdown so the data team can maintain it
The ecosystem is very active, and they have recently opened up "community extensions" to bring your own functions, data types and connections. A barrier at the moment is that extensions are written in C++, though this limitation should be removed soon.
I've been building a lot on top of DuckDB, two of the projects I'm working on are linked in the article:
It’s interesting to me how far you have pushed the SQL language in this framework, such that it truly is “SQL only”.
The challenge as I see it with enabling analysts to build websites is that you need to build abstractions to get from familiar (SQL, yaml) - the language of analytics, to new (HTML, CSS, JS) - the language of the web browser
As one of the maintainers of Evidence (https://evidence.dev), one of the things I’ve often considered is how accessible our syntax is to analysts. Our syntax combines SQL and Markdown, with MDX style components e.g. <Component/>
The </> are inherently webdev-ey, and I do think they put off potential users.
On the flip-side, by adhering to web standards, you get extensibility out of the box, and working out what to do is just a Google search away.