Я очарован неблокирующими архитектурами. Хотя я не использовал Node.js, я это понял концептуально. Кроме того, я разрабатывал веб-приложение, управляемое событиями, поэтому у меня есть общее представление о программировании событий.
Как вы пишете неблокирующий JavaScript в браузере? Я полагаю, что это должно несколько отличаться от того, как это делает Node. Мое приложение, например, позволяет пользователям загружать огромные объемы данных (сериализованные в JSON). Эти данные анализируются для восстановления состояния приложения. Это тяжелая операция, которая может привести к блокировке браузера на некоторое время.
Я считаю, что использование веб-работников - это один из способов. (Казалось, это был очевидный выбор, однако Node реализует неблокирующую, управляемую событиями архитектуру, которую я считаю без использования Web Workers, поэтому я думаю, что должен быть другой путь.) Я считаю, что таймеры также могут сыграть свою роль. Я читал о TameJS и некоторых других библиотеках, расширяющих язык javascript. Я заинтересован в библиотеках JavaScript, которые используют нативный JavaScript без введения нового синтаксиса языка.
Ссылки на ресурсы, библиотеки и практические примеры являются наиболее ценными.
EDIT:
Узнал больше, и я понимаю, что то, о чем я говорю, подпадает под термин "Фьючерс".
JQuery реализует это, однако, он всегда использует XHR для вызова сервера, где сервер выполняет обработку, прежде чем вернуть результат, и то, что я хочу, делает то же самое, не вызывая сервер, где клиент выполняет обработку, но в неблокирующей образом.
http://www.erichynds.com/jquery/using-deferreds-in-jquery/