Интегрированная среда разработки приложения

XCode

Описание: IDE, ориентированная на создание приложений для OS X и iOS. Для использования языков Objective C и Swift на сегодня это лучшее, а для некоторых задач и вовсе единственное решение.

Недостатки: многие разработчики жалуются на стабильность среды, вынуждающую вносить дополнительные изменения в свои проекты после выхода очередной версии. Кроме того, XCode относительно сложная IDE для самопознания новичком. Именно поэтому рекомендуем вам пройти наш бесплатный интенсив по основам языка Swift. На нем мы рассмотрим тонкости работы с этой IDE.

От официальных представителей перейдём к универсальным кроссплатформенным средам разработки:

Ошибки компиляции

В случае возникновения синтаксических ошибок при компиляции, их список выводится в отдельном окне. Двойной щелчок по строке описания ошибки позволяет перейти на соответствующее место в исходном коде. На практике банальные опечатки или забытые запятые, точки с запятыми или скобки могут порождать ошибки компиляции значительно ниже по тексту, а само то место, указанное как содержащее синтаксическую ошибку, может на деле никаких ошибок не содержать. Поэтому не стоит пугаться в случае, если ошибку сразу найти не удалось — пересмотрите код выше.

Синтаксическая ошибка: забыт символ после

Список ошибок и предупреждений можно наблюдать и в более компактном виде, для этого нужно открыть соответствующую панель.

Компактный список ошибок

Нажатие после щелчка по строке с сообщением об ошибке откроет страницу справки.

C/C++

Основные статьи: Си (язык программирования) и C++

IDE Лицензия Windows Linux macOS Другие платформы Отладчик Разработка GUI GNU toolchain Профилирование Покрытие кода Автодополнение Статический анализ кода C C++ Дизайн на основе GUI Браузер классов
IDE for Android Java C++ Неизвестно Нет Нет Нет Android Да Да Неизвестно Неизвестно Неизвестно Неизвестно Неизвестно Да Да Да Неизвестно
Anjuta GPL Нет Да Да Да Неизвестно Неизвестно Неизвестно Да Неизвестно Да Да Да Да
C++ Builder Проприетарная Да Нет Да Да Да Да Неизвестно Неизвестно Да Да Да Да Да Неизвестно
Code::Blocks GPL Да Да Да Да Да Да Да Неизвестно Да Да Да Да Да Да
Codeforge Проприетарная Нет Да Нет Да Неизвестно Неизвестно Неизвестно Неизвестно Да Да Да Да Да Неизвестно Неизвестно
CodeLite GPL Да Да Да Да Да Да Неизвестно Неизвестно Да Да Да Да Да Да
Dev-C++ GPL Да Нет Да Да Неизвестно Неизвестно Неизвестно Неизвестно Неизвестно Да Да Да Неизвестно
Eclipse CDT EPL Да Да FreeBSD, Solaris, OpenIndiana, JVM Да Да Нет Неизвестно Неизвестно Да Неизвестно Внешний Внешний Нет Нет
Geany GPL Да Да Да Нет Нет Неизвестно Неизвестно Да Неизвестно Внешний Внешний Неизвестно Да
GNAT Programming Studio GPL Да Да Solaris Неизвестно Неизвестно Неизвестно Неизвестно Неизвестно Неизвестно Неизвестно Да Да Неизвестно Неизвестно
KDevelop GPL Да Да Да FreeBSD, Solaris, OpenIndiana Да Да Да Неизвестно Неизвестно Да Неизвестно Внешний Внешний Да Да
Kuzya GPL Да Да Да FreeBSD Неизвестно Нет Да Неизвестно Неизвестно Да Неизвестно Нет Да Да Неизвестно
MonoDevelop GPL, LGPL Нет Да Да Да Да Нет Неизвестно Неизвестно Да Неизвестно Да Да Да Да
NetBeans CDDL, GPL, LGPL Да Да Да JVM Да Нет Нет Неизвестно Неизвестно Да Да Внешний Внешний Нет Да
Pelles C Бесплатная Да Нет Да Да Да Неизвестно Неизвестно Да Неизвестно Да Нет Неизвестно Неизвестно
Qt Creator GPL Да Да Да Да Да Да Да Нет Да Нет Нет Внешний Да Да
Sun Studio Проприетарная Нет Да Solaris Да Да Да Да Да Да Да Да Да Неизвестно Да
Rational Software Architect Проприетарная Да Да JVM Неизвестно Неизвестно Неизвестно Неизвестно Неизвестно Неизвестно Неизвестно Внешний Внешний Неизвестно Неизвестно
Turbo C++ Explorer Бесплатная Да Нет Да Да Да Да Неизвестно Неизвестно Неизвестно Неизвестно Неизвестно Нет Да Неизвестно Неизвестно
Turbo C++ Professional Проприетарная Да Нет Нет Да Да Да Да Неизвестно Неизвестно Неизвестно Неизвестно Нет Да Неизвестно Неизвестно
Ultimate++ BSD Да Да Да Да Да Неизвестно Неизвестно Неизвестно Да Внешний Внешний Неизвестно Да
Microsoft Visual Studio Проприетарная Да Нет Нет Нет Да Да Да Да Да Да Да Да Да Да Да
Microsoft Visual Studio Express Бесплатная Да Нет Да Да Да Неизвестно Неизвестно Да Да Да Да Да Да
wxDev-C++ GPL Да Нет Да Да Неизвестно Неизвестно Неизвестно Да Неизвестно Да Да Да Неизвестно
Xcode Бесплатная Нет Нет Да Да Да Да Да Да Да Да Да Да Да Да
Open Watcom Sybase Open Watcom Public License Да Да OS/2 Да Нет Да Неизвестно Неизвестно Неизвестно Неизвестно Да Да Неизвестно Неизвестно

3Среда разработки B4R (Basic for Arduino)

Логотип B4R

Ещё одна интересная альтернатива Arduino IDE – B4R, или «Basic for Arduino». Эта среда разработки уникальна тем, что использует язык Basic, а не Си. Она также поддерживает функцию автодополнения кода. Кроме того, она полностью бесплатна.

При первом запуске среда B4R также требует указать путь к директории с Arduino IDE и, при необходимости, дополнительным нестандартным библиотекам и общим модулям. Эти настройки можно задать и позже через меню Tools Configure Paths.

Настройки среды B4R

А также выбрать плату: Tools Board Selector:
Выбор платы Arduino в B4R

Давайте напишем вот такой скетч и заодно немного ближе познакомимся со средой разработки.

Главное окно B4R IDE

В центральной части находится поле для редактирования кода. В правой – область вкладок и сами вкладки: доступных библиотек, модулей скетча, журнала и поиска. На приведённый фотографии открыта вкладка с журналом. Видно, что сюда выводятся сообщения, которые в программе задаются командой Log(). В данной среде разработки можно ставить точки останова, что весьма полезно в процессе отладки, а также использовать закладки для более быстрой навигации по коду.

Вы не сможете сразу начать программировать в этой среде разработки, т.к. она использует другой, более объектно-ориентированный язык, чем классическая Arduino IDE, с другим синтаксисом. Тем не менее, удобство этой среды и наличие хорошего руководства от разработчиков полностью окупает эти недостатки.

Веб-интегрированная среда разработки

Веб — интегрированная среда разработки ( Web IDE или WIDE ), также известная как облака IDE , является браузер на базе IDE , что позволяет для разработки программного обеспечения или веб — разработки. Веб — IDE можно получить доступ через веб — браузер, такой как Google Chrome или Internet Explorer, что позволяет для портативной рабочей среды. Веб — IDE , как правило , не содержат все из тех же функций , как традиционные, или настольный, IDE, хотя все основные особенности IDE, таких как подсветка синтаксиса, как правило , присутствуют.

Веб — IDE, как и большинство веб — сайтов, как правило , состоит из двух частей: внешний интерфейс и бэкэнда. Оболочка обычно записывается в Javascript, используя AJAX методы для взаимодействия с серверной с помощью HTTP API, хотя в некоторых случаях, расширение браузера или настольное приложение служит в качестве интерфейса и взаимодействует с серверной без необходимости для браузера. Бэкэнд заботится о создании, сохранении и открытии файлов, а также выполнения каких — либо терминальных команд , если IDE поддерживает его. Эта настройка позволяет портативности и непрерывность. Состояние IDE может быть сохранен и открыт на другом компьютере. Это также позволяет компиляции и запуска программ продолжать , пока пользователь находится вдали.

Многие веб — Иды поддерживают несколько языков программирования, в то время как другие поддерживают только определенный язык. Большинство веб — Иды разрешить доступ к интерфейсу командной строки (CLI) , что позволяет пользователю устанавливать или запускать любое программное обеспечение, которое необходимо для развития, что позволяет «полный» контроль над средой разработки. Открытый исходный код веб — Иды позволяют для установки на локальных серверах или машинах и могут быть использованы , чтобы дать разработчику больше контроля над средой разработки.

Большинство веб — Иды также включают в режиме реального времени для совместной работы функции, что позволяет нескольким пользователям одновременно работать с другими разработчиками по всему миру (или локально) в режиме реального времени.

Плюсы:

  • Доступ из любой точки мира или любого компьютера (с доступом в Интернет).
  • Минимальная конфигурация требуется (или требуется только один раз).
  • Централизованное рабочее пространство.
  • Легко включены в виртуальной среде разработки (например, при использовании Vagrant системы).
  • Нет необходимости устанавливать много программного обеспечения на местном уровне.
  • Позволяет для разработки от недорогих машин, таких как Chromebooks, так как тестирование и развитие происходит на отдельном компьютере (сервере).
  • Может использоваться в качестве настольного IDE , когда установка с веб — сервера на локальном компьютере.

Минусы:

  • Должен иметь (хороший) доступ в Интернет.
  • Если не самодостаточно, возможные проблемы за пределами безопасности.
  • Возможные простои сервера.
  • Техническое обслуживание, если самодостаточно
  • Большинство не поддерживает смартфоны или таблетки хорошо.

Заметный Web Ида:

  • PaizaCloud Cloud IDE
  • Совместная среда разработки (CDE)
  • Сравнение кода игровых площадок онлайн источников
  • Cloud9 IDE
  • Coder Интернет IDE
  • Koding
  • PythonAnywhere
  • sourceLair
  • YouOS
  • Codeanywhere
  • Затмение Che
  • Repl.it

2Среда разработки Programino

Логотип Programino

Рассмотрим среду разработки PROGRAMINO. Это платная среда разработки, но её можно опробовать в течение 14-ти дней бесплатно. Programino, как и другие среды разработки, требует, однако, чтобы у вас была установлена Arduino IDE. При первом запуске программы следует в настройках указать путь к исполняемому файлу arduino.exe. Для этого идём в меню настройки: Options Editor Settings. Появится окно, в котором нужно будет указать пути к директории с Arduino IDE и сопутствующими библиотеками. Теперь мы готовы писать программы в Programino.

Первоначальная настройка среды Programino

Язык, который используется в данной среде разработки – такой же, как и в оригинальной Arduino IDE – Си. То есть, по сути, если вы уже пишете скетчи в Arduino IDE, то вам не придётся изучать новый язык программирования, что является большим плюсом данной среды разработки.

Однако помимо этого, данная IDE предлагает такой удобный способ быстрой разработки как автодополнение кода. То есть, вам не придётся постоянно лазить в справочник по командам и методам Arduino. Вы начинаете набирать код, и среда разработки предложит вам выбрать из доступных вариантов тот, который вам нужен. Например, вы набираете «digi» и IDE предлагает вам варианты: «digitalRead», «digitalWrite» и другие возможные.

Функция автодополнения кода Programino IDE

Давайте напишем простой скетч, в котором будем постоянно опрашивать один из аналоговых выводов Arduino и выводить считанные показания в последовательный порт.

Постарайтесь набирать скетч вручную, а не копировать и вставлять, чтобы прочувствовать удобство автодополнения кода Programino.

const int pinA = A5;

void setup() {
    pinMode(pinA, INPUT);
    Serial.begin(19200);
}

void loop() {
    int r = analogRead(pinA);
    Serial.println(r);
    delay(100);
}

Что ещё интересного предлагает Programino IDE? В данной среде разработки имеются несколько дополнительных полезных инструментов, доступных через меню Tools. Например: блокнот, дизайнер LCD символов, преобразователь между DEC-BIN-HEX, терминал последовательного порта, аналоговый плоттер и другие.

Дополнительные инструменты Programino IDE

Остановимся подробнее на инструменте Analog Plotter. Это средство позволяет визуализировать вам то, что приходит в COM-порт от Arduino.

Для работы плоттера в скетче нужно активизировать последовательный порт на скорости 19200 кб/сек. Аналоговые данные выводятся на плоттер с помощью команды Serial.println().

Запустим аналоговый плоттер. Нажмём кнопку Connect для подключения к порту, к которому у нас подключён Arduino.

Аналоговый плоттер в Programino

Этот инструмент может быть полезным, например, для отображения показаний во времени каких-нибудь аналоговых датчиков: температуры, влажности, давления, освещённости и других.

Перед записью скетча в память Arduino, следует указать тип используемой платы и порт, к которому она подключена через меню Hardware.

Выбор платы в PrograminoВыбор последовательного порта в Programino

Для загрузки скетча в память Arduino нажмите в верхнем меню иконку с изображением загрузки. Programino загрузит скетч и в нижнем окне журнала покажет данные о размере скетча и оставшихся свободных ресурсах платы Ардуино.

4Среда разработки Codeblocks for Arduino

Существуют и другие среды разработки для Arduino кроме перечисленных. Например, CodeBlocks. Основное её отличие от описанных IDE – возможность писать код для микроконтроллеров и некоторых других платформ, не только для Arduino. Более подробно описывать её не буду, проще почитать информацию на официальном сайте и файлы справки.

Среда разработки CodeBlocks для Arduino

Теперь мы знаем, что существуют альтернативные, гораздо более удобные, среды разработки, чем классическая Arduino IDE. Их использование может существенно упростить и ускорить написание ваших собственных скетчей.

история

GNU Emacs , расширяемый редактор , который обычно используется в качестве IDE на Unix-подобных системах

Иды изначально стали возможными при разработке с помощью консоли или терминала . Ранние системы не могли поддерживать друг, поскольку программы были подготовлены с использованием схем, ввод программы с перфокарт (или бумажной ленты и т.д.) перед отправкой их в компилятор . Дартмут BASIC был первым языком , который будет создан с IDE (и был также первым , чтобы быть сконструирован для использования, сидя перед консолью или терминала). Его IDE (часть системы Дартмута Time Sharing ) была командой на основе, и поэтому не выглядит так же, как в основе меню, графических Иды популярных после появления графического интерфейса пользователя . Однако это интегрированное редактирование, управление файлами, компиляцию, отладка и выполнение в соответствии с современной IDE.

Maestro I является продуктом от Softlab Munich и был первым в мире интегрированной среды разработки программного обеспечения. Maestro I был установлен для 22,000 программистов по всему миру. До 1989 года , 6000 установок существовали в Федеративной Республике Германии . Маэстро был , возможно , является мировым лидером в этой области в 1970 — х и 1980 — х годов. Сегодня один из последних Маэстро можно найти в музее информационных технологий в Арлингтоне.

Одним из первых Иды с концепцией плагина была Softbench . В 1995 году Computerwoche отметил , что использование IDE не был хорошо принят разработчиками , так как это было бы забор в своем творчестве.

По состоянию на март 2015 года, самые популярные Иды являются Eclipse , и Visual Studio .

Свойства проекта

Свойства проекта предоставляют доступ ко множеству настроек.

Доступ к свойствам проекта

В частности, позволяют подключать сторонние библиотеки (указать путь в файловой системе для каталогов с заголовочными и библиотечными файлами, указать подключаемые на этапе компоновки файлы .lib).

Пути к каталогам с различными файламиПодключаемые на этапе компоновки .lib-файлы заранее откомпилированных библиотек

Qt Creator

Qt Creator — IDE, созданная для разработки приложений, использующих кроссплатформенную библиотеку графического интерфейса пользователя Qt. Впрочем, использовать Qt в своих программах при работе в Qt Creator не обязательно. “Голый” Qt Creator можно взять . Компилятор, отладчик, систему сборки надо будет устанавливать и настраивать отдельно. Далее рассмотрим более простой и удобный для новичка вариант, когда базовый набор инструментов доступен “из коробки”. Для этого придётся установить гигабайтный Qt SDK (что, впрочем, может пригодиться, если разрабатывать приложения под Qt). Далее предполагается, что был установлен 32-битный вариант под Windows с интегрированной сборкой MinGW (компилятор g++).

Окно Qt Creator сразу после запуска

Глобальная настройка среды осуществляется через окно параметров (меню “Инструменты” → “Параметры”).

Параметры

Для работы необходимо наличие, по крайней мере, одного полностью сформированного “комплекта” (компилятор, отладчик, система сборки). В нашем случае один комплект для разработки desktop-приложений присутствует.

Комплект по умолчанию

Для создания проекта нажмём в главном окне кнопку “+ Новый проект”. В результате появится окно “Новый проект”, в котором выберем “Проект без Qt” → “Приложение на языке C++” (это консольное приложение).

Новый проектВведём название проекта

Qt Creator поддерживает три системы сборки: “родные” qmake и Qbs, а также CMake. По умолчанию выбрана qmake. Мы не будем менять этот выбор.

Выбор системы сборкиВыбор комплектаИтоговое окно

Итоговое окно показывает нам список файлов, из которых будет состоять новый проект (main.cpp — код “Helloworld”, StudiesTesting.pro — файл описания проекта), и позволяет добавить проект в систему контроля версий. При долгосрочной разработке рекомендуется использовать какую-либо систему контроля версий. При этом не обязательно пользоваться средствами интеграции IDE — можно создавать репозитории и управлять ими извне. Наиболее популярная система контроля версий на данный момент — Git.

Новосозданный проект

Два зелёных треугольника в нижнем левом углу окна являются кнопками запуска проекта (просто запуск и запуск в отладчике). При необходимости проект будет пересобран. Кнопка с изображением молотка выполняет только сборку проекта без запуска.

Настройка проекта может осуществляться путём редактирования соответствующего файла .pro. Например, можно запросить поддержку стандарта ISO C++14.

Редактирование файла .pro

Если нажать на кнопку “Проекты” на левой вертикальной панели, то откроется окно, позволяющее настроить локальные свойства редактора, стиля кода и управлять сборкой и запуском проекта.

Настройки сборки

В частности, можно указать параметры командной строки, которые будут переданы в main при запуске программы из Qt Creator.

Настройки запуска

Добавить к проекту внешнюю библиотеку можно, нажав правой кнопкой мыши на названии проекта и выбрав пункт меню “Добавить библиотеку…”.

Добавить библиотеку

Однако на практике может быть проще добавлять библиотеки (не требующие настройки) через файл .pro.

Кувшинов Д.Р. 2015

Загрузка первой программы

Среда настроена, плата подключена. Прошейте управляющую плату, программой приведённой ниже.
Светодиод «LED1» на плате будет загораться и гаснуть каждые 500 миллисекунд.

blink.js
var  on = false;
setInterval(function() {
  on = !on;
  LED1.write(on);
}, 500);

Немного модифицируем код, чтобы изменить частоту мигания светодиода.

Заменим значение на и перепрошьём плату.

blink2.js
var  on = false;
setInterval(function() {
  on = !on;
  LED1.write(on);
}, 100);

Теперь светодиод «LED1» будет загораться и гаснуть каждые 100 миллисекунд — в 5 раз быстрее исходной версии.

В примере используется объект который установлен на платформе Iskra JS. Если вы используете другую платформу с интерпретатором JavaScript, имена объектов и пинов могут отличатся.

Режимы работы ИСРПО 1806

Режим редактирования

В данном режиме производится управление проектами, ввод и редактирование исходного кода на языках Си и ассемблера, компиляция (трансляция) файлов исходного текста проекта и построение исполняемого модуля в соответствии с заданными параметрами

Режим программирования и отладки

В этом режиме производится программирование памяти и отладка построенного модуля в режиме «Симулятора» (полная симуляция аппаратной платформы процессора) или режим «Отладчик» (отладка на целевой системе через адаптер). Режим отладки программ предоставляет
следующие возможности:

  • Отладка программ на уровне исходных текстов
  • Отладка программ на уровне дизассемблированного программного кода
  • Пошаговое выполнение программы
  • Отладка с помощью точек останова
  • Просмотр значений переменных и областей памяти в специальном окне
  • Работа с периферией

Остальные режимы

Остальные режимы работы ИСРПО 1806 связаны с записью программы в ПЗУ и проверкой записанных данных, работой с дампом памяти, настройками карты линковщика, задание ключей компиляции и трансляции.

ПЕРЕЧЕНЬ ИНТЕГРИРОВАННЫХ СРЕД

ActiveState Komodo

Anjuta

Aptana Studio

AVR Studio

Axure RP

BlueJ

Borland C++

Cloud9

Code Composer Studio

Code::Blocks

CodeLite

Codelobster

CodeWarrior

Delphi for PHP

Delphi Sources

Digital Visual Fortran

DJGPP

EASy68K

Eclipse (среда разработки)

Embarcadero RAD Studio

Eric

Fresh (IDE)

Game Maker

Geany

GNU toolchain

HaiQ

HiAsm

IBM Lotus Domino Designer

IBM VisualAge

IntelliJ IDEA

ISaGRAF

JBuilder

JDeveloper

JetBrains MPS

KDevelop

Kuzya

Kylix

Lazarus

Microsoft QuickC

Microsoft Robotics Developer Studio

Microsoft Small Basic

Microsoft Visual Studio

Microsoft Visual Studio Express

MIDletPascal

MonoDevelop

MSE (среда визуального программирования)

Open Cobalt

Open Watcom

Oracle Solaris Studio

PascalABC.NET

Pelles C

PHP Development Tools

PHP Expert Editor

PocketStudio

Portable.NET

PowerBASIC

PowerBuilder

PureBasic

PyScripter

QDevelop

Qt Creator

Quanta Plus

QuickPascal

Rational Software Architect

RPG Maker

SharpDevelop

Stardust (движок)

THINK C

Turbo C

Turbo Pascal

Ultimate++

Visible Pascal

Visual Prolog

Visual Studio LightSwitch

WebLogic

WinAsm Studio

WxDev-C++

Xcode

Zend Studio

Соединение с платой

Подключите плату к компьютеру USB-кабелем и нажмите кнопку в верхнем левом углу IDE для соединения.

Вам будет представлен список доступных портов (плат):

  • на Windows
  • на Mac OS

  • на Linux

Среди доступных плат могут появиться несколько устройств. Найдите среди них свою плату простым перебором.

После успешного подключения, вы увидите в консоли надпись «Connected». Фон кнопки изменит цвет на зелёный и в нижнем правом углу всплывёт окошко с уведомлением, что плата успешно подключена к компьютеру.

В чёрном окне наберите команду:

reset();

Плата перезагрузится и вы увидите баннер платы.

Обратите внимание на версию прошивки (1v85.1113) в примере. Если плата работает не корректно, .. Через консоль можно работать с подключённой платой налету: исполнять выражения, вызывать функции, просматривать значения переменных и т.д

Попробуйте, например, ввести в консоль и нажать Enter. Плата выполнит команду и вернёт результат .

Через консоль можно работать с подключённой платой налету: исполнять выражения, вызывать функции, просматривать значения переменных и т.д. Попробуйте, например, ввести в консоль и нажать Enter. Плата выполнит команду и вернёт результат .

Запуск программы

Чтобы запустить код в режиме отладки, можно нажать кнопку с зелёным треугольником или клавишу . Рядом с этой кнопкой находятся выпадающие списки, позволяющие выбрать конфигурацию и целевую платформу сборки. По умолчанию для каждого проекта создаётся две конфигурации: отладочная Debug и финальная Release. В финальной конфигурации отключена поддержка отладчика и включены оптимизации машинного кода. Целевую платформу можно не трогать, либо сменить x86, выбранную по умолчанию, на x64, если вы используете версию Windows для 64-битных процессоров семейства x86.

Запустить код без отладки с паузой в конце (чтобы окно консоли не закрывалось сразу) можно, нажав сочетание .

Запустить код

Ссылка на основную публикацию