@johnmartin
Programmer and tinkerer.
Reactjs!
Nothing here yet.
No blogs yet.
Basically what @tngr said. A template can render only those data that are available on the concerned controller's $scope object. So, inside your controller you will ideally call the factory and set the http response on the $scope object. That's the best way IMO.
I wouldn't recommend going with Angular 1 as you will have to deal with lots of DSLs - Directives, Filters, $scope , $rootScope , Controllers and what not! That's the reason the folks at Google have completely rewritten it and the new framework is called Angular 2. If you want to go with Angular path, then you should start directly with 2.0. Now React is also a tempting choice. The plus side is that : You will deal with pure JS (and ES6) code - no DSLs. If you know JS, you can build React components. You will get to work with Unidirectional Data flow concepts and Flux architecture. IMO, this going to be the architecture of future. You can build universal JavaScript apps . Huge community. Easily pick up React Native and build mobile apps (probably reuse some components?). and much more. So, my vote goes to React and it looks good on your resume too!
To answer your question - Yes, it can certainly be used in production. Lee Byron, in his recent AMA on Hashnode, said : Relay is an implementation of the Flux concepts. Relay requires you to have a GraphQL service. Our iOS and Android apps are almost entirely powered by GraphQL (but not Relay, as they're not JavaScript). Parts of those apps, and in some cases whole apps (Ads Manager) are built with React Native and use Relay with GraphQL. Relay and GraphQL are being used inside Facebook. So, if it suits your needs go ahead and use it in production.