4 comments

  • solardev 6 hours ago ago

    AngularJS (aka "Angular 1.0", as distinct from the 2.0 and later rewrites/rebrands into "Angular" without the "JS" part) was a batteries-included framework that tried to mimic the older web frameworks. It used a then-common model-view-controller architecture which required a certain way of structuring your code. It had a higher learning curve and was ideologically rigid, but resulted in much cleaner code compared to the "jQuery soup" of the day.

    Then React came in and said "screw all that, we just want to make it easy to componentize the web". It was much less architecturally rigid and basically the only thing you had to learn was that rendering was a function of state. The rest of the architecture was up to you. That made it easy to pick up to do a simple dynamic component, but it made everything else much messier: routing, cross-component state sharing, data binding, etc. It had a much shallower initial learning curve but gave you way more footguns later. Unfortunately, as often happens in the web world, ease of use won out, and generations of devs basically grew up coding for the web much like they did in the jQuery days: thinking of it as document markup with some sprinkled-in, tacked-on dynamicness rather than a top-down architected codebase.

    React's pitfalls as a barebones "UI as function of state" library made it super popular, but it was also too minimal for most real-world use cases. So an ecosystem sprung up around it, giving us things like React Router, React Toolkit, Next.js, etc., which tried to add the batteries back into React. By that time Angular was already irrelevant, much like .NET (on the web).

    The Web has always been the wild west of software development, where anybody and their horse can come up with a new paradigm, and if it's easy to use, it will displace the current popular method. Cleaner code always loses to ease of use. React itself went through a similar cycle with Angular, Next came in and displaced all the other frameworks, but now Next itself is getting too complicated and simpler solutions like Vite or Astro are taking hold. The cycle starts anew... (sigh).

  • 1GZ0 7 hours ago ago

    It made it way worse, just by convincing people that making everything in react would make recruiting easier.

  • 7 hours ago ago
    [deleted]