My issue with most grids (and charting libraries for that matter) is that the API is push based (ie they all have some kind of API like setData, etc), instead of pull based (where the grid utilizes an adapter model with simple functions like getRowCount, getColumnCount, getData(row, column) and you can build subclasses that adapt to any data model you have). This means that it's really difficult to implement highly performant grids that support changing data, more data than can fit in the current viewport, etc. It also makes it difficult to share large datasets between different views - ie a chart and table both showing the same data, or two tables showing different sections of the same dataset, without multiple copies of the data in memory.
Not 100% sure what you mean, but it sounds like a "server-side first" approach (if that word exists). As grid & chart libs are always built by (front-end) Javascript experts, you'll always see a front-end first approach.