Когда мы запрашиваем страницу в интернете, то одновременно с ней, зачастую, получаем кучу дополнительных файлов: изображения, стилей, скриптов. В реальной жизни сопоставим это с количеством посылок, это может быть 10 маленьких, за которыми сложно бегать или же одна большая коробка, которую быстрее принести. Для уменьшения запрашиваемых элементов и их объема применяется множество технологий: картинки склеиваются в одну, стили CSS и JS скрипты интегрируются в код основной страницы, а не подключаются отдельно.
process.on('ev', function() {
console.log('ev');
});
(function() {
console.log('a');
process.emit('ev');
console.log('b');
} ());
//a
//ev
//b
process.on('ev', cb)
был вызван не столь тривиально и в нескольких местах в асинхронном коде, я бы не советовал вам даже пытаться понять какой из cb
будет вызван первым. Я не утверждаю, что у вас не получится вычислить последовательность вызова, но говорю что вычислять ее в корне неправильно - это антипаттерн. Если вы хотите быть уверенным в последовательности вызова используйте коллбеки или промизы, но не события. Так же я немного узнал о составлении html на сервере, но я не понял, нужно ли и есть ли фраймворк который будет работать с такими вот принятыми с сервера данными.
Веб-приложение — клиент-серверное приложение, в котором клиентом выступает браузер, а сервером — веб-сервер. Логика веб-приложения распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб-приложения являются межплатформенными сервисами.