Взгляд на HAXE, как на платформу для разработки веб приложений

В процессе работы над нашим приложением, некоторые, ненужные сложности в разработке большого приложения заставили задуматься в целесообразности использования php. Собственно поэтому я посматриваю на языки-фреймворки, на которые максимально безболезненно сможет перейти команда php программистов.

Сразу скажу что php язык хороший, и написать на нем можно всё, но не всё можно написать одинаково хорошо, быстро, и без лишних проблем в перспективе развития проекта. Т.е. для домашней странички-форума-блога, — да, шикарное решение, а для разработки сложного корпоративного софта, с большим количеством частоизменяющихся бизнес требований, веб приложений под нагрузками, как мне кажется, можно найти более подходящий инструмент. Конечно, идеально использование java/.net, но поскольку не все проекты у нас большие, а технологии эти довольно тяжелы для «подъёма» в эту сторону пока смотреть не хочется. В этом цвете мне и приглянулся haxe. С одной стороны — шикарный язык, в лучших традициях java/c#, с другой, — не перегруженный, простой для понимания и освоения php программистами. Главная идея haxe, — это различные платформы на выходе: c++, neko, javascript, php, flash, что дает массу гибкости и при хорошо организованной архитектуре позволит безболезненно переводить уже написанное приложение с платформы на платформу, в зависимости от нужд. Со списком преимуществ haxe можно познакомится здесь. Это в теории, на практике, конечно же нужно что-то делать с платформозависимыми библиотеками, либо писать заведомо ограниченные приложения.

Ну чтож, перейдем к самому интересному, — бенчмаркам. Ничего особо сложного тестировать я не хотел, написал простой тест, который включает в себя создание локальных переменных, простейшие операции, циклы, сравнения. Это то что мы чаще всего пишем в коде. Мне было интересно сравинить скорость выполнения чистого php, разницы в скорости вызовов функций перед статическими методами класса, разницы выполнения в консоли и через модуль apache, haxe кода скомпилированного в php и производительности nekovm.

Вот что получилось:

10000 циклов 20000 циклов
pure php console 0.724 1.433
pure php apache 0.747 1.708
php with class console 0.867 1.733
php with class apache 0.862 1.731
hexephp (-debug) 4.91 9.816
haxephp 0.887 1.73
nekovm (mod_neko2) 0.013 0.097
pure neko 0.011 0.027

Выводы: скомпилированный php код не намного уступает обычному php коду. Вполне очевидно что код nekovm выполняется быстрее чем php, благодаря строгой типизации и прочим фичам. Разница в выполнении из консоли или через апач видна только в nekovm, из-за того что скорость выполнения значительно выше чем php. Несмотря на то что haxe платформа довольно молодая, перспективы у неё огромные. Возможность относительно легко мигрировать приложеня с php в nekovm мне кажется пока усложнена отсутствием высокопроизводительного движка шаблонов (в php с этим отлично справляется pure php), но уже сейчас стоит обратить внимание на такие возможности как SPOD (объектная работа с базой данных), многопоточное программирование, интеграция с кодом на C

Исходный код тестов

Comments

comments

Leave a reply:

Site Footer

Sliding Sidebar

About Me

About Me

Для кого этот блог?

Для тех кого интересуют современные интернет технологи, IT бизнес, стартапы, менеджмент, контроль качества, личная эффективность, мотивация. Здесь я буду писать о том, что в первую очередь будет интересно мне, о проблемах и решениях. О том что пригодилось мне, и возможно будет интересно Вам.

Что заставило меня создать его?

Желание совершенствоваться. Достигать успеха. Находить людей со схожими проблемами и задачами, вместе искать выходы и решения.

Немного о себе.

Мой первый серьезный опыт в IT это работа над desktop приложениями в компании «Эксперт-Софт». У истоков её стояли несколько амбициозных и талантливых молодых людей, с огнем в глазах и желанием работать «как майкрософт». То чем мы там занимались вполне могли бы сегодня назвать «стартапом». Рук было откровенно мало, поэтому приходилось заниматься всем: кодированием на Delphi, написанием скриптов на VBA, дизайном, вёрсткой и поддержкой вебсайта, работой над рекламной полиграфией, проектированием интерфейсов и БД. Работы было много, но запал был велик, команда очень разношерстная, гармонично дополняя друг-друга в решении нетривиальных задач. Благодаря тому что пришлось попробовать многое, постепенно вырисовалось понимание того чем хочется заниматься, и как. Софтверным программированием я был сыт по горло. Массы проблем десктопного софта в вебе просто не было, по определению. Зато был четкий фокус на дизайне, юзабилити, скорости. Поэтому когда пришла пора уходить из «Эксперт-Софт», я без всякого сожаления стал искать работу как разработчик для web. Поскольку городишко у нас не очень большой, выбор был практически предопределен. Так я стал работать в «Оникс-Системз», где и продолжаю работать поныне. За время работы в компании я как разработчик принимал участие в работе над несколькими десятками проектов. Несколько десятков проектов было сделано мною как фрилансером. Самым большим проектом в котором я сыграл роль менеджера, считаю свою семью. Также довольно большой проект мы сейчас поднимаем с командой разработчиков (на данный момент команда состоит из четырех php разработчиков, одного flex кодера и тестировщика). Отсюда, большой интерес к современным практикам и методологиям, разным подходам в управлении командой, повышению эффективности и качества работы. По мере сил, вдохновения и свободного времени, я буду писать об этом.

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

e-mail:
skype: denis.sheremetov
Старый сайт, с музычкой и флешом

Прочая онлайновая деятельность: