When it comes to programming ST microcontrollers, I prefer to use Discovery boards (mainly because you can turn them into J-Link). However, I got tired of carrying around the whole dev-board just for the programmer, so I ordered a cheap st-link clone due to it’s small form-factor.