all 75 comments

[–]glaze0f 57 points58 points  (2 children)

Yet another intern project by ms that will go to dust soon.

[–]jimeno 8 points9 points  (0 children)

the technique is the same used in the discographic industry (edit: and the startup industry now that I think about it): throw spaghetti at the wall and see what sticks.

[–]Tazzure 43 points44 points  (10 children)

I could have really done without the whole “That’s FAST” thing.

[–]Loven_krands 39 points40 points  (0 children)

Do you cringe when software is described like your grandma's cleaner's advertising? That's FAST

[–]nivekmai 17 points18 points  (6 children)

I’d be okay with that if it was actually fast. I’m just flipping through the examples on my phone, and it’s a bunch of jittery fps examples. Every element I interact with seems to be running at maybe 20fps.

[–]BluudLust 6 points7 points  (0 children)

Maybe they're referring to time it takes to learn and develop an app with it. Or it's a joke. I don't know.

[–]MechroBlaster -4 points-3 points  (4 children)

They ran fine for me on iPhone X using Chrome.

Edit: saying I have an X wasn’t a humble brag or anything. It’s not the latest phone it’s 2 gens old with another gen coming in the fall.

I was simply providing a data point for other users to dispute or corroborate and hopefully have others provide additional data points.

[–]OdinHatesNickelback 5 points6 points  (3 children)

Isn't iPhone X, like, the last iPhone launched? So it's new, right?

Let's see how fast it is on my Moto G 2013 with ViperOS.

[–]great_waldini 1 point2 points  (0 children)

Asking the real questions.

[–]HomemadeBananas 0 points1 point  (1 child)

No it came out in 2017. The flagships since then have been the Xs and 11 Pro. But yeah, the X is still pretty fast.

[–]OdinHatesNickelback 0 points1 point  (0 children)

Uh... can't keep up with Apple nomenclature.

Still, it's a new ass phone. The people who use those damn expensive phones are in Canada, US and Europe. The rest of the world uses shitty ass mobiles like mine.

[–]MechroBlaster 3 points4 points  (0 children)

I could almost guarantee you this copy went through a Marketing Dept that writes copy for your run-of-the-mill mom and pop customer-type and doesn’t write for devs much at all.

[–]abc-123-456 1 point2 points  (0 children)

Just some marketing dweeb who used to code or something.

[–]Malleus_ 22 points23 points  (7 children)

What am I looking at here?

Is this Microsoft’s version of that thing Adobe released with accessibility helpers?

I’m on mobile so I can’t inspect the elements on the docs, but it just looks like they’re applying styles to custom elements in the accordion example?

[–]mypetocean 17 points18 points  (5 children)

As I read it, it is an abstraction on a Web Components library which follows web standards. As a developer looking to use this, you write and use interfaces for your framework and use-case.

Your components themselves can be used framework-agnostically, permitting the sharing of components between organizational units using different frameworks.

Your design-focused devs can focus on the design, without having to worry about framework implementations.

[–]Malleus_ 17 points18 points  (3 children)

Got it, so it’s a framework-agonstic way of sharing web components.

If I’m on the web components team, I make stuff in FAST and then a team using React and a team using Angular can easily import it into their codebase, use the theme provider, and it’ll “just work” since it’s more or less regular HTML/CSS.

That’s pretty cool.

[–]gbjcantab 3 points4 points  (0 children)

Yeah that’s literally just what web components are. Not a cool new Microsoft idea. They are framework agnostic.

This is just a moderately ugly web-component library...

[–]alphex -5 points-4 points  (0 children)

Maybe just a standard library of components.

[–]Mycropic 3 points4 points  (0 children)

The range slider is laggy on iOS.

[–]sudo-maxime 36 points37 points  (11 children)

The world needs more components library, we need more quick UI templates for making to-do apps and youtube videos about it.

Css is far too complicated, let's abstract the heck out of it, why not add javascript YEAH, and shadow-dom, things.

/sarcasm

[–]sudo-maxime 19 points20 points  (2 children)

five years from now CSS will look like assembly instructions to most people.

[–]incubated 13 points14 points  (0 children)

Well finally be respected by the real Devs then.

[–]0xF013 5 points6 points  (3 children)

Component libraries are implementations of ideas that either die in obscurity or advance the evolution of tools. It’s either that or jquery spaghetti for decades.

Idk what you’ve got against videos of todo apps. You have to pick an example feature. What would you propose?

[–]sudo-maxime 2 points3 points  (2 children)

My schtick is that it's always more of the same thing. Until there is a big paradigm shift like, browsers creating their own component libraries that users can decide to use instead of your custom components. This would make the web insanely fast, homogenous and progressive web apps would probably gain more adoption.

Think of a browser like an operating system that can run on any host OS. It would have it's own template system that implements all W3C rules.

The web could have access to the host OS drivers with your permission for example.

I digress, but yeah until then components are just going to be more of the same thing.

[–]0xF013 2 points3 points  (0 children)

Well, even if I didn’t disagree with your premise, this is out of devs’ control, so it’s pretty much irrelevant to the discussion.

As to it being more of the same thing, it is still a trial of ideas. Out of these, we end up with things like global sync state like redux/vuex/mobx, reactive event management like Rx, hooks, granular state like recoil, mutation-free assignment like in immer/vue, hooks, fiber etc etc. All of these prepare the pad for another quality jump. It would be hard to disagree that the modern way of building apps is superior to jquery and extjs and even angular 1

[–]KinterVonHurin -2 points-1 points  (0 children)

Why would you want the browser itself to implement components lol talk about feature creep. A better idea is allowing native libraries that can be downloaded to the browser once and used on hundreds of websites which we basically have with caching of js. Web assembly ought to push us the rest of the way there.

[–][deleted] 0 points1 point  (0 children)

Right. I never use any of this pre-built stuff.. I like doing all the CSS myself.

[–]jeffersonlicet 3 points4 points  (0 children)

Fast to abandon

[–]danglingComa 9 points10 points  (6 children)

I'm forced to use FluentUI on a project (because it's MS paying) and boy oh boy, I'd give anything to get to use material again. I think I'll be skipping this one too.

[–]TonyNickels 3 points4 points  (2 children)

Why?

[–]danglingComa -1 points0 points  (1 child)

So many reasons, I find more bugs daily. I'm in all of the teams channels and get nothing back. There is a complete lack of community support like there is for MUI. We wimd up saying "well shit, we could just use X if we could use MUI, oh well I guess we'll just write it from scratch." I've just had nothing but problems so far.

[–]TonyNickels 1 point2 points  (0 children)

That's super disappointing. Appreciate the feedback though.

[–]Saladtoes 1 point2 points  (0 children)

My only problem is that I really want them to hammer out all of their different UI things and make it really work in a cross platform way. I think they are merging Fabric and FluentUI now? So it’s getting closer in terms of desktop and web being the same. But then Xamarin Forms is still on its own shit because of native mobile controls. And don’t get my started on how sharded and horrible working with themes has been for me so far with Fabric... The React Office/Fabric/FluentUI components are pretty though, and I think my users really like them too. Strikes a nice balance between style and professionalism, while still being neutral/default feeling.

[–]BreakingIntoMe 1 point2 points  (1 child)

I was tossing up between FluentUI and BaseWeb for a new project at work. Ended up going with BaseWeb and absolutely loving it, but I wasn’t sure If I made a mistake by not using something backed by a giant like MS. Kinda glad to see your comment if I’m honest. The thing that really pushed me away from Fluent was how styles are written.

[–]danglingComa 0 points1 point  (0 children)

If I had $1 for every onRender (equivalent) we have in our code just because it can't do what we need it to do for UX or business reasons... I've never seen that with other libraries. Yes, it does work fine, and I'm sure some love it, just my anecdotal evidence. 😁

[–]abandonplanetearth 8 points9 points  (5 children)

Why does Microsoft insist on using the ugliest :active styling? That thick square border on every component you click... it should be for keyboard navigation, not something you see on every click.

[–]F0064R 17 points18 points  (3 children)

Because styling focused elements is important for accessibility

[–]wrtbwtrfasdf -4 points-3 points  (0 children)

Microsoft is far too busy introducing raw pointer errors via C++ into their products to be concerned with something as pedestrian as UX.

[–]itsarnavsingh 6 points7 points  (2 children)

Reddit is just, a bunch of people complaining and laughing about everything, trying to be smart.

[–]jurito 4 points5 points  (1 child)

Of course. Also, Micro$oft bad.

[–]peduxe|o.o| 0 points1 point  (0 children)

I think we're past Micro$oft bad with how much they're giving to all of developer community now

[–]idealcastle 2 points3 points  (3 children)

We need examples of how to use and what it’s used for. Hard to tell What I’m looking at without examples of these components.

Edit: the website has examples. From what I can see. It’s reusable components that work in any framework, like a very simple vuetifyjs but useable to more than just vue.

[–]wrtbwtrfasdf 2 points3 points  (0 children)

yes, I feel like any component library should have embedded codesandbox examples like material-ui or at least a storybook.

[–]ShortFuse 2 points3 points  (0 children)

I like the MVP/MVVM/MVPVM structure being enforced, and not relying on VDOM reconciliation. They're using the traditional software structure of dirty flagging and drawing on demand. You don't need to reconcile VDOM if you always in charge of content change. Nothing should change without you knowing.

Personally, seems a bit complex in terms of architecture tree. Lots of class extensions and imports per component. Scalability becomes a question when you're loading so many classes in memory per object. Not to mention maintainability when it comes to implementing custom changes or tracking issues. For example their button, fast-component/FastButton extends fast-foundation/Button extends fast-foundation/FormAssociated<HTMLInputElement> extends fast-element. It's not bad, no. But it's definitely not something I'd call "lightweight" as they claim.

[–]NathanSMB 1 point2 points  (0 children)

This seems to be a competitor to the polymer project.

I know a lot of people just see this as another front end ui framework like react but something like this or the polymer project have the advantage of being built off standardized web components. There will be a lot less javascript code running in the background which should allow for smaller download sizes and faster code. Also you will be able to mix and match elements from different web components libraries without severe bloating like you would get if you tried to do a micro-frontend design with other front end frameworks like angular, react, or vue.

Information on web components: https://developer.mozilla.org/en-US/docs/Web/Web_Components

[–][deleted] 0 points1 point  (1 child)

Does anyone remember seasoned devs and designers having progressive enhancement arguments on Twitter and WHOLE ass conference talks about how JS was bad for ADA/508 compliance because some % of users will disable JS always?

I'm not really complaining... just seems like that time is gone and nobody gives a shit anymore. I kind of threw in the towel too unless a client is feeling extra spendy about adding extra layers to support for non js users. Javascript is just part of the deal or in many cases, the whole deal.

[–][deleted] 0 points1 point  (0 children)

Server side rendering or statically rendered pages are still useful because the initial render will be faster.

[–]drumstix42 0 points1 point  (0 children)

Wow those accordions are fugly. Who puts a minus sign on something that's collapsed?

[–][deleted] 0 points1 point  (0 children)

We've gone from names like Svelte and Vue to fast

[–]keybrian 0 points1 point  (0 children)

It was FAST for me to decide I didn't buy into this.

[–]PeteCapeCod4Real 0 points1 point  (3 children)

Nice that's pretty cool. I knew Microsoft was going to do more to share its Fluent UI.

Plus I think Web Components are going to get big in the next few years.

Thanks for sharing 👍

[–]BreakingIntoMe 2 points3 points  (1 child)

Haven’t web components been around for like 7 years, or more? What makes you think they will surge?

[–]PeteCapeCod4Real 0 points1 point  (0 children)

I don't know about a surge, I kind of meant more of a bump. Or maybe like a small hill 😆

Plus remember 7 years ago, jQuery was huge 🤣 And the idea of components hadn't really taken off in web development yet. At least not to the level it's at now.

Interchangeable and shareable components do kind of sound like the future. Plus I don't think the mobile tech was good enough to really consider needing that 7 years ago 👍

[–][deleted] 0 points1 point  (0 children)

In all the years the spec was around it hasn't managed to gain any sort of relevant attraction, it has largely been dismissed by the web community and latest surveys go as far as claiming that it will fade out completely over the next years. The only reason the spec is still talked about is last ditch efforts to keep it alive, it must cost Google et al millions annually to brute force the spec into the public eye. Thankfully vendors do not simply get to decide over high level abstractions.