I believe the developers prefer Mbed because you get all the drivers and libraries ready. You need to just write the application specific code. You don’t have to worry about the start-up code and the drivers for the peripherals. However what I have observed is the developers need to struggle to find out what is available and what is not. Perhaps finally you spend almost the same time as you would on the target specific environment like STMCubeMX. This is because on Mbed you spend time on searching and trying to find what is available. I believe there should be a clear list for each target about the availability of the supported features for all supported OS versions.