I'm not "technology-agnostic"- I only use React, and will only work for companies that use React. React is the best.
169 karma · joined June 27, 2017
I'm not "technology-agnostic"- I only use React, and will only work for companies that use React. React is the best.
I don't use React because I'm being forced to. We chose React!
Literally what? React is responsible for infinitely scaling frontend features and career growth I never could have imagined.
Well, the best analogy I can think of is a black belt in karate. It takes 10 years or whatever to get that. It has no marketable purpose. Why do it? The answer is more than "to get a job". It's about Discipline. Focus. Intense research into fundamentals. Stretching your limit if what you can learn in a weekend. Writing half a page of assembly code on a piece of paper. Debugging a C program. Red black trees. These have no purpose, but when reflecting on these experiences, I would not trade them for a second for "Intro to Javascript and HTML".
I am curious if you've gotten a degree yourself, and whether that degree was from a reputable school. My CS degree is one of my proudest and most difficult accomplishments in my life.
The difference in someone with a 4 year CS degree and a bootcamp graduate is jarringly apparent and one that I have uncomfortable experience with.
My following statement will cause me to be downvoted, because the truth makes people uncomfortable. Computer Science education is a rite of passage, like getting a black belt, becoming a priest, doctor or anything else that requires intense study with peers for extended period of time.
The CS degree at a top school is more than a signal, its a badge of honor and respect. You may choose to ignore it to your own peril.
Prior to React, we were using Backbone, Handlebars and jQuery. It was horrible. Logic was put into Handlebars templates, Backbone models created an unnecessary abstraction, we had to setup our own event handlers for every model -> view change. It just didn't work. JSX solved all these problems.
Frontend-state management with React is not complicated. There is a current trend to trash React because of its perceived complexity. Take it from an experienced React developer- it's easy and fun. Hooks are a short syntactic sugar over its lifecycle methods. Once you learn hooks, there isn't much more to learn.
I'm not sure where you are in your career now, but I recommend that you give React another chance, and avoid jumping on the bandwagon to hate on React. It's solved so many problems for me and allowed me to actually enjoy my job as a software developer.
The Browser manages HTML, CSS and JavaScript and provides Developer Tools to debug and manage these languages. When you build with a javascript framework, you package a user experience that is entirely run by the browser, only to dispatch and save to the server when necessary.
I doubt there is a future for "backend SPA" frameworks- no one will take seriously the idea of, instead of two REST calls to get and put data, every client must connect through a socket to manage user input. Surely that will dramatically increase server bandwidth, and ignite the same type of "bloat" arguments that SPA critics use.
Hotwire makes no sense: switching to managing client-side state on the server and sending HTML over the wire introduces a ton of problems: you are going to have to write and debug JavaScript eventually. Now your server is running client-side code to update every local browser state? How is that scalable at all?
React has a ton of great libraries for UI that these articles always ignore: Something like react-select to manage a dynamic dropdown- you can't implement that on the server.
You need SPAs for complex dashboards, and React is a great library to store and update local state. I don't understand what the controversy is.