Arduino

технологии

Выбираем лучшую среду разработки: Arduino IDE или PlatformIO

Как правило, все начинают программировать в Arduino IDE и большинство так и продолжает её использовать. Предлагаю рассмотреть альтернативу - PlatformIO.

Arduino IDEArduino IDE

Итак, PlatformIO - это полноценная среда разработки с открытым исходным кодом. Ранее была построена на eclipse, в настоящее время базируется на платформах VSCode и Atom. Соответственно может работать в операционных системах: Windows, MacOS и Linux.

В зависимости от того, что используется в качестве базовой IDE, есть небольшие отличия по функционалу:

PlatformIO для Atom PlatformIO для VSCode
Редактор кода
Автодополнеие кода требуется установка Clang +
Навигация по коду Ограничена +
Отладчик
Условные точки останова (breakpoints) Ограничено +
Контрольные точки останова (watchpoints) Ограничено +
Общие регистры - +
Периферийные регистры - +
Просмотр памяти - +
Дизассемблирование - +
Поддержка многопоточности - +
Горячая перезагрузка - +

Из данной таблицы видно, что лучше выбрать VSCode в качестве базовой платформы.

PlatformIO предполагает 3 варианта использования: бесплатный (community edition), профессиональный (платный) и бизнес (Enterprise).

PlatformIO plans

Community (бесплатный) включает следующий функционал:

  • кроссплатформенный компилятор и система сборки для разных архитектур
  • менеджер пакетов
  • непрерывная интеграция (Continuous Integration или просто CI)
  • интегрированная среда развития (IDE)
  • интеграция с другими IDE (CLion, CodeBlocks, Eclipse, Emacs и тд)
  • ограниченное использование системы PIO Remote (позволяет удаленно работать со своими устройствами)
  • поддержка в виде большого комьюнити (сообщества)

Professional (профессиональное) использование на текущий момент (начало 2019 года) для некоммерческого использования стоит 3$/месяц, для индивидуального коммерческого - 10$/месяц, а для организации - 30$/месяц. Использование этого плана добавит вам следующие возможности:

  • использование отладчика
  • использование unit-тестов
  • облачная интеграция
  • использование системы PIO Remote ограничено уже не так жестко, как в бесплатной версии
  • профессиональная поддержка использования PIO Remote

Enterprise - цена не фиксированная (обговаривается персонально). Эта версия позволит использовать:

  • PIO Remote без каких-либо ограничений
  • программу сертификации для компании
  • премиальную поддержку всех продуктов
  • быстрое устранение ошибок разработчиками по запросы (хотфиксы)
  • ревью процесса разработки (проверка корректности написанного кода) разработчиками

Более подробная информация по всем возможностям есть на странице проекта: https://platformio.org/pricing.

Итак, если сравнить бесплатную версию PlatformIO с Arduino IDE, то мы видим уже огромное кол-во преимуществ. Вот только некоторые из них:

  • удобная работа с файловой структурой проекта
  • более продвинутые интеллектуальный редактор кода
  • возможность использования безграничного набора плагинов для базовой IDE (например плагин для git и других систем контроля версия)
  • удобная работа с проектами в целом: можно открывать сразу несколько проектов в одном workspace и тд
  • гораздо более удобный и функциональный менеджер библиотек
  • удобная обработка ошибок компиляции - переход к нужным файлам и строчкам в один клик и тд

Кстати, разработчики также предоставляют возможность 30-дневного триального периода, чтобы бесплатно опробовать все преимуществ профессиональной версии.

Надеюсь, я убедил вас хотя бы попробовать PlatformIO. И если да, то, скорее всего, вы никогда больше не вернетесь к использованию Arduino IDE :)