I don't think that the issue here is native app vs web app but service vs app. What I mean is, Spotify and other providers like Apple Music or Tidal all do the exact same thing and the logical way would be to use the music app you like with these services.
So it is irrelevant if the UI is made in JavaScript and runs inside the browser or made with Swift and runs natively. What's relevant is, we are made to use the official "viewer" and that doesn't make sense from users perspective and it happens only because these services want to control the customer behaviour. IMHO, at some point all apps with similar functionality will consolidate into viewer apps that use the data provider of choice of the user.