Want to learn more about Isograph? We recently did some deep dives into how the runtime works and how the compiler works!
Runtime deep dive
In the runtime deep dive, we discussed:
- what is a data driven app? How do changes to subcomponents affect other files? 0:00
- debugging an Isograph app using React DevTools 14:03
- entrypoints and generated queries 17:20
- client fields (and how Isograph reads the just data selected by a given client field) 20:18
- what happens when a network request is made? How does Isograph render the entire page? 29:14
- adding additional logic to GraphQL queries 34:19
- how do we use the Reader AST to generate the data for a given client field 39:19
- what about @component client fields? what is the component cache? 41:49
- how does TypeScript learn about the type of the data parameter passed to client fields? 49:30
- Loadable fields 51:13
Q&A
- do we use the same store for the client component cache and the network response cache? What else might be stored in the network response cache? 1:02:17
- what does the roadmap look like? How generic will be Isograph in the long term? 1:08:39
- can we calculate client fields on the server? Benefits in terms of privacy, performance, capabilities, etc. 1:11:50
- how does one migrate from Redux to Isograph? Modifications to the store? 1:15:17
- thoughts on a plugin architecture? Yes! 1:17:56
- other ways to modify fragments 1:21:27
- what about benchmarks? 1:24:04
Compiler deep dive
In the compiler deep dive, we discuss:
- Big picture overview 00:00
- The future direction for the compiler: salsa architecture 10:13
- Most important things that we do 19:08
- Parsing and processing the GraphQL schema (intro) 20:15
- Parsing the GraphQL schema 22:15
- Processing the parsed GraphQL schema 36:05
- Parsing iso literals 46:50
- Adding client field literals to the schema 51:10
- Validating the Isograph schema 53:12
- Generating the content of generated files 1:01:10
- Writing artifacts to disk 1:13:09