News for hackers. Stuff that matters.
Re:Why You Shouldn’t Use ReactJS for Complex Projects by JamesMcMinn on Sunday February 05, 2017 @05:31PM (#13575081)
I don't think the author of this article really understands what React is and what it is not. They repeat several times that React is a framework - it is not. React is a library, one which you can use to render components and build interfaces. It doesn't claim to be a Framework for handling data, and making comparisons between the number of lines required to write tiny TODO applications isn't exactly convincing when the argument is that you shouldn't use React for complex projects.

The author writes off solutions such as Redux which are designed to solve nearly all of the "problems" the author assigns to React because they add extra layers to the application, however in reality, separating your data and your views is EXACTLY the point - that's what helps to make complex applications manageable.

The article is really an advertisement for the authors own framework Binding.scala, rather than a critical look at React.

Re:Why You Shouldn’t Use ReactJS for Complex Projects by wvenable on Sunday February 05, 2017 @07:42PM (#13575671)
If you have to architect your project around the use of this "library" then it smells a lot more like a framework.
Re:Why You Shouldn’t Use ReactJS for Complex Projects by JamesMcMinn on Sunday February 05, 2017 @08:04PM (#13575768)
You don't architecture you project around React - you simply fit react in wherever you want to render the UI. React has a very small API, most of which are simple lifecycle methods for dealing with changes in the state of a component [1].

You tell React that you'd like to Render component X inside DOM element Y, and that's really all React does. There's no architecturing your project around React.

[1] https://facebook.github.io/react/docs/react-component.html

Re:Why You Shouldn’t Use ReactJS for Complex Projects by yangbo on Monday February 06, 2017 @01:56AM (#13577162)
Even though, the number of React's API is still larger than [Binding.scala's API](https://static.javadoc.io/com.thoughtworks.binding/binding_2...).
Re:Why You Shouldn’t Use ReactJS for Complex Projects by jaredklewis on Sunday February 05, 2017 @11:42PM (#13576523)
The architecture of any web application will be affected by your view layer, whether it is react, custom built, or any thing else.

Yes, if use react, you need an architecture compatible with the reactive paradigm.

Re:Why You Shouldn’t Use ReactJS for Complex Projects by thatswrong0 on Sunday February 05, 2017 @09:51PM (#13576166)
You will want an application architecture if you're writing a complex project with any view library. React isn't special in this regard.
Re:Why You Shouldn’t Use ReactJS for Complex Projects by wvenable on Monday February 06, 2017 @12:23PM (#13581679)
Agreed. It's only special because some people want to call it a library instead of a framework.
Re:Why You Shouldn’t Use ReactJS for Complex Projects by thatswrong0 on Monday February 06, 2017 @01:33PM (#13582441)
That's because it _is_ a library. If you compare it to something like Ember, it's pretty obvious that's what it is.
Re:Why You Shouldn’t Use ReactJS for Complex Projects by throwaway2016a on Monday February 06, 2017 @11:39AM (#13581138)
> The article is really an advertisement for the authors own framework Binding.scala, rather than a critical look at React.

I'm not sure how I feel about this. One one hand he's clearly biased. On the other hand, for a new project if he doesn't promote it no one will. It's important to market your product even if that product is an open source project.

Although if this was a serious journal or newspaper there would be a very clear disclaimer somewhere. Which is lacking in this article.

Re:Why You Shouldn’t Use ReactJS for Complex Projects by specialist on Sunday February 05, 2017 @08:23PM (#13575861)
Last time I had the library vs framework argument (1996), I concluded with this definition:

You call a library.

A framework calls you.

I don't know React, so can't say which it is.

Re:Why You Shouldn’t Use ReactJS for Complex Projects by acemarke on Sunday February 05, 2017 @09:27PM (#13576098)
Yeah, I would agree that in that sense, React is a framework. You call ReactDOM.render(), but from there it instantiates your components and calls their lifecycle methods as appropriate.

On the flip side, it's nowhere near as all-encompassing as Angular or Ember. No built-in AJAX handling, no complex data model manipulations, no preferred project architecture. So in that sense, it's much closer to the library side of things.

Re:Why You Shouldn’t Use ReactJS for Complex Projects by gspetr on Monday February 06, 2017 @01:41AM (#13577077)
> They repeat several times that React is a framework - it is not.

People[1] who were there when it started seem to be OK with calling it framework:

http://queue.acm.org/detail.cfm?id=2994373

[1]Pete Hunt, who at the time was an engineering manager at Instagram as well as one of the more prominent members of Facebook's React core team, is willing to shed some light on React's beginnings.

Also helping to tell the story is Paul O'Shannessy, one of the first engineers at Facebook to be dedicated to React full time.