От автора: как только речь заходит о программировании на PHP, сразу вспоминаем о среде разработки под названием PhpStorm. Но не менее хорошо справляется с этой задачей и бесплатная NetBeans, о которой знаем уже так немало. Противостояние этих двух IDE сложилось исторически: сегодня вы узнаете, почему все произошло именно так. Покажем основные сильные стороны каждой из сред разработки и увидим, какая из них больше подходит для PHP-разработчика: PhpStorm или NetBeans.
Поле сражения
Должно быть, о NetBeans вы успели узнать немало — это одна из наиболее распространенных сред разработки, которая имеет открытый исходный код и доступна для бесплатного скачивания. В ней собраны все основные языки программирования, и PHP не является исключением. Универсальность — это ее основной competitive edge. В наши дни «бобы» активно конкурируют со средами для написания программ на Java, C/C++, Python и многих других, как и PHP. При установке одним из стандартных пакетов будут инструменты для работы с препроцессором.
Над NetBeans работает независимое сообщество, которое имеет доступ ко всем логам ошибок от пользователей. Они способны обрабатывать терабайты информации ежедневно. И это одно из первых преимуществ, которые успеем рассмотреть. Конечно, нет никакой гарантии, что это сделает продукт лучше, но позиция занята более выгодно, как показывают последние обновления.
Теперь перейдем к PhpStorm. Это один из продуктов от компании JetBrains. Именно они конкурируют с NetBeans в плане Java-разработки. Вместе со своей коммерческой средой IDEA они показали, что за качество стоит платить.
Такой же подход они решили применить и в сфере PHP-разработки. На базе продукта, который уже успел стать успешным, они разработали и IDE для взаимодействия с шаблонизатором. Взяв за основу IntelliJ IDEA, они переработали ее для PHP и выпустили в продажу. Результат удовлетворил ожидания. Storm стал одной из наиболее востребованных сред, которые использовались в промышленных масштабах.
Свою роль сыграла и политика относительно распространения в учебных заведениях: JetBrains поставляют среду в IT-школы абсолютно бесплатно. Таким образом, молодые специалисты привыкают к интерфейсу и уже не хотят возвращаться к бесплатным решениям. Такая идея была позаимствована у Microsoft. Так они распространяют свою среду Visual Studio. Но разница в том, что годовая подписка на VS стоит значительно дороже, и ее выбирают только высокооплачиваемые профессионалы.
Пока не перешли на техническую сторону вопроса, хотелось бы акцентировать внимание на ценовой политике. На самом деле, намного выгодней приобрести IntelliJ IDEA, чем ее специализированную версию — PhpStorm. Все, что вы получаете из коробки «шторма», можно обеспечить и в IDEA. Достаточно лишь скачать нужные плагины. Но при этом у вас в распоряжении будет полноценная среда, которая «дружит» с целой массой других языков, как ориентированных под веб, так и общего назначения.
Среди других недостатков, по сравнению с NetBeans, пользователи называют недостаточное количество плагинов, которые совместимы со Storm. Но здесь все понятно: их не может создать сообщество, есть лишь официальные релизы. В то же время, качество иногда уступает open-source решениям. Еще программисты жалуются на недостаток интуитивности при реализации горячих клавиш. Но чему здесь удивляться: Vim вообще неинтуитивен, и ему все равно нет равных среди текстовых редакторов.
Перейдем к сравнению
Ведь давно пора. Вместо того, чтобы просто перечислять плюсы и минусы каждой среды, сконцентрируемся на некоторых пользовательских фишках и сравним их между собой. Ведь «за» и «против» — понятия субъективные. Необходимо исходить из UX самих разработчиков, чтобы сделать выбор в пользу той или иной IDE.
Первые баллы забирает NetBeans, ведь в нем намного лучше реализован поиск по сущностям. Вы удивитесь, но он есть и у PhpStorm. Удивление будет вызвано тем, что вы могли его просто не найти. Для NB необходимо лишь подвести курсор, и над переменной появится подсветка. Чтобы работать с этой переменной далее, вы должны просто жать кейсет Alt + стрелка вверх/вниз. Таким образом вы увидите ее далее по тексту. Тот же подход можно реализовать и при работе с методом, классом и прочими. Кстати, функция работает и для JavaScript.
Еще одна хорошая позиция у NB и в плане открытия всех измененных файлов. Такая потребность возникает часто: нужно оперативно узнать о том, какие изменения были внесены в проект. Но не просто получить список, а начать взаимодействие. Причем, не стоит даже прописывать никаких команд — нужно лишь сделать несколько кликов. Впрочем, определить статус файлов с помощью команды в PhpStorm тоже несложно.
Теперь перейдем к автоформатированию. Все знают об искусственном интеллекте, который заставляет IDEA вносить правки на лету и экономит время программиста. Все это реализовано и в PhpStorm. Но одно дело, когда речь идет о Java — сложном языке, где помощь необходима. В случае с PHP хочется больше пространства для творчества, которое может обеспечить NetBeans. Эта интегрированная среда позволяет настроить автоформатирование таким, как вы желаете.
Очень удобно приводить свою писанину в порядок. У среды даже есть сочетание клавиш для быстрого приведения кода в читабельную форму — Alt+Shift+F. Причем, это не общее правило для всех проектов, которые вы успели открыть. Для каждого отдельного файла можно задать то форматирование, которое вы считаете нужным. И такие чудеса происходят не только в текстовом редакторе. То же самое можно сделать и в файловом дереве, где внезапно началось стремление к энтропии.
Но чего не отнять у PhpStorm — это подсветка кода. Все ошибки или неиспользуемые переменные покажутся, как на ладони. Все дело в том, что проверки в IDEA (как и в их дочерней среде), проходят по перекрестной. Эта IDE умеет находить больше, чем NetBeans со всеми плагинами, вместе взятыми. То же самое касается и автоматического исправления. NetBeans так не умеет. Это гораздо более простая среда, рассчитанная на элементарный функционал.
На этом заканчиваем. Как видите, здесь JetBrains ждала не сокрушительная победа, а достойный паритет с небольшим перевесом в сторону NetBeans. Желаем обеим средам дальнейшего развития!