Earlier quoted context omitted.
There is an overhead, but the main problem with the new Reddit is not that it was made in React, but that it's a massive fuckup. Not only from a programming perspective but also design and UX.
Given how much they push you to use the app, it's possibly intentional.
Evergreen: a React UI Framework built by Segment
261–270 of 309 posts
Re: Evergreen: a React UI Framework built by Segment
#262Great, another UI framework that will not work with Vue, Marko, Angular, LitElement or basicly anything else than react. When will the trend stop :/ Can't we embrace web components already and have those UI frameworks work in all popular solutions out there? Every time something new comes out existing solutions are being rewritten from scratch.
Re: Evergreen: a React UI Framework built by Segment
#263What I don't get: Why is it just for React?
Re: Evergreen: a React UI Framework built by Segment
#264Earlier quoted context omitted.
My usage is typically const cmpClass = classnames('componentsMainClass', props.className, { dynamicClassesHere }); I like that the component's main class stands out and is easy to find, that allowing the consumer to pass along their own class is trivial, and that the dynamic classes are grouped together. So I'd argue multi argument and falsy thinning are welcome features. I've never used array flattening. Does it rea…
> const cmpClass = classnames('componentsMainClass', props.className, { dynamicClassesHere }); This is a matter of convention. Another, equally valid convention: classNames({ mainClass: true, // first key is main class [props.className]: true, // derived otherClass: true, // rest yetAnotherClass: true // ... }) At the end of the day, everyone has to learn their codebase's convention, and that's all that really matter…
classNames({
mainClass: true,
[props.className]: props.className,
otherClass: somePredicate
})
The props.className one in particular is pretty garish. Probably should do !!props.className to help explain intent a bit, which adds to the tedium. Once you've added falsy thinning and arbitrary arguments, you're 99% of the way to classnames.Re: Evergreen: a React UI Framework built by Segment
#265This list was posted a few weeks ago, but here is a fairly definitive list of similar UI frameworks: https://element.eleme.io/ https://ant.design/ https://quasar-framework.org/ https://at-ui.github.io/at-ui/ https://developer.microsoft.com/en-us/fabric https://vmware.github.io/clarity/ http://appnexus.github.io/lucid/ https://ng-lightning.github.io/ng-lightning/ https://blueprintjs.com/ http://www.jetbrains.org/ring-…
The question is: how many of these will be maintained several years later? Can you build a long term project on these? Or the expectation is that one has to make a new UI anyway every several years to keep up with the changing fashion, so rewrites are inevitable?
Using one of these frameworks helped us avoid that cost upfront and get the product out the door. If our company is still around in several years, I'll happily maintain it myself (or hire the original author).
EDIT: This comment assumes the framework of choice is open source.
Re: Evergreen: a React UI Framework built by Segment
#266Earlier quoted context omitted.
Another to add to the list: https://instructure.design (Disclaimer: made by my coworkers)
Scrolling momentum is broken on iOS for me, it makes the page very frustrating to read.
Re: Evergreen: a React UI Framework built by Segment
#267Earlier quoted context omitted.
I agree very much. However there are two points that make it difficult : - Virtual Dom. It simplifies a lot the creation of components. And components that are made for a VDOM are very different from those made without VDOM in mind. - Data Binding. There are multiple ways to bind data to your components, once again this might influence the way components are made. Those are not standard, some people like VDOM other n…
This is confusing. The only difference between if this were a web component vs a React component is that the consumer would not capitalize the name. Instead of ` ` they would do ` `. That's it.
With Web Components you're back in the land of saving element references, querySelector, addEventListener, and string-only attributes. It sucks. If you want something more like what React provides, where attributes (props) can be objects, functions, other React elements, etc. then you need to use a library (e.g. Polymer) that's just as non-standard as React is.
Re: Evergreen: a React UI Framework built by Segment
#268This list was posted a few weeks ago, but here is a fairly definitive list of similar UI frameworks: https://element.eleme.io/ https://ant.design/ https://quasar-framework.org/ https://at-ui.github.io/at-ui/ https://developer.microsoft.com/en-us/fabric https://vmware.github.io/clarity/ http://appnexus.github.io/lucid/ https://ng-lightning.github.io/ng-lightning/ https://blueprintjs.com/ http://www.jetbrains.org/ring-…
I made a graph showing download counts of those packages on npm - https://npmcharts.com/compare/carbon-react,material-ui,antd,... Obviously don't use that as a sole factor to determine what to go with, but with this many options, heuristics may be helpful to narrow down which ones to further investigate
Re: Evergreen: a React UI Framework built by Segment
#269Earlier quoted context omitted.
There may be some fast components in the Reddit web app, but I think there must be a valid reason why so many users are switching to the old Reddit (not just because of the way it looks, but due to performance complaints). I just went in and even scrolling through Reddit comments is laggy. Switching to old mode is like day and night.
This could also be due to a poor implementation of event listeners for scrolling, e.g. not throttling, which isn't necessarily a React issue.
I built a SPA recently and learned pretty quickly to replace `on('scroll', handler)` with a set-flag-and-sweep-at-slower-interval solution to bring down CPU usage.
While something like React alone isn't slow, building a SPA means you're taking on a lot more responsibility, and there's a lot more things that can go wrong.
Even something like "when user clicks an item, make loader spin until server response, and then render the detail page with the data" can feel much, much slower even though it's not from a clock-time standpoint.
Aside: Using a slow device as your main testing device is a life-changer if you want to catch this stuff early. It's hard to ignore this stuff when you have to feel the pain yourself on every refresh. Good reason to always keep your old phone around.
Re: Evergreen: a React UI Framework built by Segment
#270This list was posted a few weeks ago, but here is a fairly definitive list of similar UI frameworks: https://element.eleme.io/ https://ant.design/ https://quasar-framework.org/ https://at-ui.github.io/at-ui/ https://developer.microsoft.com/en-us/fabric https://vmware.github.io/clarity/ http://appnexus.github.io/lucid/ https://ng-lightning.github.io/ng-lightning/ https://blueprintjs.com/ http://www.jetbrains.org/ring-…