So don't people just publish client libs that handle the details for you? It doesn't seem like an unsurmountable problem, but once again, I've never dealt with it in practice.
So don't people just publish client libs that handle the details for you?
Sometimes, but oftentimes sharding issues are unique enough that they require custom solutions when the backend technology does not support it natively.