Пишем онлайн игру на NodeJS, Express и Socket.IO
Мало кто сегодня может сказать что не знает о NodeJS, последнее время о нём много говорят и пишут.
Я свой путь ознакомления с NodeJS начал полгода назад, тогда для меня это была просто интересное и новое, я и подумать не мог что уже через полгода это станет моим основным инструментом для разработки.
Поскольку весь обучающий материал это либо статьи об асинхронности, либо как написать свой сервер или чат, то ничего интересного для себя в обучающем материале не нашёл. Писал потихоньку разные мелкие приложения, которые подменяли частично в разных проектах фоновые работы php.
Но сейчас я чувствую в себе силы чтобы уже написать полноценный обучающий и не унылый материал от новичка до реального работающего приложения. Это будет не просто приложение, а онлайн игра с использованием самых популярных инструментов Express и Socket.IO, да-да, мультиплеер, который сможет сделать любой средне-статистический js разработчик.
О том, что такое Express и Socket.IO уже писали много где, поэтому описывать ещё раз я не буду, уделив больше внимания процессу разработки.
Я решил не усложнять процесс разработки графикой и взять простую игру, так мой выбор пал на крестики-нолики, но чтобы усложнить себе задачу, было решено сделать универсально, с возможностью задать любой размер игрового поля и любое кол-во ходов для победы.
Итак, решено! Начинаю делать крестики-нолики.
Яндекс выложил первые блоки для своего web-фреймворка БЭМ
Веб-фреймворк БЭМ на основе Node.js, разрабатываемый в недрах Яндекса, обзавёлся сегодня первыми блоками, инструментами и тестовым проектом, в котором можно увидеть простой пример использования. К БЭМ прилагается шаблонизатор на основе гибрида JSON и XSLT.
Чтобы установить и опробовать БЭМ, надо произвести следующие действия:
echo 'export NODE_PATH="'$(npm root -g):$NODE_PATH'"'>> ~/.bashrc sudo npm install -g bem sudo npm install -g xjst
Подробнее о работе с фреймворком можно почитать в вики проекта.
Node.js – стиль и фреймворки
После PHP писать для Node приятно. Конечно, это дело субъективное, но лично мне JavaScript теперь кажется куда более подходящим языком для Web-приложений. Добавьте сюда то что теперь один язык можно использовать и на клиенте, и на сервере. К тому же стиль программ (event-driven) уже знаком большинству веб-программистов из опыта клиентского JavaScript.
