Hacker News new | comments | show | ask | jobs | submit login

> Maybe they don't want to fix what's not broken

Unfortunately, this doesn't appear to be the case. They haven't been hiding that they're gearing up for a major redesign.

From what I've seen so far, I'm not at all excited for it. They launched user profiles recently, and it's an uninspired blocky design with way too much unnecessary whitespace for a desktop site. Also, even on desktop there is noticeable Javascript induced lag and content pop in. Although the rest of the profile page tries to look like a standard reddit page, it's actually entirely done with react and the subreddit/notification bar at the top has the same lag and content pop in. They're also hiring mainly for React frontend/Node.js backend, so I'm worried the entire redesign is going to be low density and slow.




I'm in a weird position there. I've recently decided on react for most of our frontend in the future because of all the technical advantages this offers and the productivity benefits I see, but I still harbor reservations against react because in practice I've rarely seen react pages that feel snappy and fast, rather than choppy and slow.


Interesting observation, b/c one of the original value propositions of React's virtual dom model was faster rendering than most other frontend frameworks at the time. I wonder if it's gotten so complicated it lost that?

If so, there are a number of other intentionally lightweight virtual dom frontend frameworks. Mithril, Riot, Preact, virtual-dom all come to mind, and there are a probably a few more.


>Interesting observation, b/c one of the original value propositions of React's virtual dom model was faster rendering than most other frontend frameworks at the time. I wonder if it's gotten so complicated it lost that?

That has been shown to not hold in actual benchmarks. The real DOM is plenty fast if you do it right.

Here's Facebook's Dan Abramov (of Redux fame): "Myth: React is “faster than DOM”. Reality: it helps create maintainable applications, and is fast enough for most use cases."

https://twitter.com/dan_abramov/status/842329893044146176?la...

https://objectpartners.com/2015/11/19/comparing-react-js-per...


React's virtual dom/diffing is certainly not "slow". It's not the tool that's the problem, but how it's used. There's also more to perceived slowness than how fast your library reconciles the DOM, e.g. I too often encounter pages that will "preload" all their assets behind stupid loading screens, ill-timed CSS animations, modals on top of modals, React Components that badly wrap jQuery plugins, leaked callbacks, …

tl;dr Don't blame tools but their usage


React can certainly be fast enough but isn't it completely unnecessary for a mostly-static site like Reddit?


Yea, I would say so... I guess from a developer standpoint it makes it easy to just have a "Post" component with various elements. I did this for a Reddit clone using Angular and ng-repeat and whatnot. I don't think it's performance beneficial though.


Most of the performance loss is due to using a frontend framework at all. Differences in such frameworks is then little. You need two round-trips at each page-load because you need the base HTML page then the data and rendering in the browser is orders of magnitude slower than rendering server-side with a good rendering engine.

I understand the point of frontend frameworks for SPA, not so much for Reddit profile pages which are literally single, static, pages.


You can render React server-side on first page load, though, and there will be no lag waiting for the page to render and initialize. I think that most people don't do it because there is extra work involved, but IMO if you're a huge site like Reddit, there's no excuse for not doing so, it seems like laziness.


It's not React specifically. It's just JS. Reddit already has the worst performing mobile site because it's full of JS.




Applications are open for YC Winter 2018

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: