Live data from Hacker News

Show HN: Moon – fast 7k Vue alternative

github.com

111–120 of 200 posts

Re: Show HN: Moon – fast 7k Vue alternative

#111

So we are here. It didn't took so long for vue to go from "will vue be new react ?" To "vuejs alternative".

I once told my non-technical friend about the hypewars and giant refactorizations that websites go through every few years and she couldn't believe it. Websites have hardly changed from the users perspective for like the past five years, yet in the background we keep modifying our tools.

Re: Show HN: Moon – fast 7k Vue alternative

#112

Earlier quoted context omitted.

>Isn't it a fun time to be a front-end developer? No. I came to frontend development on the peak of web 2.0 craze, when 10mb of jQuery "bells and whistles" on a corporate front page was considered hip and progressive. No matter how awful these 10mb of animation scripts were, they ran faster than 1mb of "highly optimised" react spa today.

Can you really prove that feeling? because that's far from my experience and far from logical too.. Additionally, this 'fatigue' with front-end is getting a bit over told, I suspect it might be more alienation from developers who hacked jquery scripts together and feel they need to transition to app frameworks (I see so many simple websites and landing pages as react etc now).. where as those sites should just transi…

My perspective is this:

A lot of people got a lot of productive work done 'hacking' together jquery and jquery-ui scripts. The result wasn't pretty and was a bit of a maintenance nightmare.

They are not only a bit of alienated by having to work with frameworks, but they're expected to be as productive with these frameworks as they were hacking together jquery scripts and snippets, but are still the 1-man or 2-man developers within a wider business.

These frameworks are great in a business built around the web such as a SAAS business, but a lot of people are in businesses where their saas part is secondary, or are trying to maintain sites which just aren't the main product of the business.

They're pressured by well meaning but often misguided higher-ups to use the latest and greatest and feel the pressure of churn.

Re: Show HN: Moon – fast 7k Vue alternative

#113

So we are here. It didn't took so long for vue to go from "will vue be new react ?" To "vuejs alternative".

I use Vue. I'm not convinced it needs an alternative. It's plenty fast - more than fast enough IMO, and fairly lightweight as well.

Re: Show HN: Moon – fast 7k Vue alternative

#114
post #111

So we are here. It didn't took so long for vue to go from "will vue be new react ?" To "vuejs alternative".

I once told my non-technical friend about the hypewars and giant refactorizations that websites go through every few years and she couldn't believe it. Websites have hardly changed from the users perspective for like the past five years, yet in the background we keep modifying our tools.

Interestingly (to me), the AngularJS (1.x.x) repo on GitHub is still receiving a decent level of commits:

https://github.com/angular/angular.js/commits/master

Kind of glad about that, as it's what I'm still using. :)

Re: Show HN: Moon – fast 7k Vue alternative

#115
post #6
post #3

How does Moon automatically detect static virtual nodes? What makes Moon faster than the alternatives? Finally, how does Moon avoid GC pressure with large trees?

The compiler treats everything as static by default. When the compiler detects something dynamic (such as a {{mustache}} template), it will mark the current node as dynamic, and the parent node as well. These propagate up the tree so Moon eventually has a render function that is extremely optimized and can skip everything static, and the diff will only hit the nodes that can change. Moon also has a stricter syntax fo…

This is really great to see the emphasis on static vs dynamic parts in templates. Polymer, Glimmer, and some other template systems make the distinction between static and dynamic content, but React and most other vdom libraries don't.

I was looking for options for HTML templating in JS found that JS template literals very naturally separate static and dynamic sections between the literals and expressions. I've been testing a library based on them [1], and for real-world templates with large static sections, it's indeed faster than traditional vdom.

[1]: https://github.com/PolymerLabs/lit-html

Re: Show HN: Moon – fast 7k Vue alternative

#116

Earlier quoted context omitted.

Over in Polymer, we're exploring ways to do exactly that: https://github.com/PolymerLabs/lit-html Template literals in JS give us a way to always tell the static from dynamic parts of a template. HTML elements let us stamp out pre-defined trees of DOM quickly. Combined we can then only update the dynamic parts without a virtual DOM.

were you aware of https://github.com/trueadm/t7 when you started? are there advantages over t7, other than NIH?

T7 is quite a bit larger than lit-html, and requires a vdom reconciler still. lit-html is self-contained and I also didn't want to use vdom because it doesn't encode whether nodes are static or dynamic, and even static sections are diffed. That's extremely important feature for performance and memory overhead, which is why I'm happy to see that emphasized in Moon.

Also, coming from the Polymer team, where we've had a lot of success using elements to stamp out large pre-defined DOM trees, I wanted a system backed by those.

Re: Show HN: Moon – fast 7k Vue alternative

#117

Earlier quoted context omitted.

>Isn't it a fun time to be a front-end developer? No. I came to frontend development on the peak of web 2.0 craze, when 10mb of jQuery "bells and whistles" on a corporate front page was considered hip and progressive. No matter how awful these 10mb of animation scripts were, they ran faster than 1mb of "highly optimised" react spa today.

Can you really prove that feeling? because that's far from my experience and far from logical too.. Additionally, this 'fatigue' with front-end is getting a bit over told, I suspect it might be more alienation from developers who hacked jquery scripts together and feel they need to transition to app frameworks (I see so many simple websites and landing pages as react etc now).. where as those sites should just transi…

>Can you really prove that feeling? because that's far from my experience and far from logical too..

Cyclomatic complexity went up many times. Going over a simple for loop in under 100 kilocycles for client side page generation was considered ok back 10 years ago. Even then, browsers had no problem with that.

Compare that with 20 plus layers of deep merges, with closure tricks, with prototype swapping on the fly in a transpiled observer pattern style input event handler - things like that you have in relatively simple SPAs today

Re: Show HN: Moon – fast 7k Vue alternative

#118

Earlier quoted context omitted.

were you aware of https://github.com/trueadm/t7 when you started? are there advantages over t7, other than NIH?

T7 is quite a bit larger than lit-html, and requires a vdom reconciler still. lit-html is self-contained and I also didn't want to use vdom because it doesn't encode whether nodes are static or dynamic, and even static sections are diffed. That's extremely important feature for performance and memory overhead, which is why I'm happy to see that emphasized in Moon. Also, coming from the Polymer team, where we've had a…

thanks for the details.

Re: Show HN: Moon – fast 7k Vue alternative

#119
post #112

Earlier quoted context omitted.

Can you really prove that feeling? because that's far from my experience and far from logical too.. Additionally, this 'fatigue' with front-end is getting a bit over told, I suspect it might be more alienation from developers who hacked jquery scripts together and feel they need to transition to app frameworks (I see so many simple websites and landing pages as react etc now).. where as those sites should just transi…

My perspective is this: A lot of people got a lot of productive work done 'hacking' together jquery and jquery-ui scripts. The result wasn't pretty and was a bit of a maintenance nightmare. They are not only a bit of alienated by having to work with frameworks, but they're expected to be as productive with these frameworks as they were hacking together jquery scripts and snippets, but are still the 1-man or 2-man dev…

>They are not only a bit of alienated by having to work with frameworks, but they're expected to be as productive with these frameworks as they were hacking together jquery scripts and snippets, but are still the 1-man or 2-man developers within a wider business.

So so so true... but I can give a correction to the size of the team. I personally witnessed 10 to 45 man teams doing things as simple as a web app with a sole function being "login, enter account number to send money to, enter amount of money to send, and press the button"

While 45 is a bit of exaggeration on my side, as it counts team's own accountants, HRs, and 20 something PMs, "change manager" types, and other obscure managers of managers

Re: Show HN: Moon – fast 7k Vue alternative

#120

So we are here. It didn't took so long for vue to go from "will vue be new react ?" To "vuejs alternative".

Isn't it a fun time to be a front-end developer?

Well, I think that compared to other fields, it's quite hard to get on board - there is so much tooling that it's really hard to catch up. There is node, npm/yarn, webpack, gulp, scss/sass. If you're back-end dev coding in ruby, you just pick rails and you're done if you're python webdeveloper, you pick django, and so on. With front-end? After hours of fighting with Babel and Webpack, you can pick Angular, React or Vue. And it's hard to know witch one to choose if you're some beginner who just want to code efficiently.
Post reply on HN