
Declarative assembly of web applications from pre-defined concepts - im_dario
https://blog.acolyer.org/2019/12/04/declarative-assembly-of-web-applications-from-pre-defined-concepts/
======
zshift
> If the thing you’re trying to build doesn’t fit with our framework, you
> probably have a design flaw!

Yes and no. Whenever we move to a higher level of abstraction, we (almost?)
always lose control. Even in C, there are some behaviors that require coding
in assembly to squeeze out every last bit of performance, or using `unsafe` in
various languages to break out of a managed environment. In both of these
cases, they are code smells. Is it possible you have a valid reason for
writing assembly by hand? Absolutely. But you better have a good reason for
doing so, because it sacrifices readability.

The same applies to these “drag-and-drop” feature builders. The key is adding
in hooks to create custom behavior easily. For Deja Vu, this is by creating
your own concepts.

I think the biggest issue here is the target audience. We haven’t found a
large enough group of people that enjoys working at this level of abstraction
to help grow the community. Anecdotally, developers I know tend stick to their
level of abstraction. C devs hate JS and vice-versa, arguing over control vs
simplicity.

~~~
UserIsUnused
JS is not simple. not you have much control, so the simple vs control doesn't
seem very fitting.

------
LeftHandPath
Interesting. I see a lot of promising projects moving more and more in this
direction, where the database and logical objects are closely coupled and the
end goal is to allow Microservices (but _more granular_ Microservices, like
this article describes) to be tied together to form a whole.

Actually, I recently started my own project to do the same, but I didn’t get
nearly as far as a few of the recent posts I’ve seen on HN / reddit. At this
point I might just find a similar OSS that I can contribute to.

I like the trend.

~~~
ollerac
I have a project like this (mentioned in my profile) and I'd love to talk to
you about this space if you'd be open to it.

------
im_dario
References:

\- Paper:
[https://spderosso.github.io/onward19.pdf](https://spderosso.github.io/onward19.pdf)

\- Dejà Vu Platform: [https://deja-vu-platform.com/](https://deja-vu-
platform.com/)

------
tlarkworthy
I's say kubernetes and helm/terraform is pretty close to this declarative
assembly being realised. You still need a ton of technical ability to do the
assembly, so I conclude we don't yet have a way of getting rid of that.

------
wwright
This sounds a lot like what FP nerds would just call “defining an algebra.”
It’s the same sort of thing that leads to regular expressions, TypeScript’s
type system, BPF, and so on.

------
est31
How is this different from handlebars, php short tags, jsp expression tags,
... ?

