If you would like to avoid water spots in your shower, I suggest using a squeegee after you take a shower and wiping down the glass to avoid water spots.
Hard water spots can be tricky to get out. The best way to avoid them is to wipe the surface immediately. I have tried all of those commercial products and none have ever really worked.
The best cure for hard water stains on most surfaces is simply to avoid them. The best repellent for glass is lemon oil. In your tub or shower, if you wipe all surfaces dry after use, water spots are unable to form.