4 ms·
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. R
by JamesMcMinn 10y ago
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.
- wvenable 10y agoIf you have to architect your project around the use of this "library" then it smells a lot more like a framework.
- JamesMcMinn 10y agoYou 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 https://facebook.github.io/react/docs/react-component.html
- yangbo 10y agoEven though, the number of React's API is still larger than [Binding.scala's API](https://static.javadoc.io/com.thoughtworks.binding/binding_2.11/10.0.2/com/thoughtworks/binding/Binding.html https://static.javadoc.io/com.thoughtworks.binding/binding_2...).
- thatswrong0 10y agoYou will want an application architecture if you're writing a complex project with any view library. React isn't special in this regard.
- wvenable 10y agoAgreed. It's only special because some people want to call it a library instead of a framework.
- thatswrong0 10y agoThat's because it _is_ a library. If you compare it to something like Ember, it's pretty obvious that's what it is.
- jaredklewis 10y agoThe 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.
- specialist 10y agoLast 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.
- acemarke 10y agoYeah, 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.
- gspetr 10y ago> 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 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.
- throwaway2016a 10y ago> 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.