gregnb / mui-datatables

Datatables for React using Material-UI
MIT License
2.71k stars 932 forks source link

Should I use this library ? #1967

Open yaniv-upstream opened 1 year ago

yaniv-upstream commented 1 year ago

Hi All I'm considering using this library but is see that the since April no code was added .

Any thoughts?

Shreeabcd commented 1 year ago

Depends on your requirement. If you have a lot of complex operations then better not use this. I dont see much support here._

Alex-Github-Account commented 1 year ago

dont see much support here either. I'd recommend https://github.com/table-library/react-table-library if you need a good tool and can accept to go with unpopular lib. It utilizes modern concepts such as composition over configuration. Otherwise https://github.com/TanStack/table is a way to go - bit outdated but well maintained and reliable. Do not recommend https://github.com/olifolkerd/tabulator despite author @olifolkerd claims that it is react-ready, it lags and hangs when used in react, bugs are ignored.

patorjk commented 1 year ago

It depends on what you're making and how willing you are to dive into the code if you have a problem. This is a good library and has a lot of great features. I was the maintainer for a while a few years ago - however, I don't have time to support a project like this so I handed it off to another developer.

A datatable is a complex component and I think that's why we're seeing a lot of them go commercial. If you're building a commercial product, you should probably consider MUI's official DataGrid or AG-Grid. For my current job we're building a large app (it will probably end up north of 300k lines), and its center piece needed to be a grid. We evaluated quite a few and picked AG-Grid (at the time DataGrid just didn't have everything we needed - though things may have changed in the past year).

All of the free datatables we evaluated had problems - lack of support, too much complexity, lack of features, buggy, etc - there was no perfect table. "Headless" tables look like a great choice at first, but their flexibility comes at a large cost. If you're building something complex, you should either go commercial or be prepared to jump into the code if the library doesn't have everything you need. However, if this library does have everything you need - it's pretty battle tested at this point and it still gets 56k downloads a week on npm. If some people chipped in, it could easily start to take off again. So if the features meet your requirements, I would say this is a fine choice, if they don't, you'll need to do some evaluations.

Be aware that any free library you pick could go dormant. A few years ago, at another job, the leading choices for a Material UI datatable was either mui-datatables or material-table. Both were very active, now neither is very active. What do projects started 2-4 years ago do if they're heavily reliant on one of these tables? They either stay within the bounds of the features, rewrite their code to use a different table, or they fork the code to meet their needs (ideally it'd be nice if people did PRs, but that's not as common as you'd think). Additionally, maintaining these things is a lot of work and its largely thankless.

Anyway, good luck with whatever you choose.

KevinVandy commented 1 year ago

Also going to leave Material React Table as a possible alternative here. The official MUI X DataGrid and AG Grid suggested above are great suggestions too, but they might require paid licenses for some features.

jsmolina commented 1 year ago

I was having some dependency issues with this library. After testing many of the suggested ones I found that sometimes they are not so flexible for customization.

I used only a few part of this library, so I decided to implement a simple, compatible, drop-in pure MUI+React replacement https://gist.github.com/jsmolina/00dcdcda7897a7c6b23d8657e2d25716

It's just a gist, I do not plan to create a whole library from it.