I live in the middle. For quickie little projects like my NMEA protocol converter, the Arduino tools & IDE are fine, if barely adequate as the project has grown.
However, I have another project where Atmel Studio is a better choice. So I import all the Arduino libraries I need (there's a plugin that can do this automatically, but it's buggy), and then just build it as a regular C++ project but I get "free" use of the libraries without the crappy Arduino IDE.
The nice thing about Arduino is it's so popular that the economies of scale let me buy hardware cheaper than I could build it myself and pretty much all the libraries I need are already written. Although I have had to debug a few of them!! The bad thing is their terrible interface that's really made for tiny programs only.
However, I have another project where Atmel Studio is a better choice. So I import all the Arduino libraries I need (there's a plugin that can do this automatically, but it's buggy), and then just build it as a regular C++ project but I get "free" use of the libraries without the crappy Arduino IDE.
The nice thing about Arduino is it's so popular that the economies of scale let me buy hardware cheaper than I could build it myself and pretty much all the libraries I need are already written. Although I have had to debug a few of them!! The bad thing is their terrible interface that's really made for tiny programs only.