Live data from Hacker News

Microsoft Fast Design

fast.design

41–50 of 216 posts

Re: Microsoft Fast Design

#41
post #37

The "fast slider" is a perfect example of how animations make something perceptually slower, and might even be problematic as it implies the underlying value change is lagging behind the UI update.

The slider thing is horrible, it animates while dragging so it looks like it's lagging behind the cursor.

Re: Microsoft Fast Design

#43
post #22

Check out the FAST Component explorer to see it in action: https://explore.fast.design/ Looks very flexible but the presentation and default design is horrible.

The default design looks awful, especially on phone. I’m not a frontend dev, but I don’t see any reason why would I use this instead of, for example, Bootstrap for sideprojects. Can some FE comment on the project usefulness? Why go with Fast?

The impression I get is FAST is trying to simplify the markup you see in for instance Bootstrap's documentation by trying to build standard components that Bootstrap themselves could use (or Material or their own Fluent stuff). The emphasis is on a lot of the little things in Bootstrap's documentation that doesn't either get copy/pasted or it gets copy and pasted and ignored/forgotten/left-to-bit-rot. Stuff like aria- tags for accessibility. Seems the idea here is that by baking them into web components that do most of the work for you they are less likely to be forgotten or left to bit-rot.

(I'm not a front end dev myself, but do enough full stack to think I know what is going on here.)

Re: Microsoft Fast Design

#44

Ok, so it looks like the main point of this is fast-components, which is a just a bunch of components styled as MS-style, but I'm more interested in the fast-foundation package. According to the instructions: > The exports of this package can generally be thought of as un-styled base components that implement semantic and accessible markup and behavior. > it exports parts and pieces intended to be composed into Web C…

The foundation package sounds a lot like the Lion components that ING Bank open sourced last year. It is indeed super handy to not have to worry about all the browser compatibility and accessibility issues!

Link to Lion's storybook demos for those interested: https://lion-web-components.netlify.app/?path=/story/intro-l...

Re: Microsoft Fast Design

#45

It looks like LitElement but more TypeScript first. The decorators do make it a bit more approachable for me.

LitElement is written in TypeScript so has great typings for all APIs, and TypeScript (and Babel 7) decorators. There's also a template type-checker CLI, compiler plugin, and VS Code extension: https://github.com/runem/lit-analyzer The big difference from Fast is that LitElement's render() method is an instance method, so it can access any state with `this.` and any properties and methods it uses can be overridden. B…

Yeah, LitElement definitely has a cleaner render template. How would one do a computed property in LitElement?

Re: Microsoft Fast Design

#46
post #37

The "fast slider" is a perfect example of how animations make something perceptually slower, and might even be problematic as it implies the underlying value change is lagging behind the UI update.

While sliding it from 0% to 100%, the 'thumb cursor' reaches 100% before the mouse pointer does, after some strange animation 'jumps' which have no bearing on the step value setting.

Also, clicking anywhere on the bar doesn't set the slider to the centre of the click. They don't appear to be making the correct calculations based on Bounding Client Rects and Offset widths.

Re: Microsoft Fast Design

#48
post #16

Took a quick look: It has limited components. It isn't fast on my mobile device. Some components appear to be broken. Why would I ever use this?

Sliders and radio buttons do not seem to work on Firefox for Android nightly build.

Neither do they seem to work in desktop Nightly.

Re: Microsoft Fast Design

#50

Earlier quoted context omitted.

LitElement is written in TypeScript so has great typings for all APIs, and TypeScript (and Babel 7) decorators. There's also a template type-checker CLI, compiler plugin, and VS Code extension: https://github.com/runem/lit-analyzer The big difference from Fast is that LitElement's render() method is an instance method, so it can access any state with `this.` and any properties and methods it uses can be overridden. B…

Yeah, LitElement definitely has a cleaner render template. How would one do a computed property in LitElement?

You really don't need any special for a computed property. I'd start with a simple getter:

    class MyElement extends LitElement {
      @property() value: number = 42;
      get valueSquared() {
        return this.value ** 2;
      }
    }
If the value is expensive to compute you can memoize it in the getter, or set it in update.
Post reply on HN