We bet quite early on AG-Grid and it got us very far. We’ve probably built one of the most customised AG-Grid tables out there.
I haven’t checked out Tanstack table much but given that it’s such a core component of the product I would like to build our own eventually. Doing that when you start out is probably not worth it though.
Not op but having been in a situation where I was facing the choice between ag-grid and Tanstack Table, I'd say, without hesitation : Tanstack Table. What you may "lose" in advanced features, you gain in flexibility!
Curious to hear about other people's experience with Tanstack. I built a complex app [1] around AG-Grid and here are my thoughts:
I would recommend AG-Grid for most data apps until a well supported alternative comes out. My understanding is that Tanstack Table is aimed at generic apps that happen to have a table. Perspective's [2] table component is most likely more capable than AG-Grids, but it needs significantly more documentation and examples.
AG-Grid has a particular way of building things that seems to map to well to pulling data from a database or basic webservice. AG-Grid works very well for this use case. The AG-Grid enterprise features are built around this type of data model too.
If your data is small enough to fit into memory (less than 50 MB), it works very well. AG-Grid doesn't have a connector to arrow or parquet (I will eventually write my own). For larger datasets JSON generation and parsing performance bottlenecks. Additionally Parquet/Arrow offers much better types.
Configuring AG-Grid is tricky, especially when you want config to be declarative. If you want to define your own custom rendering components, getting them to work properly per column when you want different renderers for pinned rows is tricky (my solution [3])
Support for the community version of AG-Grid is practically non-existent. I understand that they have an enterprise business model that charges for support. They don't seem to be interested in answering community bug reports or comments, even for generically relevant bugs.
I have a decent amount of trust in AG-Grid's community offering [4], I don't see them cannibalizing community features to put them in their enterprise offering. Their enterprise features are the main development focus of the team, particularly the charts. The charts offering isn't impressive compared to bokeh, plotly, or vega. It would work for line of business apps, but not for a userbase familiar with better analytic platforms.
All that said. AG-Grid has excellent documentation and examples. They examples are swappable between Javascript, Typescript, React, and Angular.
Would Perspective work for a similar use case as Causal's where the data tables have a large amount of interactivity, tree-based information and/or master-detail style UI concerns?
We're building a product that is more oriented around the interactive DAG concept and less about big data. The snappiness of those examples is very impressive.