Развитые («богатые») интернет-приложения (RIA) уже давно перестали быть новинкой. Разработчики пытаются добиться, чтобы интерфейсы их веб-сервисов как можно более походили на интерфейсы программ для настольных систем. Однако чем «богаче» приложение, тем бoльшая часть кода должна быть перенесена с сервера на клиентскую машину в виде сценариев в составе HTML-документа и выполняться в среде браузера. Не исключено, что при этом для решения некоторых задач потре-
буется значительное время. И тут возникает весьма неприятный эффект: пока JavaScript-сценарий занят вычислениями, бра- узер не реагирует на действия пользователя.
Проблема серьезнее, чем может показаться на первый взгляд. Если верить психологам, пауза в работе не просто нежела- тельна, она губительна. За очень короткое время пользователь успевает перенестись из «виртуального» мира текущей задачи в повседневную реальность, а для того чтобы вернуться обратно, потребуется немалое волевое усилие. Так как же исключить столь вредное явление?
Если расположить код на стороне сервера, пауза возникнет из-за естественной задержки ответа, связанной с прохождением пакетов по сети. Если же код будет выполняться на стороне клиента, он на это время может «отключить» браузер. Решение предлагает HTML 5. Механизм, называемый Web Workers, позволяет перенести часть кода, выполняемого в среде браузера, в отдельный поток. Время, требуемое для решения задачи, не уменьшится, однако пока сценарий будет занят, остальные элементы веб-страницы останутся доступными и пользователь сможет продолжать работу.







