МД (1194692), страница 16
Текст из файла (страница 16)
Результаты программирования, написанные при помощи Qt, запускаются для разныхоперационных систем, примерами служат Microsoft Windows, Linux путём простой компиляции программы для каждой ОС без изменения исходного кода. Qtимеет открытый исходный код. Существуют свободная (GPLv2) и коммерческая (Qt Commersical) лицензии.В состав Qt входят основные классы, используемые при разработке прикладного программного обеспечения (от элементов графического интерфейсадо классов для работы с сетью, базами данных и XML).
Qt является полностьюобъектно-ориентированным, легко расширяемым и поддерживающим техникукомпонентного программирования.Qt позволяет создавать собственные независимо компилируемые программные модули и размещать их непосредственно в панели визуального редактора.Также существует возможность расширения привычной функциональностипростых мини-программ, связанной с размещением их на экране, отображением, перерисовкой при изменении размеров окна.Достоинства Qt:̶ широкий выбор набор инструментов с возможностью добавления.
Классыдля работы с сетью, потоками. Возможность доработки классов под конкретнорешаемые задачи при помощи функции «наследование»;̶ механизм сигналов и слотов;̶ документация классов, с подробным описанием методов и примеров.QtAssistant – приложение быстрого поиска в документации. QtDemo – приложение, включающее в себя примеры методов с исходным кодом;104̶ QtCreator – приложение сборки, отладки, автодополнения кода, созданияпользовательского интерфейса на QML или UI и вывода документации.Недостатки Qt:– вес приложения при его распространении. Проект, созданный в Qt, прираспространении включает в себя бинарный код библиотек Qt, что значительно(20-50 Мб) сказывается на весе приложения;– временные затраты.
Сборка Qt может занимать от 2 часов;– при работе с MySQL через плагин и класс QSqlDatabase необходима переконфигурация Qt, а также дополнительная работа со сборкой всей библиотеки сбольшой вероятностью возникновения ошибок;– индивидуальная сборка Qt для всех операционных систем, где будет запускаться приложение, обусловлена большими временными затратами;– возможный отказ работы приложения при работе в других операционныхсистемах.3.8.2 Среда разработки Dev-C++Dev-C++ – это интегрированная среда для программирования на языках С иC++, работающая под управлением операционной системы Windows. СредаDev-C++ распространяется свободно с исходными кодами по лицензии GPL.Достоинства оболочки Dev-C++:̶ графический интерфейс;̶ встроенный отладчик GDB;̶ возможность создавать консольные и графические программы.Недостатки:̶ русский язык в консоли не поддерживается;̶ достаточно сложно написать программу, работающую с графическимиобъектами;̶ не предназначен для проектных решений;̶ нет встроенного рефракторинга кода;̶ не стабильно работающий отладчик.1053.8.3 Среда разработки Visual StudioMicrosoft Visual Studio – линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств.Visual Studio позволяет разрабатывать как консольные приложения, так иприложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows.Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода.Встроенный отладчик работает как отладчик уровня исходного кода, так икак отладчик машинного уровня.
Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейсаприложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных.Visual Studio позволяет создавать и подключать сторонние дополнения(плагины) для расширения функциональности практически на каждом уровне,включая добавление поддержки систем контроля версий исходного кода.Достоинства платформы:– быстрая интерпретация кода, что позволяет изменять размер шрифта кода,выделять места использования методов и добавлять собственные мощные элементы визуализации;– создание насыщенного пользовательского интерфейса с помощью визуальных дизайнеров Windows Presentation Foundation и Silverlight для разработкиприложений;– возможность использования интегрированной поддержки разработки многопоточных приложений, имеется возможность использование новых возможностей в приложении, если оно выполняется на компьютере с многоядернымпроцессором;106– разработка через тестирование ̶ Visual Studio формирует весь код заглушек, необходимый для выполнения модульного тестирования, позволяя разработчикам сосредоточиться на логике приложения;– встроенная иерархия вызовов позволяет быстро прослеживать поток выполнения программы без вызова отладчика, как результат ̶ меньше времени наотладку.Недостатки Visual Studio:̶ ошибки при установке приложения, несоразмерность сообщений и оконвывода сообщений;̶ высокие требования памяти;̶ нестабильная работа, высокий коэффициент «зависаний»;̶ медленные блочные операции (ctrl+k+c и ctrl+k+u - 17 секунд задержки);̶ сбои в установке по умолчанию;̶ IDE неспособно к компиляции кодов с помощью других компиляторов;̶ программирование возможно только при наличии Framework .net;̶ отладка приложений, использующих сторонние библиотеки, затруднена.3.8.4 Code::BlocksCode::Blocks – свободная кроссплатформенная интегрированная среда разработки приложений, написанная на C++ с использованием библиотекиwxWidgets (прежнее название wxWindows).
В ее основе лежит собственная архитектура поддержки подключаемых модулей, что дает возможность неограниченно расширять возможности среды. Кроме того, Code::Blocks легко и оченьгибко настраивается под разнообразные запросы пользователей [32].Достоинства среды:̶ кроссплатформенная IDE с открытым кодом, основанная на библиотекеwxWidgets;̶ компактное ядро и расширение функционала посредством множества независимо компилируемых программных модулей;107̶ встроенный интерфейс под множество компиляторов и набора, созданныхв рамках проекта GNU пакетов программ, как свободных, так и основанных начастной собственности;̶ множество рабочих окон для быстрого создания шаблона проекта как дляразнообразных микропроцессорных архитектур (AVR, ARM, PowerPC), так идля библиотек и исходных платформо-независимых оконных структур данныхграфического интерфейса под РС: GTK, Qt, WxWidgets, OpenGL и т.д.;̶ компактная и интуитивно понятная структура меню, обеспечивающаябыструю настройку среды;̶ подсветка синтаксиса, которую можно настраивать по своему усмотрениюи дополнять;̶ сворачивание блоков текста программы;̶ настраиваемое дополнение кода и обозреватель классов;̶ гибкая обработка отступов;̶ поддержка различных стилей форматирования исходного текста, причемих можно настраивать по своему усмотрению.Code::Blocks поддерживает множество компиляторов, в том числе целыйряд компиляторов для микропроцессоров:̶ GNU ARM GCC Compiler;̶ GNU AVR GCC Compiler;̶ SDCC (Small device C compiler).Недостатки:̶ нет встроенных библиотек;̶ необходимость подключения дополнительных модулей.Code::Blocks работает непосредственно в операционной системе, не требуякаких-либо интерпретаторов, что обеспечивает легкость и быстроту обработкипрограммного кода.Кроме того, ее легко можно использовать совместно с GDB для отладкипрограмм.108В настоящее время Code::Blocks ориентирована на разработку приложенийна языках C и C++ для Windows, Linux и Mac OS X и входит в состав всех современных популярных дистрибутивов Linux.Для создания AVR-приложений необходимо, чтобы были установлены триосновных пакета из комплекта AVR GCC: avr-gcc (компилятор и ассемблер),avr-binutils (компоновщик и ряд полезных инструментов) и avr-libc (стандартная библиотека С для процессоров Atmel AVR).
Современные популярные дистрибутивы Linux содержат пакеты AVR GCC в своих репозиториях. При необходимости эти программы можно собрать и установить из исходных текстов.3.8.5 Сравнение платформПроведем сравнение выбранных платформ по совокупности требований,сведя результаты сравнительного анализа в таблицу 5.GPBlocksLДаДаДа ДаДаДаДаДаДаДа109НетНеизвестноНеизвестноНеизвестноДа ДаНеизвестноLНетНеизвестноC++ДаНеизвестноGPдержкиСред-тре-ниебует- местоВтороесяВысо- треDev-Наличие технической под-Подгрузка библиотекТребования к памятиБраузер классовРазработка GUIСтатический анализ кодаАвтодополнениеПокрытие кодаПрофилированиеToolchainРазработка GUIОтладчикAppleLinuxДаНеизвестноCode::WindowsЛицензияIDEТаблица 5 – Требования к платформам программированиякиеТретьебует- местосяПродолжение таблицы 5Сред-тре-ниебует- тое месяQtGPCreatorLДаДаДаДа ДаДаДаНетДаНетДапроoftприVisualетарStudioнаястоДаНизкие треMicrosЧетвер-Первоебует- местосяДаНетДа ДаДаДаДаДаДаДаДаВ результате сравнения была выбрана платформа программированияCode::Blocks, как оптимальный вариант среди рассмотренных.