Live data from Hacker News

React is mostly hype

en.arguman.org

71–80 of 138 posts

Re: React is mostly hype

#71
I'm still undecided as to whether React is up to snuff for large-scale development projects. I work in a medium sized company developing enterprise-targeted web software. We have been using ASP.NET + jQuery + whatever JS design pattern to artificially namespace our JS for about five years. This summer we moved to React + Redux for a new product and it has been pretty amazing. Productivity did not go up (immediately), in fact, learning the React way and constant adjustments to what we were storing in Redux slowed us down considerably. However, we are across that hump and it FEELS like we have some really good, reusable components that will save us lots of time going forward. At this point, extension and composition should be really trivial and the next few months will really form my opinion on React as a tool (and of course, myself as a user of that tool ;) ).

However, the ecosystem, not just React but the npm ecosystem in general, has been a bit disappointing. Things move very quickly in some places but not others. React itself has broken or generated warnings numerous third party packages that, hopefully, will catch up. It's disappointing because it basically forces us to not update our main dependencies until everything has moved with it. Perhaps that's my fault for placing the npm/js world on a pedestal, but then again, I think I've only done that because, while .NET is generally favorable today, the inertia of past criticisms had led me to believe that the .NET ecosystem was somehow inherently deficient or broken when compared to the JS ecosystem. At this point, they seem fairly similar in terms of quality and choice.

One big plus with moving to any npm-centric development is that, coupled to a move to Windows 10 and using bash, a lot of the dev workflow has moved out of, say, Visual Studio and into a command line. This is great because as we move build and deployment configurations between machines and tools (say to Jenkins), there aren't lots of details hidden in our project and solution files. It offers a clarity I didn't know I wanted.

Re: React is mostly hype

#72
Neither React or Angular are mostly hype. I posit that SPA's, whose implementation is made less painful by React, are mostly hype.

I liken it the Lisp macro analogy. Never write an SPA unless absolutely necessary--stick with a web page with some dynamic js-driven features as needed.

Re: React is mostly hype

#73
post #15

Earlier quoted context omitted.

> And Qt is getting really better and better each day, and right now is pretty portable, so you don't have to write 3 different versions of apps for different operating systems. Assuming you want to write an app in C++ that doesn't need it, and are comfortable with not having any of Electron's sandboxing features. While JS isn't my preferred language, it does beat doing everything in native code with full filesystem…

PyQt?

Shipping anything Python on Windows is a headache I don't want to deal with.

Re: React is mostly hype

#74
post #54

Earlier quoted context omitted.

This was one of the _problems_ React solves. Before with libraries like jQuery every potential action had to perform it's own UI modifications. As the projects grows you have the same UI element being controlled from many different sections of code. States and state transitions not clearly defined. With React you set the state and the UI will always match, no matter how the current state was achieved. The purpose was…

Willy-nilly DOM and state modification wasn't a requirement with jQuery, it was just how a lot of people chose to (not) structure their applications.

It wasn't a requirement but it was encouraged.

jQuery was all about selecting a node or node list and then applying manipulations to it.

Re: React is mostly hype

#75

I don't really see the difference between most modern JavaScript "frameworks". It's mostly in the details, and any of them would work just fine. At this point it's like arguing which of X number of programming languages are the best. Part of seems to be: "How dare people not like the tool I prefer", or simply that people don't want to be bothered to learn yet another JavaScript library (which I can understand, but I'…

First time I read a blog post about react and saw it's artifacts so to speak I threw up in my mouth. Js AND HTML, mixed! Wtf? I spoke about this to lots of front-enders who laughed and called me old. I agree with your point. If markup and UI code can be separated, why wouldn't you strive for such a solution?

Re: React is mostly hype

#76

I see some point-missing arguments being made here. React isn't for scale. And it isn't to side step learning about html and css. It's main reason for existence is to make complex UIs easy to manage. Pretty much the only argument I can think of against React is that it's a boil-the-ocean system. Once you start doing your UI with it, you pretty much need to make the entire thing use react to really benefit from its mo…

React is for scale, just not the way you think: React is designed to allow lots of journeyman web developers implement parts of a web page together, such that every component can work by itself and that one component's failure does not break other components, allowing pages consisting of multiple components that may have been dynamically assembled from dozens of different authors to work together.

This seems to be a central point that the "I can just do this in CSS/HTML/JS" crowd continually misses. It really doesn't matter that you can do it... It matters that you can dynamically compose your work with hundreds of other people.

IMHO, most expert devs don't meet this bar with pure web tech, but unlike the W3C, I don't blame the webdev for poorly composing solutions, I blame the web standards themselves for poorly defined compositional properties.

But the platform has at least risen to the level where we can define its behavior ourselves. So I think it's healthy for other sources to push innovation because React upped the ante for Web Components and Web Assembly. The W3C will eventually understand the need for composition and isolation at scale, but they would have taken a lot longer to recognize the use-case without a competing concept like React.

Re: React is mostly hype

#77

I don't really see the difference between most modern JavaScript "frameworks". It's mostly in the details, and any of them would work just fine. At this point it's like arguing which of X number of programming languages are the best. Part of seems to be: "How dare people not like the tool I prefer", or simply that people don't want to be bothered to learn yet another JavaScript library (which I can understand, but I'…

This is the best comment in the thread. And as if tech hiring wasn't bad enough already nearly every company hires with the expectation that you have hands-on professional experience with the framework as if it would take years to jump from Angular to React. If you're comfortable with at least one JavaScript framework, I don't see it taking anyone very long to acquire the knowledge to start working on another.

Re: React is mostly hype

#78
post #8

The arguments are pretty vague, for example > React becomes counterproductive when developing apps that aren't mere demos. I have developed big apps in Backbone, moving very the same apps to React and the productivity went up madly. Facebook does develop apps which certainly cannot be considered "mere demos" and you can see them in action, for example Ad Manager for Facebook on iOS (written in React Native). Facebook…

React itself is pretty simple and very nice to work with. The whole react/redux/react-redux/react-router/react-router-redux/webpack/babel/flow agglomeration on the other hand is a lot more complex and subject to a lot of api churn. But you can actually get pretty far just using React by itself. Don't adopt other parts of this stack until you actually really need them and you can go pretty far with just a few concepts…

> Don't adopt other parts of this stack until you actually really need them and you can go pretty far with just a few concepts.

Redux is very core concept. You'll have to rewrite half of an application, unless you use it from the start. Routing is essential for any serious web site, so you have to implement it one way or another, and not using working libraries looks strange. Same about babel — either use it from the start or rewrite half of code later (or have a mess). Also I think that babel currently the way to process JSX, so unless you avoiding JSX (which would be very strange), you have to use it anyway.

I don't agree, that you can avoid all this stuff, unless you are just learning on throwaway pet projects or willing to reimplement a lot of things which are already have good enough implementation.

Re: React is mostly hype

#79

What is this nonsense? > It's marketed to developers by billion dollar Facebook, a company historically intent on squashing startups. This is a poisoning the well fallacy. > The benefits of using a virtual DOM over the actual DOM are theoretical at best. The problems that React supposedly solves are theoretical at best. This "argument" contains zero information. > That's why there's Redux! Redux and react don't solve…

This being the Internet, I'm tempted to say it's a parody.

Re: React is mostly hype

#80
I did one medium sized SPA in react (using alt.js) last year and wasn't really convinced, maybe i did something wrong but i did not feel the amazing productivity boost that so many people mention. Managing a lot of dependencies of the modules i used for various things like forms, file uploads etc has been painful and in general the module quality felt very alpha in many cases so i ended up reinventing what has already done pretty well in angular in terms of functionality. Code organization and best practices also wasn't easy to come by because of the many ways of doing things and in the end some solutions felt more like hacks than a solid implementation. Angular1 is certainly not perfect but i found the whole thing to be much more consistent and Angular2 using Typescript is what i prefer most right now.
Post reply on HN