И снова «идеальное IDE для PHP» от JetBrains ^) За прошедшее с предыдущей сборки время мы успели обзавестись официальным сайтом, посетить ZendCon'09 и наконец заняться обещанной оптимизацией производительности. Нашлось время и на несколько новых фич. Пока качается билд загляните под кат — кроме обычных подробностей там будет пара слов о ZendCon и о уникальных функциях платформы/WI.
Перед конференцией были туториалы — для меня стала открытием сессия PHP on IBM I5. IBM объединила усилия с Zend для того чтобы принести PHP на мейнфреймы. Если оставить в стороне экосистему i5, то для всех остальных это тоже может иметь значительные последствия, особенно если IBM поможет развивать ядро языка. В 5.3 уже появились кое-какие оптимизации но судя по прочим более «взрослым» технологиям основная работа еще впереди.
Кейноут (да и большинство сессий) были очень бодрыйми и оптимистичными — в этом году вышел PHP 5.3, появилась новая ZendStudio (а специально к конференции выпустили и 7.1), продолжается совершенствование всего стека и инструментария Zend, в общем и язык и платформа и сообщество движется вперед :)
Во время ланчей и пока основной народ был на сессиях мы довольно много общались сотрудниками Zend — и даже впечатлили кое-кого из разработчиков ZendStudio нашими технологиями. В свою очередь нам было интересно послушать о том как они занимаются развитием платформы Eclipse и помогают координировать усилия Eclipse Foundation. Все-таки JetBrains это довольно небольшая компания :) Из инженерых вещей было интересно послушать об работе над языковым ядром, а так же автоматическим профилированием (особенно с точки зрения java-web-разработчика с серьезным стажем)
Под впечатлением от разговоров с пользователями на ZendCon мы занялись оптимизацией. В качестве «стресс-тестов» мы использовали таких тяжеловесов как ShugarCRM и Magento (хотели попробовать и Битрикс но не нашли версии с открытыми исходными кодами). Буквально первые сеансы профилирования показали что выведение типов производило слишком много «мусора» в памяти, да и могло приводить к зацикливанию (и зависанию) — теперь эти проблемы исправлены. Хочется сразу сказать что это лишь начальная оптимизация и мы планируем серьезно заниматься этим дальше. *Очень* хочется услышать отзывы всех кто проапгрейдился. Если у вас есть конкретные проблемы — пишите любым способом. Я лично обрабатываю весь фидбек.
Новые фичи:
Множество багфиксов, детали в блоге и трекере
К сожалению есть и известные проблемы
Постараемся выпустить обновление поскорее. Ждите багфиксов, оптимизации и конечно новых фич :)
Релиз приближается и мы начали собирать всю информацию о функциях WebIDE в одном месте. Даже если вы уже освоились с редактором рекомендую хотя бы просмотреть список. А здесь расскажу о паре весьма полезных но не совсем очевидных возможностей. Итак, если в вашем проекте PHP используется для генерации XML, JS, CSS, SQL или какого-то иного языка которых поддерживается WebIDE вы можете комфортно работать с помощью следующих функций:
Для каждого файла или папки можно выставить «внешний» по отношению к PHP язык вместо дефолтного HTML через панель Settings|Template Data Languages. Эта настройка запоминается в проектном файле.
Внутри литерала нажмите Alt-Enter и выберите «Inject Langugage», а затем требуемый язык. Пока что НЕ запоминается. В будущем можно будет указать что *например* первый строковый параметр функции query() — это SQL (и выбрать диалект)
Для обоих случаев будет включена полная поддержка языка — включая комплишн и рефекторинг. Используя эти фичи можно получить полную поддержку любой комбинации языков %)
На этом я заканчиваю и жду любых вопросов и предложений :)
ZendCon'09
Перед конференцией были туториалы — для меня стала открытием сессия PHP on IBM I5. IBM объединила усилия с Zend для того чтобы принести PHP на мейнфреймы. Если оставить в стороне экосистему i5, то для всех остальных это тоже может иметь значительные последствия, особенно если IBM поможет развивать ядро языка. В 5.3 уже появились кое-какие оптимизации но судя по прочим более «взрослым» технологиям основная работа еще впереди.
Кейноут (да и большинство сессий) были очень бодрыйми и оптимистичными — в этом году вышел PHP 5.3, появилась новая ZendStudio (а специально к конференции выпустили и 7.1), продолжается совершенствование всего стека и инструментария Zend, в общем и язык и платформа и сообщество движется вперед :)
Во время ланчей и пока основной народ был на сессиях мы довольно много общались сотрудниками Zend — и даже впечатлили кое-кого из разработчиков ZendStudio нашими технологиями. В свою очередь нам было интересно послушать о том как они занимаются развитием платформы Eclipse и помогают координировать усилия Eclipse Foundation. Все-таки JetBrains это довольно небольшая компания :) Из инженерых вещей было интересно послушать об работе над языковым ядром, а так же автоматическим профилированием (особенно с точки зрения java-web-разработчика с серьезным стажем)
Что нового в этой сборке
Под впечатлением от разговоров с пользователями на ZendCon мы занялись оптимизацией. В качестве «стресс-тестов» мы использовали таких тяжеловесов как ShugarCRM и Magento (хотели попробовать и Битрикс но не нашли версии с открытыми исходными кодами). Буквально первые сеансы профилирования показали что выведение типов производило слишком много «мусора» в памяти, да и могло приводить к зацикливанию (и зависанию) — теперь эти проблемы исправлены. Хочется сразу сказать что это лишь начальная оптимизация и мы планируем серьезно заниматься этим дальше. *Очень* хочется услышать отзывы всех кто проапгрейдился. Если у вас есть конкретные проблемы — пишите любым способом. Я лично обрабатываю весь фидбек.
Новые фичи:
- улучшена генерация PHPDOC
- навигация/поиск использований для глобальных переменных
- распознавание членов класса на основании имени для тех случаев когда выведение типа не возможно
- поддержка SFTP
- автодополнение после ключевого слова new
- пространства имен отображаются в дереве структуры файла
- квикфикс (Alt-Enter) для определения неизвестных переменных с помощью var
Множество багфиксов, детали в блоге и трекере
К сожалению есть и известные проблемы
- Наиболее серьезная — деградация: многострочные литералы в этой сборке неверно подсвечиваются как содержащие ошибку WI-494
- Несколько деклараций namespace XXX; (именно с ";") в одном файле будут ошибочно распознаны как вложенные WI-497
- переименование переменной удаляет знак $ из имени WI-500
Постараемся выпустить обновление поскорее. Ждите багфиксов, оптимизации и конечно новых фич :)
Кое что о неочевидных возможностях WI
Релиз приближается и мы начали собирать всю информацию о функциях WebIDE в одном месте. Даже если вы уже освоились с редактором рекомендую хотя бы просмотреть список. А здесь расскажу о паре весьма полезных но не совсем очевидных возможностей. Итак, если в вашем проекте PHP используется для генерации XML, JS, CSS, SQL или какого-то иного языка которых поддерживается WebIDE вы можете комфортно работать с помощью следующих функций:
«Внешний» язык для PHP
Для каждого файла или папки можно выставить «внешний» по отношению к PHP язык вместо дефолтного HTML через панель Settings|Template Data Languages. Эта настройка запоминается в проектном файле.
«Внутренний» язык для строкового литерала в PHP
Внутри литерала нажмите Alt-Enter и выберите «Inject Langugage», а затем требуемый язык. Пока что НЕ запоминается. В будущем можно будет указать что *например* первый строковый параметр функции query() — это SQL (и выбрать диалект)
Для обоих случаев будет включена полная поддержка языка — включая комплишн и рефекторинг. Используя эти фичи можно получить полную поддержку любой комбинации языков %)
На этом я заканчиваю и жду любых вопросов и предложений :)