Lee Byron is an Engineer at Facebook. He is currently working on React, GraphQL, Immutable.js, Mobile & JavaScript. Shoot any questions you want Lee to answer!
Thanks for having me here!
Lee Byron is an Engineer at Facebook. He is currently working on React, GraphQL, Immutable.js, Mobile & JavaScript. Shoot any questions you want Lee to answer!
Thanks for having me here!
Learn Something New Everyday,
Connect With The Best Developers!
How does Facebook use server side rendering? How many projects are using that? I tried it but my workmate thought it was too slow compared to normal template engines. What do you think?
What do you think about CSS Modules?
It seems to be that css modules are perfect for styling of react components. What is your opinion?
Thanks. Michael.
I'm really excited about GraphQL, particularly its type system and introspection capabilities.
What do you see happening to GraphQL in the short/mid future? Any plans to extend the spec with new major features or is it mostly going to remain as it currently is?
What tools, other than GraphiQL, you imagine can be built on top of it? Is there anything Facebook uses internally? Are there any new tools being developed?
What's your take on Falcor (from Netflix) and how it compares to GraphQL/Relay?
Thanks for your time Lee.
With each major release in React, do you guys work on upgrading the components used in Facebook? If yes, how do you manage to do that considering such a huge codebase?
Will Facebook re-code its current app by using React Native?
I want to know what is the best flux implementation that we should adopt : Redux / Reflux / Flummox / Alt etc
What libs do you recommend for writing tests : enzyme / sinon / chai / jest?
Do you think the Apollo project by Meteor is something that we should consider using?
How do you balance working on product / internal product infrastructure / open source stuff while at Facebook?
FB's open source work has raised their profile a lot in the OSS community, but it still sometimes feels like projects are often being worked on in people's spare time rather than on "work time".
Hey Lee,
Last year you shared a roadmap with us: https://www.facebook.com/notes/lee-byron/immutablejs-2016-roadmap/10153447836068757/
Is it still current? I'm curious about the topics 'performance' and 'serialization'. v4.0 hasn't received some love on Github for a long time now.
My issue is that I can't throw immutable.js into any code without receiving performance penalties. I'm trying to convince some of our dev teams to use immutable data structures.
For React.js projects it's easy, just use life cycle methods and React will perform faster. But what if we want to use immutable.js in pure Node.js projects? Our devs are arguing about performance penalties now. Creating and destroying data structures in looping scenarios doesn't perform that well compared to POJS data structures.
And serialization in server-side-rendering projects. What's the status here? Will you serialize some code logic wich ensures immutability on de-serialization or what can we expect in the future?
Server Side Rendering : Do you think it's a good idea to separate API server from the server that renders React components?
Hi Lee. Is GraphQL used for service to service communication at Facebook ? If not, why ?
First there was Flux, from which evolved Redux. Now there is MobX which alters the approach to state management completely. What is your opinion of it?
What does the future look like for React? What are some future plans and strategies that you have in mind?
It seems like the ImmutableJS Record type is an underappreciated part of the library. I never see any examples or tutorials mention it but it seems indispensable for defining model classes to get the benefits of immutablejs collections and the ease of plain JS property accessors. Do you or others at FB use it extensively for that purpose? If not, why does it seem like I am the only one? Am I missing something?
Does Facebook use Node.js in production with any aspect of their technologies? If not, any chance it would consider using it?
Are there any plans about bringing 'reactive' GraphQL, if yes, when?
What will you suggest a noob who only know basics of html, css and js to learn React.js and React Native?
TypeScript has caught up with a lot of issues, which originally prevented Facebook from utilizing it (file by file opt in, etc) ... It seems it is superior to Flow in so many ways.. why is Facebook still investing in Flow and not jumping on the TypeScript bandwagon?
Thanks for your time. I'm setting up my first GraphQL endpoint to pair with Relay, and I'm really loving it. However, I am having a little trouble wrapping my head around mutations. Are you guys planning any updates to mutations in the near future? Also, do you know of any good tutorials or example code for learning more about mutations, specifically Relay-compatible mutations?
Hello Lee, I'm developing a GraphQL backend, but i got stuck with ACL implementation. So my question will be quite simple.
How do i implement ACL in GraphQL server?
How to implement GraphQL from a mobile react-native app?
Howdy Lee. Thanks to you and your team for React, it's made designing modular, reusable code a lot easier for me.
My question is this: One limitation I'm running into is that in order for a user interaction (like a click) on one component (e.g. "Button") to affect the state of another component (e.g. "Lightbulb"),
Parent :-- Button :-- Lightbulb.
I've figured out two options:
1) Have a flux store with a property called "buttBulb" which "Button" dispatches an action to, and which Lightbulb reads from.
2) A) Create Parent.changeLightbulb((this.setState({lightbulb: !this.state.lightbulb}) B) Pass Parent.changeLightbulb to the Button, and Parent.state.lightbulb down to the Lightbulb as props.
I'm wondering if there are other clever ways that FB's React team has approached the "affect sibling's status" problem.
Hi, Thanks for React and React Native, here are my questions
What clientside routing system do you use inside the components? It seems there isn't one compatible with React and ReactNative. How do reuse functionalities between the two?
What do you think of the "React Native Web" approach and consider the Web a rn platform?
What are some practical use cases for using immutable.js at Facebook?
What portions of Facebook use GraphQL and Relay? Do you recommend using Flux + Relay + GraphQL together?
Hi Lee,
You've pulled concepts from Clojure, Scala and Haskell (Haxl) to influence libraries such as immutable-js and dataloader. What are you learning/using today that you think could be useful if done in a similar "javascript-first" approach.
What is your typical day look like?
HuskyBot or ShibesBot?
What was the thinking behind the separation between GraphQL's input types and regular types?
Please let us know how node v6 improves Reactjs
Hi Lee, I've got a graphql/relay tutorial I specifically wrote after feeling frustrated by the lack of higher level conceptual stuff in the facebook docs, would love some feedback on what I've made. http://toeatapp.startuplandia.io/
Hi Lee,
Can GraphQl be used without React ?
React introduced the idea of high performance and a strong push to change the opinions fundamentally of how we should build UIs. Almost all the other libraries are now adopting some of React's concepts.
Where do you see the next big change in terms of how we think about and deal with UIs on the web?
Can you recommend some resources for learning about concepts fundamental to immutable? (trie data structures, for example)
Is web workers wrapper on the roadmap of reactjs?
What is the intended pattern for the GraphQL node type resolver/isTypeOf function?
I am currently tacking a type string property onto api responses. Adding another layer of, for example, record objects feels like schema duplication (or maybe good design).
Any thoughts?
Comments (76)