Файл: Интегрированные среды разработки программ (Интегрированная среда разработки, ее предназначение).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 449

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Таблица №1. Сравнение выпусков ИСР Visual Studio

В представленной таблице мы можем видеть релизованный в каждом из выпуском возможности среды. Уровень реализации и автоматизации каждой из них приведены пометками «+». Как мы видим в старшей версии все реализовано с максимальной работоспособностью и автоматизацией, что приведет, после соответствующего обучения, к наибольшему упрощению работы разработчика при создании своих проектов.

Далее предлагаю рассмотреть наиболее распространенные возможности и инструменты среды Visual Studio, которые помогают пользователям повысить продуктивность разработки своего программного обеспечения.

  1. Волнистые линии, быстрые команды. В режиме реального времени при вводе кода те места где выявляются ошибки или потенциально неверно написанные элементы выделяются волнистой линией. Эта графическая подсказка привлекает внимание пользователя и позволяет немедленно устранить ошибку, еще до сборки кода и запуска программы. При наведении курсора на выделенный элемент будет показана дополнительная информация о найденной неисправности. Помимо этого в окне слева возможно появление значка лампочки с быстрыми командами по исправлению ошибки.
  2. Очистка кода. Данное средство позволяет нажатием кнопки мыши отформатировать код, исправить его в соответствии с рекомендациями, которые предлагают параметры стиля кода, соглашения в файле Editor Config и анализатор Roslyn. Данная функция позволяет устранять многие проблемы при написании исходного кода еще до его проверки. К сожалению на сегодняшний день данная функция реализована лишь для C# и C++, а для огромного множества других языков программирования достпуных в среде Visual Studio еще не доступна.
  3. Рефакторинг. Заключает в себе такой функционал, как интеллектуальное изменение имен переменных, построение нового метода на основе одной или нескольких строк кода, перераспределение порядка параметров методов.
  4. IntelliSense - кластер функций, который включает в себя средства отображения сведений о коде непосредственно в редакторе кода и автоматизированно создающих в некоторых случаях куски кода. По своим основным возможностям она представляет собой базовую документацию, которая входит в состав редактора, позволяющую не искать информацию о создаваемом коде в каких то дополнительных источниках. Функциональные возможности данной составляющей зависят от используемого языка программирования.
  5. Поле поиска. Данная функция была создана, в большей степени, для начинающих пользователей средой, которая на первый взгляд может показаться очень сложной и громоздкой. Действительно огромное нагромождение функций и надстроек может ввести в ступор новичка. Именно для быстрого обнаружения необходимого содержимого и было добавлено поле поиска. Как только вы начинаете набирать название искомого элемента, Visual Studio сразу прдставит результаты, один из которых точно подойдет для решения задачи пользователя. Если же будет необходимо установить какие либо дополнительные функциональные возможности (такие как поддержка дополнительных языков программирования), поле поиска предложит варианты, которые откроют Visual Studio Installer для устанвки рабочей среды или дополнительного самостоятельного компонента.
  6. Live Share. Данная функция дает пользователю возможность совместного редактирования исходного кода с группой разработчиков, даже если вы находитесь в разных странах. Каждый из них сможет быстро и защищенно поделиться проектом, а так же сеансами отладки, экземплярами терминалов, веб-приложениями.
  7. Иерархия вызовов. В данном элементы отображаются методы, которые вызывают выбранный метод. Это очень полезно в том случае, если вы собрались изменить (удалить) метод, а так же когда хотите отследить ошибку, когда нет видимых причин ее возникновения.
  8. CodeLens. Данная функция позволяет обнаружить ссылки на код, его изменения, ошибки обладающие взаимосвязью, рабочие элементы, проверки кода, а так же тесты модулей. Самое удобное в этом это возможность в ходе всех манипуляций не выходить из редактора кода.
  9. Перейти к определению. Данная функция позволяет мгновенно перейти непосредственно к тому месту, где определена процедура, функция или тип данных.

Интегрированная среда разработки Qt Creator

Qt Creator на данный момент является основным и, пожалуй, единственным достойным соперником Visual Studio на арене интегрированных сред программирования. Одним из важнейших достижений данной среды разработки является то что она позволяет программистам работать над одним и тем же продуктом, но на разных платформах, используя общие инструменты для разработки, а так же отладки. Проекты необходимы для того, чтобы иметь возможность сформировать и запустить приложение, при этом Qt Creator зависим от той же информации, что необходима компилятору. Данная информация указывается в настройках сборки и запуска проекта.

Формирование проекта позволит пользователю совершать следующие действия:

  1. Группировать все файлы и элементы вместе;
  2. Дополнять уже имеющиеся шаги сборки своими;
  3. Включить элементы и формы ресурсов;
  4. Сформировать начальные настройки для запускаемых приложений.

Пользователь может начать создавать свой проект с пустого файла, а также имеет возможность импортировать существующий проект. Среда сама сгенерирует все нужные файлы, в соответствии с видом разрабатываемого проекта. К примеру, если пользователь хочет создать приложением с визуальным интерфейсом пользователя, то Qt Creator создаст пустой .ui файл, который в дальнейшем будет доступен для изменения во встроенном Qt Designer.

Кроме того рассматриваемая среда интегрирована с кроссплатформенными средствами автоматизированными системами сборки: qmake и CMake. Пользователь может импортировать уже созданные проекты, которые не использовали при сборке qmake и CMake, указать Qt Creator, который проигнорирует использовавшуюся до этого систему сборки.

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

Так как рассматриваемая среда относится к ИСР, то Qt Creator имеет существенные отличия от всем привычного текстового редактора (такого как Word), которые заключаются прежде всего в том, что система может автоматизировано собрать и запустить приложение. Она воспринимает языки программирования С++, а так же QML именно как программный код, а не как обычный текст. Это умение позволяет ей:

  1. Дать пользователю возможность создавать изначально хорошо форматированный код;
  2. На основе созданного раньше кода предполагать дальнейшие действия пользователя и автоматизировано дополнять код;
  3. В режиме реального времени отображать данные об ошибках и предупреждения;
  4. Дать пользователю возможность быстро перемещаться между классами, функциями и символами;
  5. Предоставлять пользователю справку по классам, функциям и символам, в зависимости от контекста в котором ее запросят;
  6. Автоматически изменять имена символов так, что другие символы с таким же именем но использующиеся в других областям не изменят своего имени;
  7. Отображать ссылку на ту позицию кода, в которой функция была использована.

Пользователь может использовать Qt Designer, чтобы располагать и задавать настройки своих виджетов или диалогов и производить их тестирование с применением разнообразных стилей и разрешений экрана. Виджеты и формы, которые были созданы с помощью Qt Designer могут быть легко интегрированы в исходный код, используя для этого свойство сигналов и слотов Qt, которое дает возможность без множества действий определить реакцию графических элементов. Свойства, заданные в Qt Designer, имеют возможность динамического изменения прямо в исходном коде. Кроме того, существует возможность продвижения виджетов. Она, в совокупности с собственноручно разработанными модулями позволит применять свои собственные виджеты совместно с Qt Designer.

В среде разработки пользователь сможет использовать редактор для написания исходного кода на таких языках программирования, как Qt C++, QML (язык декларативного программирования).

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

QML это модификация JavaScript, которая делает доступным механизм декларативной сборки структуры объектов из элементов QML. QML улучшает взаимосвязь между JavaScript и и уже созданной системой Qt, основанной на QObject, дополняет ее поддержкой автоматического группирования свойств и способствует сетевой открытости на уровне языка.

Qt Creator обеспечивает помщь для сборки и запуска программных продуктов, созданных на Qt для настольных компьютеров (под управлением ОС Windows, Linux и Mac OS) и мобильных устройств (под управлением мобильных ОС Symbian, Android и iOS). Настройки сборки позволят пользователю быстро переключаться между целями сборки.

При сборке приложения, разработанного для мобильного устройства (смартфона), подключённого к компьютеру пользователя, Qt Creator самостоятельно создает «пакет» установки, выполняет его установку на устройстве и сразу же включает.

Qt Creator поставляется с предустановленным набором инструментов, включающим в себя системы управления версиями и эмулятор Qt.

Отличным вариантом для создания проекта считается использование системы управления версиями. Для получения доступа к пользовательским хранилищам Qt Creator применяет консольные клиенты систем управления версиями. Существуют следующие системы:


  1. Git
  2. Subversion
  3. Perforce
  4. CVS
  5. Mercurial

Открытые для использования пользователем возможности в Qt Creator зависят от системы управления версиями. Минимальный набор функций открыт для всех поддерживаемых систем. Набор включает сравнение элементов с последней версией, расположенной в хранилище, и отображение разницы, просмотр истории версий и подробностей изменений, аннотацию файлов, а так же принятие либо отмену изменений.

Для тестирования приложений на Qt, разработанных для мобильных устройств в похожем окружении, пользователь может применить эмулятор Qt. Он имеет возможность изменить информацию устройства о его настройках и окружении.

Qt Creator имеет возможность помочь пользователю с отладкой его приложений. Среда применяет интерфейсы к GNU Symbolic Debugger (gdb) и Microsoft Console Debugger (CDB) для отладки обычных приложений на C++ и свой собственный отладчики для Java Script. Это дает возможность подключать смартфоны к компьютеру и отлаживать используемые на них программы.

Сравнение сред Qt Creator и Visual Studio

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

Общей чертой данных ИСР можно считать то, что как в Qt, так и в Windows Runtime все построено на классах. Но как только пользователь начнет создавать свой код и использовать какие-то библиотеки, сразу становится понятно, что есть одно огромное и немаловажное именно для интегрированных сред разработки отличие – большая часть разработки построена на создании либо вызове асинхронных функций. Если пользователь ранее не сталкивался с этим, то в любом случае ему придется обратиться к литературе и почитать сопроводительную документацию (в том случае, если пользователь только начинает путь разработчика, то это даже полезно, так как поможет разобраться в асинхронном программировании).

Возвращаясь к сравнению двух сред стоит отметить, что в Visual Studio по сравнению с Qt: применение уже готовых асинхронных функций, а также она располагает достаточно простыми средствами создания своих собственных, чем реализованные с помощью потоков в Qt параллельные вычисления.

Кроме того стоит отметить то, что через WinRT достаточно просто сохранять и получать настройки приложения – крайне удобно по сравнению с Qt. К тому же, все сохраненные надстройки будут доступны с любого вашего устройства, что очень удобно при сетевых разработках.


Qt — очень крупная разработка, имеющая много сильных сторон, но при работе с ней не ощущается той интуитивности и программной поддержки, которой буквально обволакивает пользователя Visual Studio с C++/CX. Удобная среда, элементарность параллельных вычислений, имеющая даже в минимальном наборе новые стандарты C++ (включая некоторые возможности еще не вышедшего C++17).

Лично мое мнение заключается в следующем: Qt сильно проигрывает Visual Studio; а учитывая активную поддержку корпорацией Microsoft своей среды, то она навсегда останется неоспоримым лидером. Уже в наше время нет никаких плюсов при написании программного обеспечения на C++/Qt, так как Visual Studio предоставляет огромный набор возможностей для разработки кроссплатформенных программных продуктов.

Возможные варианты развития интегрированных сред программирования.

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

Единственным отличием, ожидаемым в ближайшей перспективе разработки можно считать стремление создателей ИСР не разрабатывать новые функции, а сделать свою среду доступной в «облачном» хранилище. То есть избавить пользователей от необходимости установки среды на свой персональный компьютер, а сделать среду доступной в Web-пространстве, что в свою очередь откроет перед разработчиками огромные возможности по портабельности продукта.

В связи с быстро развивающимися сетевыми технологиями, когда все больше и больше программ получают Web версии, избавляя, тем самым, пользователя от необходимости установки ПО на свой ПК, можно сделать логичное предположение что именно выход на Web – площадку и станет следующим этапом в развитии интегрированных сред разработки. Но существует вероятность того, что создатели ИСР видят другое будущее своих разработок и оставят их узкоспециализированным программным продуктом.

Заключение