Comment by simonw

Comment by simonw 3 days ago

23 replies

I'd love to hear the inside story of GitHub's migration of their core product features to React.

It clearly represents a pretty seismic cultural change within the company. GitHub was my go-to example of a sophisticated application that loaded fast and didn't require JavaScript for well over a decade.

The new React stuff is sluggish even on a crazy fast computer.

My guess is that the "old guard" who made the original technical decisions all left, and since it's been almost impossible to hire a frontend engineer since ~2020 or so that wasn't a JavaScript/React-first developer the weight of industry fashion became too much to resist.

But maybe I'm wrong and they made a technical decision to go all-in on heavy JavaScript features that was reasoned out by GitHub veterans and accompanied by rock solid technical justification.

GitHub have been very transparent about their internal technical decisions in the past. I'd love to see them write about this transition.

simonw 3 days ago

In answer to my own question about in-depth decision making, I just found this presentation from February 2025 by seven-year GitHub veteran Joel Hawksley: https://hawksley.org/2025/02/10/lessons-from-5-years-of-ui-a...

Relevant quote:

> But beyond accessibility and availability, there is also a growing expectation of GitHub being more app-like.

> The first case of this was when we rebuilt GitHub projects. Customers were asking for features well beyond our existing feature set. More broadly, we are seeing other companies in our space innovate with more app-like experiences.

> Which has led us to adoption React. While we don’t have plans to rewrite GitHub in React, we are building most new experiences in React, especially when they are app-like.

> We made this decision a couple of years ago, and since then we’ve added about 250 React routes that serve about half of the average pages used by a given user in a week.

It then goes on to talk about how mobile is the new baseline and GitHub needed to build interfaces that felt more like mobile apps.

(Personally I think JavaScript-heavy React code is a disaster on mobile since it's so slow to load on the median (Android) device. I guess GitHub's core audience are more likely to have powerful phones?)

  • homebrewer 3 days ago

    For contrast, gitea/forgejo use as little JavaScript as possible, and have been busy removing frontend libraries over the past year or so. For example, jquery was removed in favor of native ES6+.

    Let them choke on their "app-like experience", and if you can afford it, switch over to either one. I cannot recommend it enough after using it "in production" daily for more than five years.

  • elktown 3 days ago

    I honestly believe that the people involved likely already wanted to move over to React/SPAs for one reason or another, and were mostly just searching for excuses to do so - hence these kind of vague and seemingly disproportional reasons. Mobile over desktop? Whatever app-like means over performance?

    Non-technical incentives steering technical decisions is more common than we'd perhaps like to admit.

  • datadrivenangel 3 days ago

    What's nuts about that presentation is that the github frontend has gone from ~.2 to >2 Million lines of code in the last 5-6 years. 10x the code... to get slower?

    • elktown 2 days ago

      That also means a much larger team and great possibilities for good perf reviews, so basically an excellent outcome in a corporate env. People follow incentives.

  • LtWorf 3 days ago

    Who has ever used github on mobile?

    I'd like to see their logs about this.

    • simonw 3 days ago

      Me, every day.

      • LtWorf 3 days ago

        And what do you achieve by doing that?

        Seems a small audience to optimise for.

  • blibble 3 days ago

    github is a tool used where code is written: on desktop computers

    no-one cares about the github mobile experience

    microsoft making the windows 8 mistake all over again

    • simonw 3 days ago

      I interact with GitHub on my mobile phone every day.

      • blibble 3 days ago

        yeah and I bet three people used Windows 8 on tablets too.

  • sunaookami 2 days ago

    What does "app-like" even mean? It's a website, not an app. Don't they have a native app for phones?

ben_w 2 days ago

> My guess is that the "old guard" who made the original technical decisions all left, and since it's been almost impossible to hire a frontend engineer since ~2020 or so that wasn't a JavaScript/React-first developer the weight of industry fashion became too much to resist.

I very much hope not, but fear you're right.

I'm (theoretically) an iPhone app developer, and I really dislike the Reactive idiom: I can see the theoretical benefits, but in practice, the magic glue has never worked right, and comes at a painful performance cost. React is to me what LLMs are to LLM-skeptics.

I'm retraining anyway due to LLMs and how well they eat UI, but I don't yet know where I'll end up next.

cess11 3 days ago

If it's fast people don't stick around for as long. Make it sluggish and you get more stonks analytics.