Plenty of comments have arisen while I slept, so rather than answering all over the place, I’ll just post this comment to cover most of it, with a little unsolicited commentary as well. I’m presuming Overture has come up today because of its mention in our blog post yesterday, https://blog.fastmail.com/2017/12/18/using-the-modern-web-pl... . # Concerning the status of Overture: I’ve been doing much of the maintenance…
Overture JS – A powerful basis for building web applications
51–58 of 58 posts
Re: Overture JS – A powerful basis for building web applications
#52Plenty of comments have arisen while I slept, so rather than answering all over the place, I’ll just post this comment to cover most of it, with a little unsolicited commentary as well. I’m presuming Overture has come up today because of its mention in our blog post yesterday, https://blog.fastmail.com/2017/12/18/using-the-modern-web-pl... . # Concerning the status of Overture: I’ve been doing much of the maintenance…
Nitpick—based on your statements, I'm curious as to how you can claim manipulating the DOM be faster/more efficient than using a virtual DOM? I was under the impression that the very opposite was true, which is what gave birth to the virtual DOM. In any case, good work.
Let’s use as our context TodoMVC (http://todomvc.com/), and the action of adding a new item to the list, after having typed something in the box and pressed Enter.
The most efficient solution to adding an item is to craft a single new and insert it in the right place into the list.
One extremely inefficient DOM approach would be to replace the entire list in the DOM, iterating through all the items and making a new for all of them. This will work OK for a very few items, but once you get lots of items, it makes adding items very slow, because the browser is having to throw away a large number of DOM elements and insert a new bunch of DOM elements, applying their styles and all.
The VDOM approach is to have a virtual DOM that can be comparatively cheaply crafted, and rerender the entire list, but using that VDOM rather than the actual slow DOM; then, compare the old rendering and the new rendering, and apply any changes to the DOM—in this case, that will mean that it does finally craft that single new , inserting it in the right place.
The VDOM approach is inherently doing more work than is strictly necessary; but it does so and has become popular in recent years because it makes it decidedly easier to write that code, and makes it harder to make mistakes, because you’re only defining how to render a view, rather than how to render a view as well as how to synchronise changes in the data.
So long as you’re sensible in what you do, Overture is much faster than anything that uses a VDOM. But you’re responsible for hooking things up so that it knows that, when such-and-such a property changes, it needs to be redrawn in such-and-such a fashion. That can be hooked up in many ways; the most blunt is to say “when any property changes, redraw the entire view,” and the most fine is to say “in a todo item view, when the text of the item changes, replace the contents of its text node (which we stored a reference to when we drew it in the first place)”—and you’re not going to get more efficient than that! But as you can imagine, there’s a lot more scope for making mistakes which lead the view being out of sync with the data.
It’s all about tradeoffs. The VDOM approach lets you develop things faster, while the efficient DOM approach produces a result that runs faster and more smoothly. There are good arguments to be made in both directions; but I’m glad that we at FastMail focus on making it fast for the user.
The Ember team’s work with Glimmer is an impressive hybrid of the two models; the Why Tracked Properties? section of https://glimmerjs.com/guides/tracked-properties is a really good summary of some of the issues around VDOMs, and how Glimmer engineers around them. I like Glimmer.
Re: Overture JS – A powerful basis for building web applications
#53Earlier quoted context omitted.
thats good to know, i wasn't aware of that. the named problems were just examples though... there are sadly others. * Right-click isnt implemented. * Switching to their embedded DNS service pushes your whois information to the whole web (pretty much every other dns service hides it behind anonymized contact information) * adding external mail servers (i.e. fetching mails from old gmail or hotmail.com account) constan…
> Switching to their embedded DNS service pushes your whois information to the whole web Whois and DNS are two different things; whois information comes from the registrar; DNS providers have no control over whois records.
Re: Overture JS – A powerful basis for building web applications
#54Earlier quoted context omitted.
thats good to know, i wasn't aware of that. the named problems were just examples though... there are sadly others. * Right-click isnt implemented. * Switching to their embedded DNS service pushes your whois information to the whole web (pretty much every other dns service hides it behind anonymized contact information) * adding external mail servers (i.e. fetching mails from old gmail or hotmail.com account) constan…
> Switching to their embedded DNS service pushes your whois information to the whole web Whois and DNS are two different things; whois information comes from the registrar; DNS providers have no control over whois records.
Thats the day i've set the NS record to the fastmail server.
Re: Overture JS – A powerful basis for building web applications
#55Earlier quoted context omitted.
Does it offer encryption features like protonmail or tutanota? I had a free fastmail account for a very long time, but switched once they moved to a pay-only model. Basically fastmail is ok, but not really worth paying for. The interface isn't revolutionary, but does its job. If you're happy with gmail or whatever web-client you're currently using, you're not missing much.
I'm a paying user of FastMail and love it for the same reasons you think they're not not worth paying for :-) Simple, minimal, FAST interface. I want it to just show my email and get out of the way. It is great at it. No fancy animations, no heavy UI actions, very FAST to use. I can happily use it even over a cellular connection without bloat. Encryption like Protonmail - I wish Protonmail was the E2E encryption tool…
Re: Overture JS – A powerful basis for building web applications
#56Earlier quoted context omitted.
> Switching to their embedded DNS service pushes your whois information to the whole web Whois and DNS are two different things; whois information comes from the registrar; DNS providers have no control over whois records.
> (whois) Changed: 2017-10-02T13:26:26+02:00 Thats the day i've set the NS record to the fastmail server.
Re: Overture JS – A powerful basis for building web applications
#57Earlier quoted context omitted.
As a FastMail user, I must say the UI startup time is painfully loooong ...
As a FastMail user and staff member, I agree. You’ll be glad to know that when we implement offline support soon (and I’ve been looking forward to doing that since before I started working at FastMail!), startup will be much, much faster, because it will no longer need to ask the server a few questions before it can load the UI—it will already have the answers (though it’ll then ask the server whether anything change…