I'm thinking about giving platformio a try, but first some background:
I've always been using makefiles for my AVR projects, and after 20 years I still have no love for make. I mainly stick to it because of it's flexibility. The possibility to switch between Windows / Linux and multiple IDE's eases the pain of make itself quite a bit.
Lately I find I'm broadening my horizons a bit. Dabbling into STM32 and ESP8266 and some other platforms.
Today I bumped (again) into "platformio" and the possibilities are ... overwhelming.
Support for a selection of 14 IDE's, from VIM to Eclipse.
Support for 18 platforms, among which AVR, ESP8266, STM32.
Claims to works on Linux, open drafty windowze and even on rotten fruit.
Using "ini" like config files & Python for configuring the build environment looks ... interesting.
I am however also horrified by all the "modern" "cloud" stuff. It's not more than mist to me.
The idea of uploading source and getting a binary blob back to put in some uC is absolutely horrifing to me. Not only because of the depency of internet connections, but when playing with stuff like the ESP8266 which needs WiFi Passwords etc. it is just plain unacceptable. And this is of course also true for lots of companies who have spend uncountable man-years on development of source code.
I love to share, also my source code, but only on the conditions / times I want.
At the moment I'm not sure if platformio is free from the web after installation or it's more mbed like and does almost anything on some remote untrusted server unless you tell it explicitly not to.
Reading info from their site does not help much. I see things such as:
How does it work? Without going too deep into PlatformIO implementation details, work cycle of the project developed using PlatformIO is as follows: Users choose board(s) interested in Project Configuration File platformio.ini Based on this list of boards, PlatformIO downloads required toolchains and installs them automatically. Users develop code and PlatformIO makes sure that it is compiled, prepared and uploaded to all the boards of interest.
My hope is that "downloading & installing" means installing the actual compiler needed together with the python scripts & configuration files for the selected uC board.
Is this correct?
Overall I'm quite apprehensive at this moment of even installing platformio and I'm curious to your opinions.