Файл: Критерии выбора средств разработки WEB-приложений).pdf

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

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

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

Добавлен: 24.05.2023

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

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

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

IDLE (Integrated DeveLopment Environment) — это интегрированная среда разработки на языке Python, созданная с помощью библиотеки Tkinter от Гвидо ван Россума (создателя языка Pyton) [79]. Официально — искажение IDE, но на самом деле названа в честь Эрика Айдла (англ. Eric Idle) из Монти Пайтон. Поставляется вместе с Python и благодаря использованию Tkinter может использоваться на многих платформах [79].

  • Лицензия: Python Software Foundation License (свободное ПО, совместимое с GPL);
  • Языки веб-программирования: Python;
  • Платформы: Windows, Mac OS, Unix-подобные ОС;
  • Другие особенности: есть отладчик, подсветка синтаксиса. дополнительные возможности для опытных пользователей (например, средство просмотра объектов).

PyCharm — интегрированная среда разработки для языка программирования Python, поддерживает веб-разработку на Django. PyCharm разработана компанией JetBrains на основе IntelliJ IDEA [80].

  • Лицензия: проприетарная/Apache License 2.0 (PyCharm Community Edition);
  • Языки веб-программирования: Python;
  • Платформы: Windows, Mac OS X и Linux;
  • Другие особенности: есть отладчик (графический), статический анализ кода, подсветка синтаксиса и ошибок, рефакторинг (переименование, извлечение метода, введение переменной, введение константы, подъём и спуск метода и т. д.), использование фреймворка Django, юнит-тестирование, использование Google App Engine, системы контроля версий (общий пользовательский интерфейс для Mercurial, Git, Subversion, Perforce и CVS с поддержкой списков изменений и слияния), Навигация по проекту и исходному коду (отображение файловой структуры проекта, быстрый переход между файлами, классами, методами и использованиями методов).

PyScripter — это свободная интегрированная среда разработки (IDE) языка Python [81]. PyScripter разработан на компилируемом языке Object Pascal.

  • Лицензия: Mit;
  • Языки веб-программирования: Python;
  • Платформы: Windows;
  • Другие особенности: есть отладчик (с подсказсками), GUI-инструментарий (JVCL), подсветка синтаксиса и ошибок, проверка кода «на лету», автодополнение, навигация по коду, подсказки по синтаксису, статический анализ кода, параметризированные шаблоны кода, менеджер проектов, модульное тестирование, поддержка плагинов, автодополнение, основан на Unicode, основан на Unicode, параметризированные шаблоны кода; уведомления об изменении файлов вне программы; преобразование символов перевода строки в Windows, Unix, Macintosh; поддержка печати файлов с исходным кодом [81].

Spyder (ранее Pydee) — свободная и кроссплатформенная интерактивная IDE для научных расчетов на языке Python, обеспечивающая простоту использования функциональных возможностей и легковесность программной части. Spyder является частью модуля spyderlib для Python, основанного на PyQt4, pyflakes, rope и Sphinx [82].


  • Лицензия: MIT;
  • Языки веб-программирования: Python, C++;
  • Платформы: Windows, Mac OS X и Linux;
  • Другие особенности: гибкий интерфейс, подсветка синтаксиса, проверка кода «на лету» (с использованием pyflakes), автодополнение и переход к определению объекта по клику мыши (динамическая интроспекция кода с помощью rope), консоль Python (встраиваемая в приложения), графический редактор переменных (в том числе списков, словарей и массивов), интеграция с научными библиотеками Python (NumPy, SciPy, Matplotlib, Pandas); встроенные средства доступа к документации (в формате Sphinx).

Microsoft Visual Studio — линейка продуктов компании Microsoft [83]. Включает интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать веб-приложения как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Silverlight.

  • Лицензия: проприетарное ПО;
  • Языки веб-программирования: C++ (C#), VB.net;
  • Платформы: Windows, кросс-компиляции для Windows Mobile, Mac OS, Linux;
  • Другие особенности: есть отладчик, автодополнение (IntelliSense), рефакторинг, профилирование, статический анализ кода, возможность разработки GUI, веб-редактор, браузер и дизайнер классов и дизайнер схемы базы данных, поддержка сторонних плагинов, включая добавление систем контроля версий (Subversion и Visual SourceSafe), покрытие кода [83].

Microsoft Visual Studio Express — линейка бесплатных интегрированных сред разработки, облегчённая версия Microsoft Visual Studio, разработанной компанией Microsoft. Согласно утверждению Microsoft, «Express»-редакции предлагают отлаженную, простую в обучении и использовании среду разработки пользователям, не являющимся профессиональными разработчиками ПО, — любителям и студентам [84].

  • Лицензия: проприетарное ПО;
  • Языки веб-программирования: C++ (C#), VB.net;
  • Платформы: Windows;
  • Другие особенности: есть отладчик, автодополнение, рефакторинг (через плагин), профилирование, статический анализ кода, возможность разработки GUI, веб-редактор, навигатор классов, покрытие кода.

Visual Studio Code — кроссплатформенный редактор исходного кода, поддерживающий базовые возможности интегрированной среды разработки, созданный в Microsoft [85]. Позиционируется как «легкий» редактор кода для кроссплатформенной разработки веб- и облачных приложений. Visual Studio Code распространяется бесплатно, разрабатывается как программное обеспечение с открытым исходным кодом [85].

Основой Visual Studio Code являются наработки свободного проекта Atom, который разрабатывается компанией GitHub. В частности, Visual Studio Code является надстройкой Electron (бывшим Atom Shell), который объединяет в себе браузерный движок Chromium и Node.js. При разработке использованы наработки, полученные в процессе создания веб-редактора Monaco, предназначенного для Visual Studio Online [86].


  • Лицензия: MIT;
  • Языки веб-программирования: JavaScript (CoffeeScript), C++ (C#); PHP, Python, Java, Платформы: Windows, Linux, Mac OS X;
  • Другие особенности: есть встроенный отладчик, поддержка разработки для ASP.NET и Node.js; TypeScript, jade, Docker, HandleBars, R, PowerShell, Markdown, JSON, HTML, CSS, LESS и SASS, Swift, XML, подсветка синтаксиса, сниппеты (Groovy, Markdown, Nim, PHP, Swift), рефакторинг, инструмент для работы с системой контроля версий git, навигация по коду, автодополнения и контекстная подсказка.

SharpDevelop — свободная среда разработки от ICSharpCode Team для разработки приложений на C#, Visual Basic .NET, Boo, IronPython, IronRuby, F#, C++ [87]. Обычно используется как альтернатива Visual Studio .NET. Существует также форк на Mono/GTK+ — MonoDevelop.

SharpDevelop 2.0 предоставляет интегрированный отладчик, который использует собственные библиотеки и взаимодействует с исполняющей средой .NET через COM Interop.

  • Лицензия: LGPL;
  • Языки веб-программирования: C#, VB.net, ASP, ASP.NET, VBScript, VB.NET
  • Платформы: Windows, кросс-компиляции для Windows Mobile, Mac OS, Linux;
  • Другие особенности: интегрированный отладчик, юнит-тестирование (NUnit, MbUnit и NCover), интегрированный профайлер, статический анализ кода, подсветка синтаксиса, возможность разработки GUI, веб-редактор, браузер и дизайнер классов и дизайнер схемы базы данных, поддержка сторонних плагинов, включая добавление систем контроля версий (Subversion и Visual SourceSafe), покрытие кода, поддержка плагинов, интегрированная поддержка систем контроля версий SVN, Mercurial и Git, Конвертор кода между языками C#, VB.NET, IronPython и Boo, предпросмотр документации, полученной из документирующих комментариев, поддержка HTML, XAML, XML [87].

Stani's Python Editor (SPE) – кросс-платформенная интегрированная среда разработки (IDE) для языка программирования Python [88].

  • Лицензия: GPL;
  • Языки веб-программирования: Python;
  • Платформы: Linux, Mac OS X, Microsoft Windows;
  • Другие особенности: подсветка синтаксиса, автоматическое завершение, автоматический отступ, подсказки вызова, несколько вкладок, проверка синтаксиса и интегрированный дизайнер GUI (wxGlade) и отладчик (Winpdb). Он основан на WxPython.

Thonny - Python IDE для начинающих. Он поддерживает различные способы пошагового кода, оценку экспрессии шаг за шагом, детальную визуализация стека вызовов [89].

  • Лицензия: Mit;
  • Языки веб-программирования: Python;
  • Платформы: Linux, Mac OS X, Microsoft Windows;
  • Другие особенности: GUI-инструментарий (Tkinter), пошаговое вычисления выражений (выражения заменяются их значениями), возможность регистрировать действия пользователя для воспроизведения или анализа процесса программирования [89].

Wing IDE - интегрированная среда разработки от Wingware, которая разработана специально для языка программирования Python, чтобы сократить затраты на разработку и отладку времени, уменьшить количество ошибок, и сделать его проще для понимания и навигации [90].

  • Лицензия: проприетарное ПО;
  • Языки веб-программирования: Python;
  • Платформы: Linux, Mac OS X, Microsoft Windows;
  • Другие особенности: есть отладчик (включая дистанционный, а также модульное тестирование), автодополнение, статический анализ кода, множественный выбор, GUI-инструментарий (Qt5 c PyQt), браузер классов и навигация по коду, контроль версий, менеджер проектов, возможности поиска и обширная документация, рефакторинг, поддержка веб-фреймворков.

PIDA - IDE с открытым исходным кодом, которая написана на языке Python командой разработчиков, в качестве графической среды и оболочки вокруг текстового редактора Vim. Это было впоследствии распространено на другие вложенных редакторов, включая Emacs и Mooedit [91].

  • Лицензия: GPL;
  • Языки веб-программирования: Python;
  • Платформы: Linux, Mac OS X, Microsoft Windows;
  • Другие особенности: управление проектами, GUI-инструментарий (PyGTK), запуск внешних систем контроля версий, профилирования, отладки, списки доступа пользователей к файлам, - в зависимости от использующейся платформы.

Aptana Studio — кроссплатформенная, свободная, интегрированная среда разработки приложений (IDE) c открытым исходным кодом для создания динамических веб-приложений [92].

  • Лицензия: GPL;
  • Языки веб-программирования: Ruby on Rails, PHP, Python, Adobe Air;
  • Платформы: Windows, Linux, Mac OS X, плагин к Eclipse;
  • Другие особенности: есть отладчик, поддерживает более 50 форматов; автодополнение; выделение цветом; инспекция кода (предупреждения об ошибках); возможность для настройки и расширения пользовательского интерфейса; JavaScript на стороне сервера.

RubyMine — коммерческая IDE для разработки программного обеспечения на Ruby компании JetBrains. RubyMine создан на основе IntelliJ IDEA того же производителя. Поддерживает популярные библиотеки, используемые в Ruby-приложениях (в том числе Bundler, RSpec, Shoulda, Cucumber, Git) [93].

  • Лицензия: проприетарное ПО;
  • Языки веб-программирования: Ruby, JavaScript (вкл. CoffeeScript);
  • Платформы: Windows, Linux, Mac OS X;
  • Другие особенности: подсветка синтаксиса, автодополнение, анализ кода на лету, быстрая навигация по элементам проекта и кода, диаграммы моделей, классов, пакетов (gems), пошаговый отладчик; Unit-тесты, поддержка тестовых фреймворков, поддержка языков HTML/HAML, CSS/Sass/Less, поддержка набора инструментов Emmet, отладчик кода, интеграция с системами контроля версий (Git, Subversion, Mercurial, Perforce, CVS) с удобным настраиваемым GUI.

NetBeans IDE — свободная интегрированная среда разработки приложений [94]. Проект NetBeans IDE поддерживается и спонсируется компанией Oracle, однако разработка NetBeans ведётся независимым сообществом разработчиков-энтузиастов (NetBeans Community) и компанией NetBeans Org. В сентябре 2016 года Oracle передала интегрированную среду разработки NetBeans в руки фонда Apache.

  • Лицензия: CDDL; GPL2;
  • Языки веб-программирования: Java, Python, PHP, JavaScript, Ruby, C++, PL/SQL;
  • Платформы: Windows, Linux, Mac OS X, OpenSolaris и Solaris;
  • Другие особенности: есть отладчик; разработка GUI, автодополнение, рефакторинг, нет профилирования, нет покрытия кода, подсветка синтаксиса, автодополнение, нет статического анализа кода, множество шаблонов кода; поддержка UML, SOA, J2ME, поддерживает плагины (iReport, и т. д.), поддержка языка Groovy, нет поддержки Ruby и Ruby on Rails, навигатор классов, есть разработка GUI; нет браузера классов; поддержка CSS.

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

3. Экономические аспекты разработки Web-приложений

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

В соответствии с национальным стандартом ANSI PMBoK, управление прокутами как часть системы менеджмента предприятия, является областью деятельности, в ходе которой определяются и достигаются четкие цели проекта при балансировании между объёмом работ, ресурсами (такими как деньги, труд, материалы, энергия, пространство и др.), временем, качеством и рисками [95][96].