from Hacker News

Progressive React

by brandonhall on 12/20/19, 8:19 PM with 84 comments

  • by mhd on 12/21/19, 12:15 PM

    "Performance advocate" is a thing now? Things like that or "growth hacker" make me long for the peaceful days of "ruby rockstars" and "javascript ninjas"...

    Never mind the fact that we're plowing the depths of functional programming, complex data structures and asynchronous wizardry just to make sure that displaying a few bytes of text and flat-shaded borders isn't too slow.

    I don't remember GUI programming being that hard in the years before this. At least for these rather simple results. Getting a full DTP platform out on a 20 mhz machine with 4 MB of RAM required some advanced pattern wizardry, but most web UI patterns aren't that complicated. They just aren't helped by the client-server nature and Javascript being Javascript, as much as you wrap it up in the Emperor's new C# clothes.

    > Sites have become bigger, more interactive and more complex and this number is still gradually increasing in an upward trend year after year.

    Yeah, but is it useful complexity? The whole frontend scene often reeks of "bullshit job" syndrome. To get results customers could live without in a framework not re ally suited for it, we're developing complex tools, even more complex tools to package and deploy them and then have more coaches, trainers, video walkthrough creators and premature optimization providers than ever before.

  • by ahartmetz on 12/21/19, 12:04 AM

    It's funny because scrolling in this article is a stuttery mess (Firefox on Linux).
  • by adatavizguy on 12/21/19, 2:08 AM

    As someone who has web apps in production written in backbone.js, Angular, and React, I can say selectors with Reselect to transform all the data being passed into props, Sagas to manage all async workflows, and Ramda with Redux reducers is pure fire. There is no business logic in components or containers unless it is tied directly to the view and layout, not for the data. It is such an easy way to reason about huge amounts of data coming into the system from lots of different places. For performance, everything gets memoized based on object references. Using the immutable data structures in the store, Reselect keeps the transformed data cached with memoization until the object reference is changed in the store.
  • by timw4mail on 12/21/19, 12:21 AM

    The more I deal with it, the more I hate React, and the very idea that websites must require Javascript to just show HTML.
  • by singlow on 12/21/19, 12:01 AM

    Start by making your blog not crash android chrome.
  • by 5Qn8mNbc2FNCiVV on 12/22/19, 10:53 PM

    Visiting that page on the Pixel 3aXL and it literally crashed while scrolling. I've never had that happen once in the last few years. Damn.
  • by duxup on 12/21/19, 1:45 AM

    Is that site crashing anyone else's browser?

    I'm using chrome on Android and it kills my browser every time.

  • by jingw222 on 12/21/19, 1:03 AM

    So progressive that the minute I open the page, it crashes. Have no idea why that is.
  • by ggregoire on 12/21/19, 1:40 AM

    Great write up, going deep into the topic.

    This comments section tho.

  • by qbaqbaqba on 12/21/19, 10:46 AM

    Crashes mobile Chrome.
  • by seph-reed on 12/20/19, 11:59 PM

    I know this is a low quality comment, but given I was once the guy at my last company who's job it was to make React do things it didn't want to, I really dislike React. It's a dead end for interactive UIs, and the closer you can stay to native html elements with encapsulation, the better off you'll be later down the road.