Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

The Merkinman posted:

Apologies if this had been covered. One of or devs wants to use AngularJS for or ecommerce site. Watching the egghead.io videos it seems AngularJS (and the other frameworks in this thread) are meant for generating, then manipulating, content.
Isn't that terrible for SEO since I think bots don't run JavaScript?

http://stackoverflow.com/questions/13499040/how-do-search-engines-deal-with-angularjs-applications

Does that help?

Adbot
ADBOT LOVES YOU

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Pollyanna posted:

Would it make sense to try and MVC that or is that better done through plain HTML?

You're confused.

But anyway, Angular will do what you need, easily. I don't know if it's the best tool for the job, but for such a very simple project I doubt you're going to see much difference between any of the tools as far as the complexity of implementation goes.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Pseudo-God posted:

In PHP, if I want to connect to a DB, I usually set the DB connection details in some config file, or even the page source itself, and this information is never revealed to the end-user. However, I cannot figure out how to hide these details in a JS only app, where everything is exposed to the browser. Is it possible to store confidential details, such as DB passwords, in a JS file or similar, but prevent them from being read by the user?

1. You need to build a server-side layer between your DB and your client-side apps that communicates in JSON or whatever.
2. It's not possible to hide the auth info to a DB or the layer mentioned in the last point from the end-user. You can require logged-in users and that's about it.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Since Maluco Marinero convinced me to try out React.js a few days ago I was looking into React.js support in my favorite IDE, PyCharm. I noticed that WebStorm (of which PyCharm is mostly a superset of) has a new update with greatly improved AngularJS support.

https://www.youtube.com/watch?v=rlNmYgNdOkM

In particular I'm really liking the AngularJS refactoring and autocomplete support. Just thought I'd throw this out there.

(In case you're wondering, WebStorm doesn't yet have React.js support, but it's coming.)

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Mr. Wynand posted:

Use a grid component of your choice? It is indeed a common thing.

This reminds me.

I'm getting ready to do a UI that will have a ledger in like Quicken or whatever. Anyone know of any good components out there made for this, or easily adaptable to it?

I've been putting it off because I don't really want to build it.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

isochronous posted:

When it comes to grid controls, my favorite so far has been Kendo UI's grid control, but that's like saying my favorite bone to break is my little finger. Overall I think general-purpose grid controls typically indicate a lack of design focus, but if there's one good place for grid controls, it's in spreadsheet-like applications.
That looks nice.


Greve posted:

http://jsfiddle.net/fimiak/QSu2p/

This is why I think angular will succeed in the long term, or at least will never be dropped by Google. Its community is growing exponentially. An ng conference for Europe in Paris with all of the top guys was just announced.

I mean, angular is great, but other frameworks have their merits as well and it's a shame to see them not getting as much attention. Or, rather, I don't care that they don't get as much attention, but they get pretty much zero attention relatively speaking.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Chenghiz posted:

Okay, buckled down and did the whole page with React, no problems with jQuery Mobile at all and it's really loving easy to modify. :iia:

The reusability of React components makes it so that the further you get in to a project, where you've got your components mostly fleshed out, the easier it is to make minor or major modifications.

Or at least that's what I've found so far in my couple of weeks with React.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

As we've had a decent amount of discussion around React lately, I'm debating tearing the React component I built around the Select2 jQuery widget out of the project I'm working on and putting it up on github so people can get an idea on how to use jQuery stuff with React. I've got to do some work on it to make it a bit less tailored to exactly what I'm doing is the only reason I haven't just done it.

Is anyone interested in seeing that?

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Subjunctive posted:

The React team is.

Ok, I don't know how good this is as I've only been fooling around with React for a month and JS for hardly any longer, but...

There's a demo here. Link to the Github on that page as well.

If anyone wants to work on it and help flesh it out I'm game for some pull requests or whatever.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Wheany posted:

I think I want to use React and Bootstrap together in a project. The reason is that React seems pretty nifty for building view components, and I like Bootstrap's layout, especially the responsive layout bits (from the little I've seen over a coworker's shoulder).

How dumb am I and how hopeless is this? Have I completely misunderstood what Bootstrap is for even?

It works just fine. I've been using Bootstrap with React for a couple months...

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

caiman posted:

I make primarily non-database driven websites. Would learning Angular benefit me at all?

Angular is cool, but be sure and look at Facebook's React as well if you're just looking for new things to learn to make building interactive websites easier. It clicks with me more than Angular.

--

I've been looking at Google's Polymer for an hour or so as I think their new Material Design is fantastic looking. Polymer is a pretty slick take on Web Components. I'm not sure how useful it will really be, though.

The big sticking point for me is that right now I don't see how to get it to work with React (which most of my current projects are built with), and it doesn't seem to offer enough to replace React.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Newf posted:

What can you skinny jeaned, mustachioed folk tell me about integrating some of these hip js frameworks with an asp.net project? I'm building a site whose back-end is entirely c#, but whose front end will benefit from the snappy nature of client-side page generation rather than constant (say, every 5-10 seconds) client-server page render requests.

At a high level it doesn't matter what your backend is as long as it can deliver data to the front end. Typically this is via JSON, so if you can generate JSON with your backend, you just set up an API for javascript on your frontend to GET/POST to and then write a bunch of HTML/CSS and javascript in your framework of choice.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

QPZIL posted:

Are there any good blogs or sites to follow to keep abreast of the latest trends in front end development? I feel like every week I come in to work and learn about a new framework or language or something - not that I will be using any of these quirky new frontends, but it's still fun to read about.

http://sidebar.io/

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Pollyanna posted:

We should put that in the title.

I'm amazed at all the different choices for MV* frameworks on Javascript. What the hell do I choose :gonk:

Goddamn, just pick one loving framework and learn the ever-loving poo poo out of it.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Newf posted:

I'm playing with the tutorial for reactjs.net, and I've been pulling my hair out trying to find some misplaced comma, or other such error, in my jsx file which is causing it to fail to be converted and delivered to the client as javascript. There has to be some tooling that will help me with this, but I can't find it.

Help?

My guess is there's not a lot of people here using that, but there are a few of us using React outside of .NET. Thus, you may be better off just posting your JSX and getting us to look at it.

In my experience there's not a whole lot of JSX tooling yet.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Newf posted:

There was a pair of ()s that should have been {}s, but the specific instance is hardly the point. I'm still really lovely with JS in general, but it seems to me that the only recourse for a page flat out not displaying is to revert a step or two and go again - beats the hell out of 'there might be a missing comma in this 7000 line file'.

Well, if you check the console there's often enough information in the logging to figure out what you've messed up.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Lumpy posted:

I wrote a very basic blog post about mixins in react: http://simblestudios.com/blog/development/react-mixins-by-example.html

You can either hopefully learn something from it, laugh at my writing, or both!

Nice post. I like mixins. I like them in other languages/frameworks too.

One thing to note is that you should try to avoid getting too clever with your mixins. It gets hard to reason about the functionality if you get too many implementing the same method.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

HaB posted:

You sound like me when I first started using Angular.

Honestly - if you try to apply just about ANYTHING you learned in another language to Angular - it will be obtuse and annoying as poo poo. Until I finally embraced the "stop thinking in _________ and think IN Angular" concept, where ________ is whatever other language you know - which for me was basically any C-style language - I thought Angular was stupid and annoying as poo poo. Why? Why would anyone try to write a full MVC stack in Javascript? Javascript?!?? The language that pioneered the technique of giving you enough rope to hang yourself with, AND showing you how to tie the noose to boot?

Once I finally worked through some tutorials and really let go of everything else I knew - I understood the power/flexibility of it. And now I love it. But yeah - if you don't think in Angular, it sucks.

Even just off the top of my head - the ability to have an app up and running in minutes with writing almost ZERO boilerplate is amazing. Once you've used it long enough you wind up with little libraries of your own directives and things you can pull out as needed. It's awesome to be able to start a new app and before the end of the first day, you are writing the APP, and not still scaffolding or laying out architecture.

This is why, even now that I'm comfortable with Angular, I don't really like it. I mean, it's OK, but it doesn't bring enough to the table to make me think the tradeoff of dealing with it's ... different ... nature is worth it.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

I'm whipping together a Django backend that exposes a CRUD RESTful API that has about a dozen models with various relations. The backend serves no HTML at all.

I'm going to put together a web frontend and I'm looking to try some new JS libraries/framework. Just looking to expand my toolbelt and learn some new stuff or maybe become more familiar with things I've dabbled with before.

Any recommendations for anything you like for managing the backend and frontend objects and keeping them in sync?

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Pollyanna posted:

I think my question is more on understanding and implementing a more general model-view-controller setup. Like, make a simple one from scratch in Ruby or Python to understand why the gently caress we'd want to do it and what the important bits are. I know that frameworks differ, but there has to be some sort of commonality, right?

This isn't what you want to do. What you want to do to really understand what I think you're wanting to understand is (as Newf mentioned) develop a complex-ish project from scratch without using a MVC framework.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

"Daniel Dennett posted:

There's nothing I like less than bad arguments for a view that I hold dear.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

There's an RC out for React .12.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Pollyanna posted:

Aha, that's done it. Thanks :3:

I've figured out something with React: if you want to do make an AJAX-driven webapp type thing, don't pass in mutable data as properties - meaning, don't pass in a big ol' god object with a "user" and "meals" and "results" attributes. Instead, pass in only what you know will never change - in this case, the API URLs! Build all the data objects from JSON within getInitialState and componentDidMount, since those data objects will change over time.

One of the problems with this is that you have to think about your props too much and you end up with this massive house of cards where you've got to make sure you're passing just the right prop to just the right component.

Really, spend a week getting used to Flux. It will solve your problems.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

NovemberMike posted:

To be fair, IIRC that's what Flux recommends. You use the top level view as a View-Controller, which passes data from the stores to the views through the props. The nice thing about this is that you can just print out the state of the view-controller at any point and get the entire state of the app.

Flux only recommends that for sufficiently simple hierarchies. They recommend inserting view controllers further down your hierarchy when the complexity becomes high enough.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Pollyanna posted:

One problem that Flux has is that it exposes too much of the internal wiring, it feels like. Being expected to build an EventEmitter for every Store I make feels like busy work and like something that could be automagically abstracted away for me.

This is mostly an illusion.

You create a store base class with your common functionality like addChangeListener, removeChangeListener, emitChange, etc, then you just extend that for each of your stores.

something like
JavaScript code:
var assign = require('object-assign');
var EventEmitter = require('events').EventEmitter;

var StoreBase = assign({, EventEmitter.prototype, {
  addChangeListener: function(callback) {
    this.on(CHANGE_EVENT, callback);
  },
  
  removeChangeListener: function(callback) {
    this.removeListener(CHANGE_EVENT, callback);
  },

  emitChange: function() {
    this.emit(CHANGE_EVENT);
  },
}); 
You write that code in one place and then you never write it again.

Then when you want to create a store, you

JavaScript code:
var StoreBase = require('./StoreBase');

var MessageStore = assign({}, StoreBase, {
  maekBusinessWork: function(seriousBusiness) {
    // I do serious business
  }
});
The code you add to each of your stores is logic that you've got to do anyway because it's your business logic.

I mean, there's a hurdle to implementing Flux because it works differently from most other patterns so it's hard to wrap your head around. Once you've got it where you really get it, it should seem super easy.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

NovemberMike posted:

The impression I got was that the default was a single view-controller, and you should only use multiple view-controllers if your app is sufficiently complex. If at all possible you want to keep to a single view-controller.

I'm not sure how much stock I put in that right now, but that's the recommendation that I saw.

That's literally what I just said.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

NovemberMike posted:

There's a semantic difference. AFAIK the Flux docs don't really "recommend" adding additional view-controllers further down your hierarchy, they consider it more of a necessary evil for hugely complex stuff. The example Pollyanna gave had 3 elements: Blogpost, CommentsBox and CommentForm. At that point, my understanding is that you should still be using a single view-controller, and really you should still be using a single view controller for systems that are quite a bit more complex than that. I'm not sure how I feel about it in practice but one of the goals of Flux is to have a single point of entry for data in the views and you lose that once you move to multiple view-controllers.

From here:

quote:

Occasionally we may need to add additional controller-views deeper in the hierarchy to keep components simple. This might help us to better encapsulate a section of the hierarchy related to a specific data domain. Be aware, however, that controller-views deeper in the hierarchy can violate the singular flow of data by introducing a new, potentially conflicting entry point for the data flow. In making the decision of whether to add a deep controller-view, balance the gain of simpler components against the complexity of multiple data updates flowing into the hierarchy at different points.

I'm not sure where (or if) we're disagreeing here.

Thermopyle fucked around with this message at 19:40 on Dec 10, 2014

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Pollyanna posted:

Maybe there's a singular top-level controller that splits off into smaller component controllers. Or something. Then technically there's a single source of data, it's just divided up.

Well the single source of data is the store.

The question is how that data gets to your components.

If you have a sufficiently simple hierarchy, you can just get the data from the store in your top-most component and pass it via props to children.

This gets rickety for sufficiently complex hierarchies or apps.

In those cases you can design your hierarchy so that parts of your data goes in to components further down the component hierarchy. However, you have to be careful that you're not exchanging one rickety design for another. You can avoid the confusion of data entering your app lower down the hierarchy by designing in such a way that you have a hierarchy of hierarchies where data just enters at the parent components of the sub hierarchies and making sure you have a logical bright line separating the different areas of your app where data enters.

Unsurprisingly, designing complex apps is complex.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Lumpy posted:

I'm goofing around with a Django-Rest-Framework -> React/Flux "fun" project (you've inspired me, Thermopyle!) and just want to get some opinions on how people would approach something. The app shows a list of Activities. A user clicks on one, and the details for said activities are displayed. So far, so good! Users can also sign up for Activities, and here's where my question lies.

Given that part of the details for an Activity is a list of other people who have signed up for it and possibly some other info about those users, getting the details is far more resource heavy than just getting the name and start date for it, which is all that's shown in the list. Users will rarely click on more than a few Activities, and there might eventually be a "large" number in the list. One option is that I can get the full details of every Activity into a single store up front, and just use that for everything. Another option is two stores, one for the list, one for the details view, with the list store only getting a "light" version of the object containing just the fields it needs that don't traverse any relationships and the detail store doing the "heavy" queries for participants and so on for just one object at a time. The third option is probably the smart one that I haven't thought of yet.

I used to get hung up on this kind of stuff a lot more often.

Nowadays, I always get all of the things all of the time. I mean, it might be more resource heavy but I worry about that when it becomes an actual problem. Often it doesn't ever become a problem, and I saved myself the effort of additional code.

And by additional code I don't just mean the effort of writing more lines because that's barely anything. I mean the extra mental capacity taken up by having more logic to keep in your brain when reasoning about your code.

Thermopyle fucked around with this message at 18:47 on Dec 18, 2014

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Lumpy posted:

But I won't feel smart if I don't prematurely optimize! :smith:

Oh, I definitely understand the compulsion. I've got to consciously take a step back every once in awhile to figure out if I need to be doing what I'm doing.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Pollyanna posted:

I'm wondering how I "add" and "remove" components in React. I've got a Search Form and a Search Results component, and I always want to display the Search Form, but only render the Search Results when the search button's clicked. Would it basically look something like this?

code:
  handleSubmit: function(event) {
    event.preventDefault();
    var results = searchPlaces(params);
    React.render(<SearchResults results={results}>, this.props.resultsEl);

no

JavaScript code:
var App = React.createClass({
  render: function () {
    var searchResults;
    if (this.state.results) searchResults = <SearchResults results={this.state.results} />
    
    return (
       <div>
           <SearchForm />
           {searchResults}
       </div> 
    )
  }
});

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Yeah, that's the better way. I was just being lazy.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

HaB posted:

I have only ever done it the 2nd way. I'm not entirely sure of DJANGO's reasoning behind the first. But I would say that if each ChargeCode "HAS A" Category, then category should be a sub/child object as per the 2nd example.

HATEOAS

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

an skeleton posted:

I have a question. I'm a novice developer (been seriously developing for about a year or so) and I am finally feeling pretty proficient in AngularJS (I still kinda suck at creating directives from scratch but whatever). I kind of have the itch to learn a new JavaScript framework, I was thinking Backbone or Ember. However, I have 2 questions.

1) Is there a real plus to learning to different frameworks or should I just keep at one and if I ever have a serious need for the other, switch over?

2) What would you use Backbone for that you wouldn't use Angular for? Like is there a specific type of application that just screams Backbone? (ditto for Ember, I guess)

Of course the real answer to my question 1 is "just do it and find out you dickhead, you're still a newb" but I'd rather listen to internet strangers' theories. Thanks!

It kinda depends on your goal.

If you're wanting to expand your ways of thinking about the problems we encounter, I'd recommend learning React. Particularly because it's got a small API and you can read all the docs in one sitting, so it's not like you're devoting a big chunk of your life to it.

Really, the more you learn, the more tools you have to solve problems you encounter. They're all good to be familiar with.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

The Wizard of Poz posted:

Yep, that's what I figured was happening but wasn't sure how to fix it (very new to React). Thanks so much!

On a related note, are there any Visual Studio users here who develop with React? A cursory Google doesn't locate any JSX syntax highlighting solution for Visual Studio, how do you guys handle this? Do you use a separate tool (not ideal, but I can handle it if need be)?

Also, how do you guys handle rendering your JSX files to JS with Visual Studio? Or, again, do you do this with an external tool?

I don't use Visual Studio (I use a Jetbrains IDE), but I just run a transformer in a terminal window set to watch mode so it just recompiles on the fly.

Specifically, on my current project i'm using Browserify with watchify for packaging everything into a single js file. So I run this in a terminal:
code:
watchify -v --debug -t [ reactify --es6 --target es5 ] js/main.js -o js/bundle.js
And then just do my poo poo.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Maluco Marinero posted:

Are you searching for a mounted element within a tree, or just a class that you can use somewhere. If its the latter React doesn't actually have a registry of classes, but you could easily create an object that'll hold class references yourself.

Also, it makes me a little nervous that you're wanting to do this at all. Maybe you're using React a little...wrong-ish?

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Hanpan posted:

I have several different 'panels' that I am showing on a dashboard, and the type of panel is dictated by data coming from the backend. I guess what I should do is introduce a controller that keeps a reference of all my React views and instantiates them accordingly. I just didn't want to duplicate logic if it was already part of React.

If I understand your problem what I'd do is have your component that contains your panels.In your render method have code to determine the type of panel components to display and then display them.

Something like:

JavaScript code:
render: function () {
  var panels = [];
  
  this.props.panelData.forEach(function(elem) {
    if (elem.whatever == something) {
      panels.push(<OneTypeOfPanel data={elem}/>)
    }  else if (elem.whatever == somethingelse) {
      panels.push(<AnotherTypeOfPanel data={elem}/>)
    }
  }) 
    
  return (
      <div>
        {panels}
      </div>
  )
}

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

neurotech posted:

I'm excited to learn React even more now.

You should be, in my mind, it's easily the best of its peers.

Also, you should just go learn it. It's easy to understand, and quick to learn.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Horn posted:

Speaking of react, flipboard has released a library that replaces the dom rendering with canvas. I've barely gotten my feet wet with react but between this and the native stuff it seems like the library has a promising future.

I don't have any use for that, but it seems really cool!

Adbot
ADBOT LOVES YOU

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

I've been messing around with Reflux, and I think I like it better than vanilla Flux or Fluxxor.

It gets rid of the concept of the Dispatcher. Actions themselves become event emitters, and stores listen to the actions they're interested in.

Anyway, if anyone is having a hard time wrapping their head around Flux (which isn't terribly surprising as the pattern isn't quite as elegant as React itself), they might want to give Reflux a look.

Here's a blog post that does a bit of summary of the library: http://spoike.ghost.io/deconstructing-reactjss-flux/

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply