web development

29 Oct 2013

Вообще удивительные вещи в современной веб-разработке происходят здесь и сейчас. Если в году 2005 “main language for the web” считался php, то теперь это javascript. И я думаю в скором времени php будет полностью вытеснен первым.

Посмотрите на Node.JS, она развивается семимильными шагами! Конечно “non-blocking web” и асинхронность это все хорошо, но не в этом ее основная популярность. Не скажу что Node.JS выиграла за счет этих фишек, основная причина популярности не в платформе (что само по себе парадокс см. Java / Rails), а в языке! JavaScript знают все. Это основной язык для разработки на frontend. А теперь он уже и на backend есть, и это круто. Если же мы хотим настоящего fault tolerant веб-приложения, то безусловно лучше взять Erlang и n2o. Но почему все больше людей выбирают Node.JS ?

Давайте посмотрим как Node.JS была представлена ? А представлена она была в лучшем свете “с блэкджеком и шлюхами (с)”, точнее со встроенным веб-сервером для быстрой разработки и со своим пакетным менеджером.

Как дела обстоят в PHP ? Встроенный веб-сервер конечно появился в PHP, но только к 5 версии (и все ли об этом знают :) ). Почему об этом авторы языка не задумывались раньше непонятно. Менджер зависимостей/пакетов в PHP тоже появился, но относительно недавно. И как-то он отстранен от самого языка, нет целостной платформы.

Возмем в пример Python. Есть пакетный менеджер PIP и встроенный веб-сервер давно уже можно запустить

python -m SimpleHTTPServer 80

У Ruby с Rails там вообще все понятно, готовый набор всего и вся за секунду из коробки с кучей свистелок-перделок как бонус. Мне вот например сам синтакцис Ruby не по душе, хотя и чем то похож на Erlang.

Мне кажется что разработчики языка PHP уже давно опустили руки. Я не ярый поколнник этого языка, но с ним периодически приходится сталкиваться. Пройдет время и поделки вроде сегодняшних дырявых Joomla, Wordpress появятся на Node.JS, но уже в другом цвете.

На мой взгляд много платформ хороших изначально загнулось, так толком и не стартанув. Возмем в пример Play Framework. Отличный фреймворк был, до версии 2.x. Далее ребята окончательно упоролись новомодным энтерпрайзом и функциональщиной, переписали шаблоны на Scala и были таковы. Конечно это круто иметь контроль типов везде, в том числе и на уровне шаблонов. Но по моему мнению это требуется только в максимум 5% случаев, где Play врядли будет использован.

Этим постом я не хочу разжигать холивар по типа “ruby круто, а php отстой”. Писать хорошие приложения можно на чем угодно. А раз так, то встает вопрос удобства в процессе написания и тут начинаешь обращать внимание на все эти моменты.


comments powered by Disqus