Согласно статистике GitHub’a[1], крупнейшего веб-сервиса для хостинга IT-проектов и их совместной разработки, язык JavaScrip сейчас занимает лидирующую позицию по числу написаных приложений на нем. Простота синтаксиса и повсеместное распростронение веб-приложений привели к тому что многие начинают изучение этого языка, а для разработки очень необходима хорошая среда разработки. Целью статьи является сравнение некотрых из них. В процессе сравнения были выделены некоторые критерии по которым и производится оценка.
Для повышения скорости работы среда разработки должна иметь в своем арсенале:
- Подсветку синтаксиса.
- Автодополнение.
- Возможность скрыть-раскрыть блок кода.
Под эти требования подходят как IDE (Integrated Development Environment) – «интегрированные среды разработки», они включает в себя не только редактор но и большое колличество функций, вроде багтреккера или контроля версия, так и отдельные легкие редакторы.
Преимущество отдельных редакторов в том, что благодаря своей легкости они быстры и мгновенно стартуют. Основная сфера их применения – мгновенно открыть файл, что бы что то в нем исправить. На практике «легкие» редакторы благодаря доступным плагинам имеют почти такие же функции как IDE, так что граница между ними размыта.
Для сравнения выберем одни из самых популярных решений:
- IDE WebStorm от IntelliJ.
- IDE NetBeans от NetBeans Community.
- Sublime Text от Джона Скиннера.
- Atom от GitHub.
- Notepad++ от Notepad++ Contributors.
Все средства установлены и протестированы.
WebStorm
Относительной легкий, но мощный, прекрасно подходит как для разрабоки клиентской стороны так и для серверной с использованием Node.js. Он обеспечивает автоматическое завершение стилей, ссылок, атрибутов и других элементов кода. Это решение позволяет использовать мощность инструмента Zen coding для HTML-верстки, отображает действие тега на веб-странице. Имеется функция контроля версий которая фиксирует все произведенные действия и изменения. Благодаря созданию истории в WebStorm можно восстановить кодовые выражения, блоки и даже целые файлы. Программное обеспечение обладает всем набором функций, необходимым программисту, при желании можно установить дополнительные компоненты. Постоянно обновляется и поддерживается разработчиком, но не обладает свойством портативности и требует установки. Имеются версии для Windows, Linux и Mac. К минусам можно отнести довольно высокую стоимость, но имеется бесплатный тестовый периуд который позволит вам попробовать все доступные функции, а так же специальная версия для обучения, которая бесплатно доступна студентам с теми лишь ограничениями, что нельзя писать коммерческое ПО.
NetBeans
Бесплатная IDE, написанаая на Java (соотвественно требуется установленная виртуальная машина Java). Обладает следущими возможностями: выделение синтаксиса, переход к объявлению, свертывание кода, интеллектуальный отступ, форматирование, автозавершение расстановки скобок, автозавершение кода, отладка с помощью Xdebug. NetBeans привлекает пользователей не только бесплатностью, но и кросплатформенностью, а так же писать коммерческое ПО на ней не запрещено. Проект развивается, обновления происходят, хоть и не очень часто.
Sublime Text
Один из известнейших текстовых редакторов, очень часто используется как редактор исходного кода или HTML-редактор, но и для написания на JavaScript он прекрасно подходит. Разработчик позволяет бесплатно и без ограничений ознакомиться с продуктом, однако программа уведомляет о необходимости приобретения лицензии. Основные возможности редактора: подсветка синтаксиса и автодополнение, быстрая навигация, командная палитра, одновременное редактирование и высокая степень настраиваемости. В Sublime Text присутствует менеджер пакетов который позволяет пользователю находить, устанавливать, бновлять и добавлять пакеты без перезагрузки программы. Менеджер поддерживает установленные плагины в актуальном состоянии, загружая новые версии из репозиториев. Все в сумме дает возможность получить на выходе почти полноценную IDE, только с теми лишь функциями которые можно добавить самому с помощью пакетов. Имеется функция атосохранения, позволяющая не потерять пользователям проделанную работу. Комбинации клавиш настраиваются, а некоторые частые действия можно автоматизировать с помощью макросов.
Atom
Бесплатный, кросплатформенный текстовый редактор с еще большей кастомизацией. Имеется огромное колличество тем и плагинов, которые разрабатываются сторонними разработчиками. Оличительной особенностью является открытый исходный код. Имеется встроенный менеджер файлов, опции поиска и замены, функции сворачивания кода, различного рода курсоры и подобное. Пользователь может из TextMate импортировать правила и темы для Atom, а также заняться созданием собственных правил для работы с HTML, javascript и CSS. Привлекает внимание интеграция с Node. js. Веб-сервер можно запускать непосредственно из редактора.
Notepad++
Текстовый редактор с открытым исходным кодом, имеется подсветка синтаксиса и автодополнение. Расширение функциональности программы может происходить как за счет плагинов, так и сторонних модулей, таких как препроцессоры и компиляторы. Базовая функциональность включает в себя: подсвутку синтаксиса, сворачивание кода и автодополнение, менеджер проектов, переназачение любых горячих клавиш, мультистрочное радактирование. При установке дополнительных плагинов появляются: шаблоны текста, FTP-менеджер, Hex-редактор, автосохранение, поддержка Zen Coding. Не обошлось и без минусов, редактор доступен только под Windows.
Согласно источникам[2,3], основными критериями качества ПО являются:
- Функциональность – совокупность функций программного средства, предназначенных для выполнения поставленной задачи.
- Надежность – способность безотказно выполнять поставленные задаче в течение продолжительного периуда времени.
- Эргономичность – легкость освоения ПО и простота интерфейса.
- Эффективность – совокупность свойств программного средства, обеспечивающие скорость решения поставленной задачи.
- Модифицируемость – поддержка программного средства разработчиком, сообществом пользователей и доступность плагинов.
- Мобильность – возможность перейти с одной платформы на другую без потери в функционале.
- Доступность – оценка степени доступности исходя из совокупности цены и простоты получения программного средства.
На их основе был произведен анализ всех представленных сред разработки, по каждому критерию они были оценены по пятибальной шкале в сводной таблице 1.
Таблица 1 – Сравнительный анализ сред разработки
Критерий | WebStorm | NetBeans | Sublime Text | Atom | Notepad++ |
Функциональность | 5 | 4 | 4 | 4 | 3 |
Надежность | 5 | 4 | 5 | 4 | 4 |
Эргономичность | 4 | 4 | 5 | 5 | 4 |
Эффективность | 5 | 4 | 4 | 4 | 3 |
Модифицируемость | 3 | 3 | 5 | 5 | 4 |
Мобильность | 5 | 5 | 5 | 5 | 2 |
Доступность | 2 | 4 | 5 | 5 | 5 |
Итого: | 29 | 28 | 33 | 32 | 25 |
Рейтинговый список будет выглядеть так:
- Sublime Text – 33
- Atom – 32
- WebStorm – 29
- NetBeans – 28
- Notepad++ – 25
В итоге полученый рейтинг показывает что все представленные среды разработки находятся примерно на одном уровне. IDE выигрывают в функциональности, но проигрывают в цене или модифицируемости, а простые редакторы бесплатны и позволяют расширить функционал плагинами.
Библиографический список
- Language Trends on GitHub . [Электронный ресурс]. URL: https://github.com/blog/2047-language-trends-on-github (дата обращения 15.09.2016).
- Качество программного обеспечения. [Электронный ресурс]. URL: http://www.protesting.ru/qa/quality.html/ (дата обращения 15.09.2016).
- ГОСТ 28806-90 Качество программных средств. [Электронный ресурс]. URL: http://www.gosthelp.ru/text/GOST2880690Kachestvoprogr.html (дата обращения 15.09.2016).
- Редакторы кода. [Электронный ресурс]. URL: https://learn.javascript.ru/editor (дата обращения 15.09.2016).
- Sublime Text. [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Sublime_Text (дата обращения 15.09.2016).
- Notepad++. [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Notepad%2B%2B (дата обращения 15.09.2016).