Live data from Hacker News

PlatformIO, open source ecosystem for IoT

platformio.org

11–20 of 38 posts

Re: PlatformIO, open source ecosystem for IoT

#11
post #6

One major error in principle is that PlatformIO will infiltrate an existing Atom installation. PlatformIO can not be installed in parallel (as far as I know) and it will not warn before doing serious changes to your nicely nurtured Atom configuration.

Actually, it is just a standard package in Atom. If you feel it disrupts your day-to-day workflow in Atom, you can just disable the package.

Re: PlatformIO, open source ecosystem for IoT

#12
post #6

One major error in principle is that PlatformIO will infiltrate an existing Atom installation. PlatformIO can not be installed in parallel (as far as I know) and it will not warn before doing serious changes to your nicely nurtured Atom configuration.

I'm guessing you mean the PlatformIO editor, which is different from PlatformIO itself. You can install PlatformIO without installing the editor at all, which is entirely how I use it.

Re: PlatformIO, open source ecosystem for IoT

#13

PlatformIO is great. If you want to do serious work, and not just mess around with Arduino, it provides a great ecosystem and excellent tooling. No custom IDE necessary.

I especially love the library management part. There's no versioning, but it's really helpful to be able to just list your libraries and have them be automatically downloaded and linked to your executable.

Re: PlatformIO, open source ecosystem for IoT

#14
post #8

I've only heard good things about PlatformIO, but it always seems like they sorta reinvented the wheel instead of using existing tools. They've done a LOT of the hard work of making stuff "just-work", but why didn't they do all this using the normal tool-chain like CMake/git/GNU-tools/crosstool-NG/etc.? Is there something extra I'm missing that you can't do with the existing tools? Or is it to get some kind of lock-i…

I agree.

I've been in a row with their founder over the same criticism you offer.

PlatformIO is really nice and smooth and seamless, as long as you do exactly what they think you should be doing.

It would be a great product if it un-bundled all the functions. Of course that would make it not-really-a-product, and they couldn't charge money for it as easily. But instead it's a monolith that offers you little wiggle-room.

For instance for the longest time it didn't expect you would do unit testing. There was no way to include it in your build, other than hacking PlatformIO itself. They've since added unit testing, but only using a framework of their choice. Which is nice, unless you already have a code base, or a preference for a framework.

My friend put it quite succinctly:

"I understand it from a vendors POV: they know that customers feel the pain of integrating disparate systems, so the sell the product that has done all that for them. Once both sides have bought in, they are reluctant to acknowledge that what they have is a monolith that makes the integration problem harder rather than making it go away."

> Is there something extra I'm missing that you can't do with the existing tools?

There isn't. And in fact there are other build systems you can use without having to use either the vendor's tools, or start form scratch.

> Or is it to get some kind of lock-in and promote a commercial product?

Pretty much. They're a company, and are (legitimately) trying to make a profit.

Re: PlatformIO, open source ecosystem for IoT

#15

PlatformIO is great. If you want to do serious work, and not just mess around with Arduino, it provides a great ecosystem and excellent tooling. No custom IDE necessary.

> PlatformIO is great. If you want to do serious work

I'll provide the counterpoint. If I want to do serious work, then PlatformIO is too constraining, and doesn't offer a painless way out of these constraints. Other than not to use it.

Re: PlatformIO, open source ecosystem for IoT

#16
post #8

I've only heard good things about PlatformIO, but it always seems like they sorta reinvented the wheel instead of using existing tools. They've done a LOT of the hard work of making stuff "just-work", but why didn't they do all this using the normal tool-chain like CMake/git/GNU-tools/crosstool-NG/etc.? Is there something extra I'm missing that you can't do with the existing tools? Or is it to get some kind of lock-i…

> but it always seems like they sorta reinvented the wheel instead of using existing tools

PlatformIO wasn't built as a commercial project. What is more, we didn't re-invent wheel or clone other project/idea. PlatformIO is a practical solution for the problems which were resolved in http://smartanthill.org (the place where PlatformIO was born). The problem, where you need to build the same source code into the multiple embedded development platforms/architectures using any OS (Windows, Linux, Linux ARM, macOS, BSD, etc) WITHOUT ANY DEPENDENCIES to a system. The only one requirement is Python interpreter.

If you try PlatformIO today on a clean machine, it will take ~1-2 minute to build/deploy the whole project. Our build system is super fast, ~4-6secs per generic Arduino AVR project. It's based on SCons construction utility. We have own optimization for it and, also, provided PR as contribution to SCons.

> but why didn't they do all this using the normal tool-chain like CMake/git/GNU-tools/crosstool-NG/etc.?

You can do that if you work with 1-2 board/MCU and use the same OS. If you have a project and your team uses different OS, or you need to be sure that your project has the same workflow not matter which system environment will be used, PIO is cool here.

You need to bother with make/cmake/build scripts/toolchains/upload tools and other things... Just tell PIO which board (currently, we support ~370 different boards/architectures/mcu) do you want to use and PIO will do all complicated work for you automatically. You can easy move from one OS to another, or even to work simultaneously from different places, IDEs.

PlatformIO that is not just a "multi-platform build system". It's own philosophy and own vision how embedded development should look. A lot of people do not agree with us and have an own vision and use own tools/instruments. That is normal, or better, we hear good criticism and trying to make PlatformIO better and better.

> Or is it to get some kind of lock-in and promote a commercial product?

Again, PIO was not built as a commercial project. We see our mission in an embedded world and do all work for free under 100% open source/Apache v2.0. Today, PlatformIO has own niche and own big community. We see big future in PlatformIO not only from a business point of view. PlatformIO allows makers, hobbyists, companies to focus on own ideas and own products and save time which could be spent to maintain multiple development platforms using different build scripts, tools, etc.

Today, we work on the other solutions for the business/developers who need to more professional instruments. We don't have an aim to monetize existing work (3 years) or even change the license. Whole this work should be moved to PlatformIO Foundation or a similar protected organization.

PlatformIO has own history, thousands of developers trusted in it and supported us. PlatformIO could not be successful without our community, they are our guide for the new achievements.

Regards, The PlatformIO Team

Re: PlatformIO, open source ecosystem for IoT

#19
post #8

I've only heard good things about PlatformIO, but it always seems like they sorta reinvented the wheel instead of using existing tools. They've done a LOT of the hard work of making stuff "just-work", but why didn't they do all this using the normal tool-chain like CMake/git/GNU-tools/crosstool-NG/etc.? Is there something extra I'm missing that you can't do with the existing tools? Or is it to get some kind of lock-i…

I agree. I've been in a row with their founder over the same criticism you offer. PlatformIO is really nice and smooth and seamless, as long as you do exactly what they think you should be doing. It would be a great product if it un-bundled all the functions. Of course that would make it not-really-a-product, and they couldn't charge money for it as easily. But instead it's a monolith that offers you little wiggle-ro…

> It would be a great product if it un-bundled all the functions. Of course that would make it not-really-a-product, and they couldn't charge money for it as easily. But instead it's a monolith that offers you little wiggle-room.

Could you explain in details? Do you know that you can create own development platform or add support for new embedded board wihout our support? - http://docs.platformio.org/en/latest/platforms/custom_platfo...

Yes, PIO Core 2.0 was monolitic. We rewrote it from scratch and announced decentrizlied PIO Core 3.0 in September, 2016: - http://docs.platformio.org/en/latest/history.html#id7

> They've since added unit testing, but only using a framework of their choice. Which is nice, unless you already have a code base, or a preference for a framework.

Which framework/workflow do you use for unit testing?

Re: PlatformIO, open source ecosystem for IoT

#20

PlatformIO is great. If you want to do serious work, and not just mess around with Arduino, it provides a great ecosystem and excellent tooling. No custom IDE necessary.

I especially love the library management part. There's no versioning, but it's really helpful to be able to just list your libraries and have them be automatically downloaded and linked to your executable.

> I especially love the library management part. There's no versioning

It is! :)

http://docs.platformio.org/en/latest/librarymanager/index.ht...

Post reply on HN