Некоторые типы инструментальных сред разработки и их особенности:
Локальные или десктопные IDE. 1 Устанавливаются на локальных компьютерах и настраиваются на определённые языки программирования. 1 Преимущества: можно настроить и запустить на собственных устройствах, не требуется подключение к интернету. 1 Недостатки: установка может быть сложной и отнимать много времени, локальные IDE могут значительно замедлить работу машины, потребляя местные ресурсы. 1
Облачные IDE. 1 Доступны через веб-браузеры, обеспечивают переносимость и возможность совместной работы. 1 Преимущества: стандартизированная среда разработки, независимость от платформы. 1
IDE для конкретных языков. 1 Ориентированы на один конкретный язык программирования с настраиваемыми инструментами. 1 Примеры: PyCharm (Python), Xcode (Swift/Objective-C). 1
IDE общего назначения. 1 Поддерживают несколько языков и фреймворков для различных проектов. 1 Примеры: Visual Studio Code, Atom. 1
Лёгкие IDE. 1 Простые, быстрые и ориентированные на функции редакторы для небольших проектов. 1 Примеры: Sublime Text, Notepad++. 1
Некоторые преимущества и недостатки популярных сред разработки:
- Visual Studio. 23 Предлагаются инструменты для проведения тестов на совместимость, постоянно пополняющаяся коллекция расширений, кастомизация интерфейса под определённые запросы, разделение экрана. 2 Недостаток — тяжеловесность. 2
- XCode. 2 Можно обойтись без написания кода при создании прототипа, есть умный анализатор, преобразователь от компании Apple. 2 Недостаток — ПО может взаимодействовать только с одной операционной системой. 2
- Xamarin Studio. 2 Создание мобильных решений для всех имеющихся операционных систем, нативность, выбор приоритетов, совместимость с различным оборудованием, опенсорс, наличие подробной документации. 2 Недостатки — продолжительные промежутки времени между обновлениями, ограниченный доступ к библиотекам опенсорс, необходимость базовых навыков нативных языков, «тяжеловесность». 2
- Appcelerator Titanium. 2 Имеются встроенные классы, ориентированные на файловую систему, используется API-интерфейс, для работы предлагается 3 языка: JS, Python, Ruby, микширование в одном проекте нескольких языков. 2 Недостатки — определённые элементы интерфейса функционируют хуже некоторых аналогов, затруднено добавление новых плагинов, ПО поддерживает только основные виды ОС. 2
- Eclipse. 2 Бесплатное ПО, выбор между несколькими языками, использование расширений, тонкой настройки, сформированное обширное комьюнити, готовое прийти на помощь, возможность настраивать интерфейс, интегрирование с Junit. 2 Недостатки — изначально невысокий потенциал, не самый лучший вариант для начинающих из-за своей сложности. 2
- Netbeans. 2 Учитывается вероятность установления пакетов для взаимодействия с различными языками, понятный на интуитивном уровне интерфейс, smart-автозавершение кодирования, наличие визуального отладчика, совместимость с различными системами, например, Windows, macOS. 2 Недостаток — потребляется большой объём памяти, поэтому может замедлять процесс на более слабых машинах. 2
- PhoneGap. 2 Совместная работа над проектом, способность работать с различными платформами, ОС, отладка посредством обозревателя. 2 Недостатки — полученный продукт не поддерживает многопоточность, проблема при выполнении длинных списков, не всё оформляется в качестве веб-приложений, сложная настройка. 2