Блог Конфуция
Конкуренты 03.04.2009

За последние три месяца обнаружил на просторах интернета два проекта по снабжению нжинкса яваскриптом. Один из энтузиастов пошел схожим путем и решил встроить SpiderMonkey. Другому, видимо, ближе C++, и он решил обратиться к прекрасному созданию гугла — движку V8. Оба разработчика скоро разочаровались в своих проектах (насколько можно судить по интенсивности коммитов). Но мне важным показалось другое.

Задачей, которую поставили себе эти ребята, стала поддержка запуска нжинксом яваскриптовых файлов (например, встроенных в HTML-код). В принципе, это было бы интересно, если бы нжинкс уже не поддерживал перл с его прорвой библиотек. А найти применение клону ПХП, но на яваскрипте (учитывая, что серверные программеры его просто ненавидят) и без библиотек не ручаюсь совсем.

UPD: Был неправ, исправляюсь. Второй парень (японец, скрывающийся под псевдонимом rykomats) оказался не так прост. Он тоже сделал небольшую обертку к структуре запроса, и передает пришедший запрос в функцию из заранее загруженного яваскрипта (на сколько можно понять этот кошмарный C++). Такая конфигурация работает быстро и понятно.

Согласен, обе технологии (spidermonkey & nginx) просто сахарные, и, полюбив их по отдельности, начинаешь подумывать об объединении возлюбленных. Но зачем же все так пошло?

Кстати говоря, если сделать на яваскрипте не обработчик (хендлер) локейшна, а фильтр, то можно распрекрасно и быстро реализовать, например, легко расширяемый клон SSI, но на яваскрипте. А можно встроить пакер Дина Эдвардса, и минифаить яваскрипт налету. Можно даже простенький шаблонизатор для джейсона накатать. Но вот делать простую запускалку яваскрипта — этого понять невозможно.

UPD2: Вот еще дядька американец встраивает эрланг. Хакеры нжинкса всех стран, обединяйтесь! :)

Теги:
  • сервер
  • nginx
  • spidermonkey
  • v8
Очень жду ваших комментариев на почту или на гитхаб.