The reactivity of Svelte leaves a lot to be desired. The only difference between a computed property and a mutable property is let x =
and $: x =
, both of which are declared in the same top-level scope and doesn't provide much to distinguish them. The lack of reactivity on arrays and objects is a major foot-gun by default. The number of places they say "this looks weird, but don't worry it'll soon become second nature" in the docs shows that they acknowledge it's bad design to create code that is misleading or goes against the grain/standard for what behavior developers should expect (makes it confusing to work with and then use anything else, or vice versa).
The #await
template directive is interesting; I'm not sure I agree it should be handled in the template instead of the script but if combined it would remove some boilerplate loading = true/false
and error = 'message'
variables from script scope.
I was going to get involved in the development but after 4 months they still haven't merged the PR which makes it easier to onboard new developers (and also makes it easier to spin up new or update existing environments) so I've reconsidered where to spend my time. Which is a shame because when I saw kbin was built on Symfony in PHP I had very high hopes for it. I think the onslaught of new users completely overwhelmed the developer to where maintaining the instance took priority over developing it, which in the end makes it more likely to die off instead. /rant
(the PR in question)