Добавлен: 06.04.2023
Просмотров: 344
Скачиваний: 1
Концепция среды особенно полезна, когда одно и то же приложение развернуто в разных средах. Чтобы улучшить, исправить или изменить поведение приложения, разработчики вносят изменения в его код (или в его конфигурацию). Если название среды, где эти изменения были первоначально сделаны, является средой разработки, а та среда, где конечные пользователи фактически используют приложение называется производственной средой, то в типичной архитектуре создания ПО эти среды являются не только отдельными, но также могут форсировать несколько этапов между ними. Обновления программ по очереди развертываются в каждой среде, чтобы упростить управление поэтапным выпуском, где на каждом этапе ПО тестируется и откатывается на случай, если что-то пойдет не так.
Качественный продукт в категории среды для разработки ПО должен:
Обеспечить возможности программирования через текстовый редактор.
Создавать интеграцию хотя бы с одной платформой без отдельного плагина.
Предоставить интерфейс прикладного программирования; обеспечить компиляцию, отладку, управление версиями, предложения кода для конкретной платформы.
С развитием технологий и повышением ожиданий пользователей, функциональность среды, скорее всего, изменится. Коллекция программных инструментов для разработчиков значительно расширилась с 1990-х годов.
Следующие четыре категории представляют тенденции, которые оказывают значительное влияние на среды, т.е. на их пользовательские интерфейсы, инструменты и архитектуры:
Ориентированные на язык среды. Эти типы сред разрабатываются вокруг одного языка, предлагая набор инструментов, подходящий для этого конкретного языка. Они очень интерактивны и предоставляют ограниченную поддержку для программирования в целом. Cedar для Mesa, RationalEnvironment для Ada, Interlisp для Lisp и Smalltalk для Smalltalk, — вот некоторые распространенные примеры сред, ориентированных на язык.
Структурно-ориентированные среды. Эти типы сред включают методы, позволяющие пользователям напрямую манипулировать структурами. Эти методы не зависят от языка, что вызвало концепцию генераторов для сред.
Среды инструментария. Эти типы сред предлагают набор инструментов, которые включают независимую от языка поддержку задач программирования, включая контроль версий и управление конфигурацией.
Основанные на методах. Эти типы сред включают поддержку широкого спектра подпрограмм, участвующих в процессе разработки. Это включает в себя такие задачи, как управление командой и проектом. Они также имеют инструменты для определенных спецификаций и методов проектирования.
Глава 2. Обзор IDE
2.1. NetBeans IDE
Опытные программисты подтвердят, что правильная среда IDE максимально важна для создания и поддержания высокого качества кода. Важно ответственно подходить к выбору интегрированной среды для работы. Поскольку формат написания кода меняется, а новые языки программирования появляются часто, важно, чтобы разработчики программного обеспечения выбрали правильную IDE для достижения поставленных целей и задач.
NetBeans IDE - интегрированная среда разработки приложений, бесплатная IDE с открытым исходным кодом.
NetBeans среда разработки для PHP, которая открывает список самых популярных. Важно отметить, что среда разработки бесплатная и поддерживает русский и английский языки. Создание данной среды было начато еще в 1996 году, но с того времени разработчики проделали огромную работу по оптимизации проекта. NetBeans IDE динамично развивается и постоянно совершенствуется, чтобы оставаться на позициях лидера.
Проект не был бы столь успешен если бы корпорация Oracle не спонсировала его, но в 2016 году курирование было передано фонду Apache. Разработчиками на данный момент являются NetBeansCommunity и NetBeansOrg.
Предназначена для профессиональной разработки десктоп приложений, web-приложений, корпоративных систем, программ для мобильных устройств. NetBeans - единственная IDE, которая устроит и начинающего разработчика, и профессионала.
Особенности программы:
Поддерживаемые языки программирования: Java, JavaFX, PHP, JavaScript, Ruby, Groovy, Python и C/C++, а также все языки разметки: HTML, XML и стили CSS.
Поддерживает технологии: J2SE, J2EE, J2ME, JavaFX SDK, PHP Zendframework, UML, SOA, Ajax, RubyonRails, GroovyandGrails.
NetBeans IDE является платформой для построения десктоп приложений с функциональным пользовательским интерфейсом, т.к. представляет из себяфреймворк к Java библиотеке Swing. Это сэкономит массу времени тому, кто не поленится ознакомиться с особенностями программирования на платформе NetBeans.
NetBeans IDE является платформой для создания плагинов и расширения своей функциональности [12].
Основные функции: рефакторинг, профилирование, работа с CVS и SVN, работа с удалённым сервером через FTP, визуальный редактор пользовательских интерфейсов, подсветка синтаксических конструкций, автодополнение, показ справки на лету, возможность использования готовых шаблонов кода, интеграция с серверами - автоматическое развёртывание приложений, управление сервером и т.д.
Расширенные возможности по работе с базами данных - встроенный клиент к базам данных - MySQL, Postgres, Oracle и др., редактор запросов SQL.
Рис.1 Окно NetBeans IDE
2.2.Eclipse
Eclipse - бесплатная программная платформа с открытым исходным кодом, контролируется организацией EclipseFoundation. Написана на языке программирования Java и основной целью её создания является повышение продуктивности процесса разработки программного обеспечения.
Бесплатный и гибкий редактор с открытым исходным кодом. Он может оказаться полезен, как для новичков, так и для профессионалов. Первоначально создаваемый как среда для Java-разработки сегодня Eclipse имеет широкий диапазон возможностей благодаря большому количеству плагинов и расширений. Помимо средств отладки и поддержки Git / CVS, стандартная версия Eclipse поставляется с инструментами Java и PluginDevelopmentTooling. Если вам этого недостаточно, доступно много других пакетов: инструменты для построения диаграмм, моделирования, составления отчетов, тестирования и создания графических интерфейсов. Клиент MarketplaceEclipse открывает пользователям доступ к хранилищу плагинов и информации.
Поддерживаемые языки: C, C++, Java, Perl, PHP, Python, Ruby и другие.
Особенности:
- Множество пакетных решений, обеспечивающих многоязычную поддержку;
- Улучшения Java IDE, такие как иерархические представления вложенных проектов;
- Интерфейс, ориентированный на задачи, включая уведомления в системном трее;
- Автоматическое создание отчетов об ошибках;
- Параметры инструментария для проектов JEE;
- Интеграция с JUnit.
Недостатки:многие параметры этой среды разработки могут запугать новичков. Eclipse не обладает всеми теми функциями, что и IntelliJ IDEA, но является IDEс открытым исходным кодом [8].
Начало проекту Eclipse было положено в 1998 году корпорацией IBM, поставившей перед собой цель создания интегрированной среды Java-разработки нового поколения, расширяемой за счет встраиваемых в нее интегрируемых инструментов, силами нескольких поставщиков Java-инструментов. С этой целью корпорация IBM в конце 2001 года предоставила сообществу OpenSource часть исходного кода своего средства разработки Java-приложений WebSphereStudioWorkbench и сформировала консорциум Eclipse (включавший представителей компаний Borland, IBM, MERANT, QNX SoftwareSystems, RationalSoftware, RedHat, SuSE, TogetherSoft и Webgain) для управления дальнейшим развитием этой среды разработки, преобразованный в дальнейшем в независимую некоммерческую организацию EclipseFoundation, насчитывающую сегодня 115 членов.
Сегодня, попрошествии пяти лет с момента ее создания, платформа Eclipse стала настолько популярна, что начала вытеснять с рынка широко применявшиеся коммерческие инструменты (например, некоторые средства Java-разработки). Сегодня доля рынка средств разработки Java-приложений, занимаемая Eclipse, составляет примерно 50%. При этом в течение предыдущего года явно наблюдалась тенденция превращения Eclipse из среды Java-разработки в платформу интеграции инструментов для всего жизненного цикла разработки приложений - недавно в рамках консорциума Eclipse были начаты такие проекты, как создание графической среды моделирования, инструментов для архитектуры, ориентированной на сервисы, а также выпущены обновленные версии инструментов тестирования, бизнес-анализа, средств создания web-приложений.
IDE разработанные на базе платформы Eclipse применяются для создания программного обеспечения на различных языках программирования. Eclipse является платформой для разработки любых интегрированных сред программирования и практически любого клиентского программного обеспечения.
Рис.2 Окно Eclipse
2.3. Aptana Studio
AptanaStudio - бесплатнаяIDE, профессиональнаясредаразработкиWeb 2.0 приложений.
AptanaStudio представляет собой привлекательный инструмент разработки кода (распространяется с открытым исходным кодом), который поддерживает HTML5, CSS3, javascript и Ruby, Rails, PHP и Python на стороне сервера. Здесь также есть функция помощи в написании кода – здесь вы сможете найти информацию о функциях, элементах и так далее. Вы можете оставить синхронизацию с сервером посредством FTP, SFTP и управлять вашим кодом при помощи встроенного дебаггера. Здесь также есть множество других функций, которые значительно облегчат процесс разработки, включая интеграцию Git.
Используется для создания веб приложений с поддержкой всех современных технологий - HTML5, CSS3, JavaScript, Ruby, Rails, PHP и Python.
Особенности:
- Подсказки для CSS, HTML, JavaScript, PHP и Ruby;
- Мастер развертывания с простой настройкой и несколькими протоколами, включая Capistrano, FTP, FTPS и SFTP;
- Возможность автоматической установки созданных приложений Ruby и Railsна серверы хостинга;
- Интегрированные отладчики для Ruby и Rails и JavaScript;
- Интеграция с Git;
- Простой доступ к терминалу командной строки с сотнями команд;
- Строковые пользовательские команды для расширения возможностей.
Основные возможности AptanaStudio:
Имеет мощные функции по работе с кодом HTML, CSS, JavaScript, PHP, Ruby - редактирование, просмотр структуры кода, мгновенный предпросмотр в распространённых моделях браузеров.
Работа с использованием последних спецификаций HTML 5 и CSS3. Разработчику предоставляется подробная информация о поддержке каждого элемента в распространённых веб-браузерах.
Встроенный отладчик позволяет устанавливать точки останова, просматривать значения переменных и контролировать исполнение программы. Также в наличии интегрированный RubyandRails отладчик.
Мастер развертывания приложений позволяет работать с удалёнными проектами с использованием FTP, SFTP, FTPS протоколов.
Поддержка совместной работы над проектами.
Поддержка работы из командной строки.
Расширенные возможности по настройке IDE, возможность создания пользовательских скриптов.
Подключаемые модули для расширения функциональности IDE.
Недостатки: есть проблемы со стабильностью, и она работает медленно. Поэтому профессиональные разработчики могут предпочесть более мощную HTML среду разработки.
Рис.3 Ruby - редактирование, просмотр структуры кода
2.4. Code::Blocks
Code::Blocks - это бесплатная C и C++ IDE с открытым исходным кодом, приложение расширяемое, полностью настраивается и может работать на нескольких платформах.
Это программное обеспечение разработано для Windows, Linux, FreeBSD и Mac OS X. Оно создано с использованием плагинов и может быть расширено путём установки или создания дополнительных компонентов.
Особенности CodeBlocks:
Простой интерфейс с вкладками открытых файлов;
Совместимость с Linux, Mac и Windows;
Написана на C++;
Не требует интерпретируемых или проприетарных языков программирования;
Множество встроенных и настраиваемых плагинов;
Поддерживает несколько компиляторов, включая GCC, MSVC ++, clang и другие;
Отладчик с поддержкой контрольных точек;
Текстовый редактор с подсветкой синтаксиса и функцией автоматического заполнения;
Настраиваемые внешние инструменты;
Простые средства управления задачами, идеально подходящие для совместной работы.
Программа имеет WYSIWYG-редактор для библиотеки wxWidgets для разработки графического интерфейса пользователя (GUI).
Поддержка нескольких компиляторов: MinGW/GCC C/C++, MicrosoftVisual C++, Borland C++ и др.
Настраиваемый и расширяемый пользовательский интерфейс с поддержкой вкладок, с подсветкой синтаксиса, сворачиванием блоков кода, авто-завершением кода, интеллектуальными отступами и браузером классов.