Ask HN: Is AG Grid worth it?
As a young FinTech startup (± 2yo, 10 software developper), we are considering to adopt AG Grid as our main framework to display data table in our VueJS / GraphQL webapp. The licence is pricey and the learning curve does not look quite easy. Is AG Grid really worth it?
14 comments
[ 2.8 ms ] story [ 60.0 ms ] threadYou're already mired in deep inefficiencies with GraphQL and Vue, why not double down? You don't need to make a profit you just need to repay your debt until you exit.
You're under no obligation to pass savings onto your investors. Might as well do things as questionably as possible at all levels of stack.
It's not like they're going to call you out on poor engineering decisions so why worry about the details? Do whatever they think is "cool" and "neat", take their money, and when things look dire sell to a larger company who can absorb your losses. Just like everyone else.
Only you can decide whether it's worth it for you - this depends on how many of its features you can actively use.
I also do not find it crappy, as otherwise written here. API is pretty solid and mighty (still, only ever used it with vanilla JS, not with frameworks - things might feel different with frameworks) and documentation is good enough. Occasionally have to look up stuff in its sourcecode though.
Otherwise: There's an open source version. Unless you need the features marked as "enterprise" features, you can at least try out the integration already. There are some pretty elementary features like row grouping part of the enterprise version, though, so do not assume you'll be able to actually stay on the community edition.
https://blueprintjs.com/docs/#table/features
https://www.rowsncolumns.app/
Depending on your needs they can be more powerful than ag-grid (and free)
I've also dabbled in Perspective (https://github.com/finos/perspective), but it may be overkill for you. It was a fun project similar to SQL Workbench where data can be uploaded and consumed from a specific IWMS API for client-side analysis. It's quite powerful and open source.
The learning curve is actually quite low (as you identified).
We primarily use it with Stimulus JS and Alpine JS.
The trickiest part was writing server side code for supporting all the filtering pivots, aggregations and calculations in a manner that is both performant and secure.
Have a play with the community version first and if you’re liking it, checkout the enterprise version.
Cons:
Good: The problem with things like AG Grid is that designers and product people will try to invent weird things on top of it. I think as long you do not customize too much and use default features, you will be good.We added a Grid State API in v31 to make saving & restoring state easier, which includes things like Row Grouping: https://www.ag-grid.com/react-data-grid/grid-state/
Our latest release reduced our bundle size by 20-40% (depending on what features you're using) and we're planning on reducing this further over the next few releases: https://www.ag-grid.com/react-data-grid/modules/
We now offer LTS versions of AG Grid and AG Charts so that you can upgrade at your own pace: https://blog.ag-grid.com/introducing-long-term-support-for-a...
These changes were all based on feedback just like this, so thanks for taking the time out to share your experience
If you're stuck on keeping it within Vue land, check out the DataTable in PrimeVue. It's far and away the best one after AG for full functionality: https://primevue.org/datatable/
when what you want cooperates with how it wants things its great. You'll find yourself battling it a bunch for anything custom, but we've tried quite a few others and its the best of the bunch.