О чем говорят тренды PHP в 2016-м году?

в 15:31, , рубрики: IoT, phalcon 2, php, PHP 7, psr-7, Zephir, Блог компании Инфопульс Украина, Веб-разработка, Разработка для интернета вещей, метки:

Если вы узнали эти несколько строчек кода ниже, значит потенциально вы в тренде последних лет развития PHP.

$client = new JoliArDroneClient();
// use API service (see below)
$client->start();

PHP-ar-drone является портом node-ar-drone, который позволяет пользователю управлять Parrot AR Drone на PHP. Пару лет назад, когда Адриен Баптист демонстрировал эту технологию, это могло показаться шюткой, но не сегодня.

Известные личности в мире PHP и не очень известные, многие сейчас в интернете обсуждают три основных темы – это PHP 7 против HHVM, асинхронное программирование с ReactPHP и PSR-7, а также микрофреймворки как middleware.

Во многом, споры о будущем PHP активизировались с появлением “прямого конкурента” движку PHP Zend Engine. Таким конкурентом стал HHVM — виртуальная машина для компиляции PHP кода в машинный, основанная на JIT, которая была разработана Facebook для решения все возрастающих нагрузок на сервера. Добившись повышения производительности удалось увеличить трафик на 500-600 процентов в сравнении с популярными версиями PHP на Zend 2. После чего, HHVM был отдан в свободное пользование в первую очередь сообществу WordPress. Именно это заставило основателей Zend Engine воспринимать HHVM, как прямого конкурента и к декабрю 2015-го выкатить 3-ю версию движка для PHP 7.

Советую прочитать обзор по результатам тестирования PHP разных версий в сопоставлении с HHVM здесь.

Хоть на самом деле конкуренцией в прямом смысле здесь и не пахло, сообщество PHP заметно оживилось и в короткие сроки было сделано много из того что планировалось долгие годы. Сегодня это проявляется в 100%-м увеличении производительности PHP 7 по сравнению со всеми 5-ми версиями. Также заметно возрос интерес к асинхронным возможностям PHP и использование React техногий на ряду с интергацией PSR 7 в популярных фреймворках.

Я выбрал одни из самых емких цитат известных PHP гуру на Reddit и Quora чтобы как-то подытожить рефлексии на тренды и прогнозы, и приведу их ниже.

Адам Englander, инджениринг директор LaunchKey, Inc выразился так:

«В 2016 году мы будем видеть все больше и больше совместимости между фреймворками. Symfony, Laravel и Drupal (CMS), это только начало. Благодаря PSR-7, также будут становиться более распространенным фреймворки, основанные на концепции middleware. 3-я версия Slim Framework и Zend Expressive оба самые настоящие middleware фреймворки. Это новая эпоха в PHP с принципом взаимодействия в самой его основе.

Мы должны также видеть рост асинхронного программирования, в частности, благодаря icicle.io. Команда разрабатывающая icicle.io прошла долгий путь, чтобы сделать асинхронное программирование более доступным с использованием Promises и Generators, во многом схоже с ECMAScript 2015 в JavaScript.

Мой последний прогноз на 2016 год будет основываться на предыдущем предсказании. Вы начнете видеть некоторое движение на уровне реальных аппаратных средств, разработками Интернет вещей (IoT) в PHP. С действительно асинхронно программируемыми фреймворками, использующими преимущества асинхронного input/ output вы сможете писать PHP приложения, которые с легкостью будут получать инпут на Raspberry Pi, Intel Edison и других устройствах IoT, работающих под управлением операционных систем Linux».

Рафаэль Dohms, создатель Amsterdam PHD, также сказал:

«Я думаю, что это будет интересный год для PHP. Помимо запуска PHP 7, дающего прыжок в производительности, который мы видели в HHVM в последние годы, что само по себе вдохнуло новую жизнь в существующие платформы, а также помогло многим компаниям сэкономить на инфраструктуре, фактор, который повлияет на дальнейшее развитие, это PSR -7.

PSR -7, стандарт для HTTP сообщений, принес с собой возможность создания решений в самых разных формах. В первую очередь он обратил много внимания и показал простоту использования патерна Middleware. Это уже позволяет PHP следовать трендам, таким, как мы видим в сообществе Node.js в создании систем, использующих middleware.

Zend Expressive является отличным примером очень небольшой реализации этой модели, которая в свою очередь позволяет нам отойти от монолитных структур (мы делали это в течение 4-5 лет) и действительно начать „составление“ решения из множество мелких и смешанных блоков.

Это новое дыхание для микро-фреймворков и микро-библиотек, тенденции, которые мы уже видели. По крайней мере, для меня будущий тренд основан именно на этих, более компонентных фреймворках, и решений, созданных из склейки частей нескольких фреймворков вместе, всех вместе наслаивающихся поверх тонкой реализации HTTP в значительной степени на основе PSR-7 и middleware».

Мое личное мнение относительно трендов в этом году немного расходится со всем выше сказаным, поскольку тренд становится таковым, только тогда, когда технология, 7-я версия PHP, ReactPHP либо даже HHVM, “попадает в массы”, то есть поглощается главным пользователем. Но мы знаем, что по статистике главный пользователь – это большинство, то есть маленькие проекты на WordPress, Drupal, Magento, трафик которых и нагрузка на сервера довольно редко превышает нормы допустимого.

С другой стороны, освоить и справиться со сложной конфигурацией например HHVM сможет далеко не каждый разработчик WordPress. Или например, заставить своего хостинг провайдера инсталировать 7-ку на вашем сервере либо shared хостинге – задача, сомнительного характера для любого разработчика средней руки. Само-собой разумеется, что более крупные проекты, которые формируют меншинство, вполне практично используют финансовые возможности в решении вопросов с трафиком, закупая и оборудуя по своим нуждам сервера. И конечно же, только самые большие компании обычно имея достаточную экспертную базу разумно используют финансовые рычаги оптимизируя технологии а не сервера.

Поэтому трендом в этом году, по моему скромному мнению может стать технология на которую меньше обращают внимания сегодня, а именно Phalcon + Zephir. Это как раз та технология которая дает большой прыжок в скорости, а в простоте использования выглядит привлекательней любого современного фреймворка.

Посмотрите краткое видео о том как за 15 минут с Phalcon можно создавать приложения:

Как видите для пользователей Ubuntu установка Phalcon сложна ровно настолько:

$ sudo apt-add-repository ppa:phalcon/stable
$ sudo apt-get update
$ sudo apt-get install php5-phalcon

Установка Zephir:

$ git clone https://github.com/phalcon/zephir
$ cd zephir
$ ./install -c

Предварительно устанавливаем компилятор несколько пакетов для PHP:

$ sudo apt-get update
$ sudo apt-get install git gcc make re2c php5 php5-json php5-dev libpcre3-dev

И вот мы уже не просто готовы за 15 минут создать приложение-опросник, но и, для простоты примера, написать свой калькулятор для подсчета голосов в приложении:

namespace Myframework;
class Calculator {
    public function add(int a, int b) {
        return a + b;
    }
}

Для PHP разработчика здесь все довольно по домашнему, просто главное что следует помнить – уточняем типы данных для компилирования(можно использовать декларирование либо статически прописывать int, bool, char).

Говорим Зефиру bin/zephir compile чтобы он скомпилировал для нас икстеншн в C, и затем возвращаем его в среду PHP с помощью нескольких простых команд:

$ cd ext/
$ phpize
$ ./configure
$ make
$ sudo make install
$ echo "extension=/usr/lib/php5/20100525/myframework.so" | sudo tee -a /etc/php5/cli/conf.d/myframework.ini

У нас готово С расширение для Phalcon! Тестируем:

$ php -a
Interactive mode enabled

php > $calc = new MyframeworkCalculator;
php > var_dump($calc->add(2, 1));
int(3)

Кого уже заинтересовала эта магия, можете углубиться в документацию здесь.

Инновационно в Phalcon даже не то, что фреймворк становится С расширением для вашей машины, но то, что Zephir дает любому PHP разработчику супер-силу расширять функционал фреймворка на родном языке.
И это ненавязчиво возвращает нас концепции тренда описанной в начале этой статьи, когда PHP разработчик получает билет в мир IoT, и с комфортом въезжает в него на своем слоне.

Это захватывает, а то что захватывает, имеет все предпосылки стать трендом!

Автор: Инфопульс Украина

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js