Large datasets require server-side operations.
When to use server-side:
- Dataset too large to load fully
- Need database-level sorting/filtering
- Real-time data
API design:
GET /api/users?sort=name&order=asc&filter[status]=active&page=2&limit=25
Response includes: Data, total count, pagination info.
Loading states: Show skeleton or spinner while fetching.
Optimistic UI: Apply sort/filter immediately to current data while fetching updated data.