Всем привет,
Как и многие, я долго писал на Node.JS только высокопроизводительные сервисы, но когда в 0.11 сделали генераторы и несколько моих коллег подтвердили, что они работают на production, решил сделать на этой платформе новый учебник JavaScript.
Удобство генераторов для асинхронного JS-кода сложно переоценить. При желании он становится «плоским», меньше букв, чем чистые promise/async.
Хотелось сделать движок быстрым, простым в разработке и иметь возможность запускать некоторые модули и на сервере и на клиенте.
Получилось, если не напутал при подсчёте, около 24000 строк кода (без сторонних node_modules).
Написанный движок сайта имеет открытый исходный код. В репозитарии github.com/iliakan/javascript-nodejs можно посмотреть и позаимствовать различные аспекты реализации.
Есть:
— Авторизация через социальные сети.
— Отправка почты и рассылок через Mandrill API.
— Сборка стилей и скриптов на webpack.
— Приём оплаты посредством Paypal, Webmoney, Интеркассы, Яндекс.Денег.
— Логирование через bunyan
— Deploy через PM2
— Многое другое, что нужно для real-life проекта.
Увидеть в действии можно на learn.javascirpt.ru, ну или поднять локально под Mac/Linux.
Код написан одним человеком, и с расчётом на то, что этот один человек будет его поддерживать. Поэтому минимум документации, и тесты я писал только там, где посложнее. С другой стороны, если вы хотели взглянуть, как может выглядеть сайт на io.js / koa.js — вот он перед глазами.
Собирался написать пост о его особенностях, основных архитектурных решениях, но он получился таким длинным, что пришлось отказаться от этой идеи. Если будут вопросы, то постараюсь на них ответить.
— Хорошей разработки!
Илья Кантор
Автор: iliakan