Сравнение IDE для PHP - 2022
06-02-2022Reading time ~ 6 min.Софт 418
К написанию статьи меня подтолкнуло то, что я в первые решил попробовать PhpStorm. Программа платная и для меня дороговата, но есть возможность получить бесплатную лицензию, как автору open-source-проекта. В итоге я так и не смог работать с этой IDE, о чём написал в твиттере. Это породило небольшую дискуссию и предложение попробовать другие программы. Я несколько лет назад уже делал небольшой обзор, но за это время многое поменялось. Например у меня основной редактор сейчас VSCode, хотя мне потребовалось много времени, чтобы в нём разобраться.
PhpStorm
PhpStorm очень агрессивно рекламируется и у меня сложилось впечатление, что этот редактор вообще чуть ли не самый крутой и лучший во всех отношениях. Когда-то раньше я пробовал его поставить, но у меня не получилось — почему-то не подходила версия java или ещё что-то, уже не помню. Мне было лень разбираться, поэтому просто снёс.
В этот раз проблем непосредственно с установкой не возникло, инсталятор нормально запустился и установил программу.
При первом же запуске выскочило окно, с требованием ввести лицензию.
Поскольку у меня её нет, то я выбрал Trial и тут оказалось, что даже для пробной версии нужна регистрация на их сайте. Понять такую логику мне сложно, разве что разработчики хотят собрать базу email-адресов и рассылать рекламный спам. Но делать нечего, пришлось зарегистрироваться, после чего редактор запустился.
Для тестирования я решил открыть локальный проект Albireo — в нём мало файлов, что по идее не должно создавать трудностей в работе IDE.
Работать с PhpStorm как оказалось, практически невозможно. Даже когда окно редактора не активно, нагрузка на процессор редко падает ниже 95%, причём даже в фоновом режиме. Из-за этого начинают сильно тормозить и другие программы. Например бедный Хром начинает «скрипеть» даже при прокрутке страниц.
Что касается использование памяти, то она также была близка к 95% — я смог отследить потребление более 1450Мб. Понятно, что при таких аппетитах работать с PhpStorm совершенно нереально. Он не только еле работает сам по себе (даже на уровне скроллинга текста), но и мешает работе других программ.
То есть, чтобы пользоваться этим редактором, требуется очень мощный компьютер. По моим прикидкам ему нужно хотя бы 16Гб памяти и процессор уровня Intel Core i5, то есть это игровые ноутбуки 1500..2000$.
Железо
И тут стал вопрос — дело в моём «железе» или всё-таки дело в самой программе? Согласитесь, что речь не идёт о редактировании видео или тяжелой графики, здесь всего лишь работа с самыми примитивными текстовыми файлами. То есть PhpStorm не может справится даже с 200 php-файлов суммарным объёмом в полторы мегабайта! Чтобы нормально работать с php-файлом ему нужен космический корабль серьёзный ноутбук, рассчитанный на игры/графику/видео.
К сожалению на странице загрузки PhpStorm вообще не указывается минимальные требования к железу, но путем гугления удалось-таки найти страницу с рекомендациями:
Минимальные 2Гб — откровенное издевательство, а процессоры «Multi-core CPU» под которые подходят процессоры за последние 10-15 лет...
Изначально я хотел сразу написать параметры своего ноутбука, но потом, понял, что это прямая дорога в никуда, и вместо этого просто приведу сравнение с другими аналогичными IDE. Потому что никто в здравом уме не будет покупать какое-то «особое» колесо, а потом под него менять весь автомобиль.
Visual Studio Code
VSCode сейчас, наверное, самая популярная IDE, поскольку полностью бесплатна, руссифицирована, поддерживает огромное количество дополнений и тем оформления. К плюсу можно отнести и то, что в программе хорошо реализована настройка. Например в Sublime приходится вручную править конфигурационные файлы, а в Visual Studio Code многие опции настраиваются чекбоксами, select'ами. Это просто удобно.
Я не знаю насколько PhpStorm превосходит по функционалу VSCode, но последнего лично мне более чем хватает. Это и статический анализатор, автодополнение кода и куча других мелких возможностей, которые не только помогают писать код, но и его тестировать.
Теперь посмотрим насколько «тяжёл» Visual Studio Code.
В момент запуска происходит индексация проекта и на этой уходит может полминуты, может минуту. Зависит от количества файлов. Потом нагрузка резко падает и тормозов больше не заметно. В числах это выглядит так:
- Процессор. Обычно где-то 3-7% в обычном режиме и если IDE «что-то делает» может до 50%. Но это редкие ситуации.
- Память. Редактор использует несколько окон, максимальное до 150Мб — это примерно как браузер Chrome. Если в целом, то свободно в системе остаётся примерно 40% (это браузер, телеграмм + куча других запущенных программ).
То есть работа с Visual Studio Code не вызывает проблем с производительностью.
Apache NetBeans 12.6
Я когда-то работал с NetBeans 8, когда баловался с Java, и уже тогда программа неплохо себя вела при работе с PHP. В этот раз я использовал новую версию.
Если их сравнивать, то визуально отличий мало, разобраться не очень сложно. Но в 12-й версии уже нет русификации и это большой минус. Дело в том, что программа имеет много настроек и порой сложно в них ориентироваться.
В NetBeans многие вещи сделаны прямо из «коробки». Тот же php-линтер работает сразу без настроек. В других программах нужно установить отдельные дополнения. Возможно из-за этого программа всё-таки требовательна к ресурсам. Хотя в целом она ведёт себя примерно как старая 8-я версия.
В момент открытия проекта происходит индексирование (до минуты), потом обычная работа. В фоне редактор вообще не грузит процессор (может 1-3%). Но когда мы начинаем работать с текстом, то нагрузка возрастает до 70% и текст начинает заметно притормаживать. Причём прыгает довольно сильно и я это связываю с анализатором текста. Возможно есть какая-то настройка, которая позволит задать некую паузу, чтобы анализатор не включался на каждый символ, но я такого не нашёл.
Потребляемая память держится на уровне 600-700Мб. В системе свободным остаётся 30-40%, то есть проблем с памятью нет.
Понятно, что программы на Java требуют больше памяти, но в случае NetBeans всё держится в рамках приличия. А вот, что касается процессора, то программе нужно что-то более шустрое.
Sublime Text 4
Думаю, что Sublime Text одна из первых программ (после Notepad++), которые ставят начинающие кодеры. Я раньше пробовал работать со 2-й и 3-й версиями, но как-то не сложилось — не хотелось разбираться с настройками, поэтому перешёл на VSCode. Но, как оказалось уже вышла 4-я версия и она поразила меня.
Скорость запуска — мгновенно — меньше секунды. На уровне Notepad++ или реактивного Notepad2. Работа с текстом не создаёт нагрузки, даже при включенном php-линтере и ls-intelephense. Реакция программы впечатляет, настолько всё быстро и аккуратно работает.
По ресурсам так:
- Процессор в фоне меньше 1%. При работе, когда я специально пишу с одними ошибками мне удалось словить нагрузку CPU 17% где-то на одну секунду. После этого опять 1%.
- Потребление памяти на уровне 60-100Мб («плавает») и насколько я понял это зависит от установленных расширений.
Sublime Text без проблем работает с автодополнением кода, цветовыми схемами и прочими «фишками». Единственный минус (хотя кому-то это плюс) — это ручное редактирование файлов конфигурации. Для программы очень много дополнений, но многие из них не имеют нормального описания даже на уровне того, как им пользоваться. Сторонних ресурсов с примерами мало, поэтому порог вхождения в Sublime Text я считаю на порядок выше, чем в VSCode.
Поскольку с Sublime Text я работал мало, то пока мне сложно делать выводы, но первое впечатление очень положительные. Программа близка к VSCode, поэтому многие вещи уже интуитивно понятны. Ну а по скорости работы — ещё раз — вау!
Photoshop 2017
Смотрите, PhpStorm — это текстовый редактор. Но его ресурсопотребление на уровне серьёзных программ, например Photoshop (ха!). Когда я это написал и проверил, а сколько же в реальности требует этот графический редактор, то получилось так:
Даже такой мощный комбайн, как фотошоп требует намного меньше ресурсов, чем текстовый редактор. Возможно авторам PhpStorm стоит задуматься над тем, что и как они делают. Ну а у нас, к счастью, есть нормальные альтернативы. :-)
Я работаю с этим редактором с 2014-5гг, ноут у меня с 20гб озу, m2 ssd, i5 от 2017г полёт нормальный, всё что мне надо всё есть. И работа с докером, и дебаг, и линтеры и прочие анализаторы. Да, я плачу 70$ в год, но для меня оно того стоит и вообще без разницы что кто-то там меньше жрёт памяти или размер меньше и тд. Мне нравится и точка.
Я бы сменил ноут, 4гига в наше время это мало
То есть только ради этой программки вы купили ноут за 2000$ и при этом платите каждый год за пользование? Ну, ок, у богатых свои причуды.
Ну зачем так "опускать" PHPStorm до уровня Photoshop?
Это я ещё с видеоредактором Shotcut не сравнивал...
Ноут мне стоил в 1000$ это Lenovo Thinkpad T470s (20HF0000RT) я уже 5й год с ним и всё прекрасно. Всё упирается в деньги, и IDE тут не причём!
А вот платить каждый год это норма, вы же платите ЖЭК каждый месяц, а почему там не оплатить, если вещь нужная? Я сам жил на EAP версиях около 3х лет не платя, пока не убил в себе эту "жадность"
Ну вы же потратили 1000$ на этот редактор. Ваше дело. Но это не отменяет того факта, что программа лишком много требует ресурсов. Разработчики Шторма просто не могут сделать нормальную программу и сваливают проблемы на пользователя. Почему у VSCode получается сделать нормальную программу, или у Sublime Text, а Jetbrains нет?.. Так что это ваше дело платить или нет за такую работу. Я не готов, потому что есть нормальные альтернативы, не требующие от меня дополнительных вложений.
Начну с конца. Sublime я не пользовался, использую Notepad++, это хватает для редактирования простых файлов. Но я знаю несколько человек, которые работают только в Sublime и даже покупали его. Там много фишек, но это больше для гиков.
У Netbean неплохая программа, но при обновлениях потерялись почти все интересные плагины, часть я компилировал самостоятельно, благо исходники выкладывали в свободный доступ. У многих плагинов на протяжении нескольких лет были изменения только файлов-манифестов, где прописывалась поддерживаемая версия. А сам редактор довольно ограничен. Я активно работал на нем около года (ну и "наплывами" примерно 5 лет)
VSCODE крутая задумка, открывается махом. Но при использовании есть много недостатков. Самый явный - очень много одинаковых плагинов. Например, надо подключение к SFTP - вводим в поиск и видим сотню плагинов. И как оказалось ниодного рабочего. Самый популярный выдает ошибку при заливке файлов (при это сами файлы он заливает). У этого плагина есть форк, все изменения - не показывать данную ошибку. То есть ошибка возникает, но она просто не отображается. PHP выдает кучу непонятной информации и не видит что происходит. При открытии проекта на работе о выдает тысячи ошибок и предупреждений. Автоформатирование довольно ограниченное. А если поставить плагины, то он уже работает медленнее. Кстати, Python лучше через него не открывать, там вообще всё печально - жрет кучу памяти, некорректно работает с пакетами. Но возможно это уже исправили. Да и некоторые настройки найти очень сложно. Для небольших проектов идеальный, но при использовании фреймворков уже надо подбирать конфигурацию (в рабочей среде обычно их сразу подбирают).
PHPStorm. Я им пользуюсь уже полтора года и уже год как на новом ноуте. Старый был на на интеле первого поколения с 8 гигами и ссд. Тормоза были только при чтении файлов более 2-3 мегабайт. При этом если файл разбит на несколько мелких таких проблем не было. Также в последние пару лет движок стал работать гораздо быстрее - раньше при нажатии на кнопку был отклик примерно в полсекунды. Плюсы: сразу из коробки SFTP, git, консоль, ssh, работа с БД и другим. Я сейчас почти всё делаю сразу в IDE. Кстати, у них есть бесплатные версии (они не умеют работать с закрытыми репозиториями, ни и несколько не особо нужных фишек нет). Да и для бесплатных (OpenSource проектов) дают бесплатные лизенции. Я ,например, тот же PyCharm Community Edition использую (для учебы), а для работы с гит просто другую программу (пару комманд в консоле не сложно запомнить).
Минус памяти можно решить уменьшением уровня вложенности проверки файлов, да и плагины можно отключить. Но на новом ноуте я иногда открываю два-четыре проекта (в каждом более 1000 файлов), памяти тратиться от 8 до 13 гигов примерно.
Мне нравится vscode, лёгкий стоп при старте и дальше ни каких лагов, в районе .10, плагинов стоит, как по мне лучший редактор на маке.
Понять такую логику мне сложно, разве что разработчики хотят собрать базу email-адресов и рассылать рекламный спам.
Как минимум это борьба со взломом. Раньше можно было обновить ключ и снова пользоваться. При аккаунте так нельзя. Спам не шлют, от новосте можно отписаться
Редактор кода Geany + пара плагинов = наше фсё.
Лол, ну у меня такие же выводы как у автора относительно пхпсторм. Меня даже лаг во время включения бесит, не говоря уже об общей отзывчивости. Пхпсторм - это своего рода телефон верту 15-летней давности - типа вау-вау, а на самом деле просто тренд.
И вот это мессиво в комментах типа "вы же в ЖЭК платите" улыбает. Я много за что плачу, но поддерживать зажравшихся разрабов, которые даже оптимизировать свой продукт не постарались, как-то не очень люблю. В подтверждение мнения автора о софте: разработчики вдруг поняли свою ошибку и выпускают новую IDE, которая значительно быстрее вот этого пхпсторм мусора :)
Ну и напоследок: столько инструментов, столько "профи" вокруг, один программист круче другого, кривые сайты магазинов от $20к, иномарки у бездарей, которые сдают продукт неготовым, в противовес им сотни "программистов", которые каждый день оббивают биржи - не умея даже экранировать запросы к БД, зато сбивающие цены до 0 - вот реалии рынка сегодня. Можете хоть обложиться крутыми IDE, продукт большинства разработчиков сегодня - НИКАКОЙ и нет разницы какой IDE ты пользуешься, если для создания единственной формы связи на сайте загружаешь папочку на 200 килобайт :))).
Простите за мой французский, я слишком часто правил код после разных "программистов", которые умеют убеждать, но не умеют программировать. Автор, продолжай, и не отчаивайся (фраза "у богатых свои причуды"), такие специалисты как ты еще нужны, но не клиентам, а вам самим - начни свой проект и порви всех - у тебя мастерства хватит, я читал тебя еще лет 15 назад, наверное, все будет хорошо.