News for hackers. Stuff that matters.
Re:jQuery v4.0 Beta by IgorPartola on Tuesday February 06, 2024 @10:10PM (#39283983)
Maybe unpopular opinion but JSX is inferior to something like the Vue templating system. I much prefer to have HTML with some JS sprinkled in than JS that looks like HTML but isn’t.
Re:jQuery v4.0 Beta by Klathmon on Tuesday February 06, 2024 @10:37PM (#39284174)
And to wage this holy war a little, I personally much prefer JSX over a templating system that looks like html attributes but acts different, while trying to act like javascript but can't.

Honestly at the end of the day they both get the job done, but for me personally working in JSX is just so easy to pickup and use, and while it's not perfect, I do prefer it over having to learn yet another library specific templating kinda-sorta language.

Re:jQuery v4.0 Beta by TheMajor on Tuesday February 06, 2024 @11:58PM (#39284670)
Most of us devs had "separation of concerns is critical" drilled into us for many, many years. For that reason alone, JSX just gives me the baddest of smells when I look at it.
Re:jQuery v4.0 Beta by troupo on Wednesday February 07, 2024 @02:22AM (#39285572)
This way of looking at separation of concerns helps: https://x.com/simonswiss/status/1664736786671869952
Re:jQuery v4.0 Beta by mardifoufs on Wednesday February 07, 2024 @03:07AM (#39285849)
How does jsx not have separation of concerns? I get what you are referring to but that's not SoC as I know it
Re:jQuery v4.0 Beta by troupo on Wednesday February 07, 2024 @02:21AM (#39285561)
> I much prefer to have HTML with some JS sprinkled

That's not what vue templates are. It's three or four different templating DSLs in one.

v-for alone will show that it's not HTML with Javascript: https://news.ycombinator.com/item?id=28059397

And there's more: https://news.ycombinator.com/item?id=19199423

Re:jQuery v4.0 Beta by preommr on Wednesday February 07, 2024 @06:03AM (#39287063)
> That's not what vue templates are. It's three or four different templating DSLs in one.

The pattern is very obvious?

If array: (value, index)=>void

If object: (value, key, index)=>void

If it's an array, it's the call signature for the args of the forEach method, i.e. (value, index)=>void, but can be assigned a function that's just (value)=>void if index is unneeded. If it's an object, it's an extension of the same logic with (value, key, index).

It's not 4 dsls in one, anymore than jsx is a 1000 markups in one.

Re:jQuery v4.0 Beta by troupo on Wednesday February 07, 2024 @06:57AM (#39287454)
> The pattern is very obvious?

It's not

> It's not 4 dsls in one, anymore than jsx

I "like" that when discussing these things everyone completely ignores everything, and focuses on one specific thing.

So, again. The claim was that Vue templates is "HTML + Javascript"

1. As v-for clearly shows it's not even close to Javascript, as there are no Javascript constructs that correspond to this

2. As everything else, not just v-for shows, it's neither HTML (so many custom attributes with extensions and shorcuts etc.) nor Javascript.

Re:jQuery v4.0 Beta by mock-possum on Thursday February 08, 2024 @01:56AM (#39299087)
And vue templates are in turn inferior to lit-html