Comparison/integration with React, and being friendly to Functional and Reactive Programming styles

edited January 2014 in General
For a new project I'm considering: Then I stumbled upon this great video (30mn) that explains the React architecture, which I discovered through an interesting article on the future of JavaScript MVC frameworks. From what I can understand, Enyo and React are very similar in their approach:
  • promote self-contained and composable components,
  • use of a generic event system,
  • limited dependency to the DOM (React uses a virtual DOM!),
  • server-side rendering possible (explicit for React, implicit for Enyo according to this post).
React and other libraries such as RxJS, Pedestal, and Om, demonstrate how the functional and reactive programming styles are also gaining momentum on the JavaScript side, and while it's still early days, the article and video mentioned above make a strong case for considering such style on a blank sheet project.
So the next questions that come to mind are:
  • does it makes sense to have some form of integration/reuse between Enyo and React? For example Enyo could reuse the virtual DOM from React and gain easier server-side rendering and optimizations.
  • how does Enyo propose to be friendly friendly with functional and reactive programming styles?
The last question is particularly relevant since the Enyo community talks more about OO and MVC. However my educated guess is that Enyo components do not have to be biased toward OO and MVC, and could be very friendly with functional and reactive styles, just like React.
I have yet to start this new project using Enyo and Pedestal, so time will tell. In the meantime, feel free to comment on whether I'm making sense or not (I'm new here ;)

Comments

  • The 2.3 changes add a very nice binding layer to allow properties to automatically update between a data model and the UI controls. However, we're not biased towards the automatic separation of concerns that more MVC-oriented frameworks have.

    Enyo tends to produce more OOP-style code than traditional JS development due to the "kind" hierarchy. There are pluses and minus to this.

    I think there's likely some really nice opportunities for react and Enyo to work together in the future, but we've not really had a chance this last year to investigate that beyond a few emails with engineers on the Facebook team. React has heavily invested in technology for using raw HTML in your code and templating objects on that, while Enyo went the route of no templates, but instead describing all markup using Enyo objects.
Sign In or Register to comment.