I thought I would post about my transition from using Arduino IDE to a native IDE. The reason for the transition is I want to take advantage of the new STM32WL chip which has integrated LoRaWAN. It's possible to get Arduino support for it, but I wouldn't bank on it. I integrated LoRaWAN with my own Arduino project (automates irrigation to my garden based on environmental conditions), and I have been very pleased with the results.
Before writing about it, would anyone be interested in reading it? I'm sure the vast majority of users on this forum will do just fine using Arduino; however, there are of course advantages and disadvantages.
Since there's only 1 person interested I'll keep it short lol. I have experience with the ESP32, nRF52, SAMD, and now the STM32. I finally decided to learn native with the STM32 since there's a variant for just about every use case.
Extremely quick to get started
Great community support and open source libraries
Can easily use C++(ish) semantics
Debugging is tedious. Serial monitor and LED's aren't always the easiest to use for debugging.
Normalized set of features
IDE features are lacking (this can be remedied by using other IDE's, but that's not covered here)
Limited selection of mCU's
IDE support is great. Visual representation of the chip with generated code
Community support is great
C++ support is clunky
Documentation is difficult to go through
Getting started takes diligence
In summary, I believe the best combination is probably Arduino + PlatformIO or VSCode; however, debugging is still lacking. Having a native debugger with breakpoints speeds up development quite a bit in the long run. Would I still use Arduino? Absolutely. But, STM32 has a very nice offering both from a hardware and software perspective.
With the unbelievably succesdful success of a micro and RF combined module, ie:ESP8266
The Generic Node from TheThingsIndustries will be a game changer I think in the LoRaWAN space. STM32 released the first SoC for LoRaWAN (STM32WL) which is integrated on this board. I know it's not Arduino, but LoRaWAN isn't usually for most Arduino projects IMO.