top | item 28196849

Show HN: LemonadeJS – A micro JavaScript library for building web interfaces

57 points| hodware | 4 years ago |lemonadejs.net | reply

24 comments

order
[+] kennywinker|4 years ago|reply
Mithril has a detailed “why this instead of react/vue/etc” article https://mithril.js.org/framework-comparison.html that I think should be mandatory for any library entering a crowded space like this. If only because i want to know the priorities of the developers.
[+] montroser|4 years ago|reply
That would be nice, but also we observers are not owed any such explanation by the creator.
[+] marz0|4 years ago|reply
Looks interesting, but I think for a minimal JS framework I'd probably go with AlpineJS. It's pretty much Vue without components.

https://alpinejs.dev/

[+] yewenjie|4 years ago|reply
So what is the current opinion of the JS ecosystem on two-way bindings?
[+] lloydatkinson|4 years ago|reply
Kind of mixed. In Vue, two way bindings are achieved with the v-model directive but that is literally the syntax sugar equivalent of having a prop and an event.

That is, the two way binding with v-model is no different to doing it "manually" anyway.

[+] kansface|4 years ago|reply
Personally, it tends to be convent in practice for forms but is an unholy abomination elsewhere. I'd eschew it altogether and deal with the extra verbosity when it crops up.
[+] cutler|4 years ago|reply
Looking at the site's example:

https://lemonadejs.net/v1/examples/hangman

... I see a lot of ugly ES5 code where everything is prefixed with self. How is this progress?

[+] montroser|4 years ago|reply
What you are criticizing is (the fashion of) the example app there, not the functionality or interface of the framework itself.

The lemonade.element function just wants a template and an object with some methods. Whether you use ES6 classes or proxies, or ES3 constructor functions with prototypical inheritance, or object literals to define that object is a matter of taste, and it is all up to you.

[+] aitchnyu|4 years ago|reply
Umm, why do new microframeworks constantly capture HN attention? I'm trying to understand the ecosystem between Vue and VanillaJS.
[+] chrisrickard|4 years ago|reply
Because there was once a time when Vue was being introduced on HN. They need to start somewhere.
[+] paulhodel|4 years ago|reply
LemonadeJS is pretty much vanilla, no depencies, no transpiling.
[+] paulhodel|4 years ago|reply
Lemonadejs is a super lightweight vanilla javascript micro-library (4Kb). No dependencies, just Vanilla JS.
[+] mthoms|4 years ago|reply
This site breaks my browser back button. I find that enormously frustrating.
[+] bemolator|4 years ago|reply
I'm learning how to use it, and it is pretty awesome imo