зачем использовать маршрутизацию javascript? - PullRequest
7 голосов
/ 02 февраля 2012

Кажется, есть много библиотек и пакетов (Crossroads.js и т. Д.), Которые поддерживают эту функцию маршрутизации javascript, но у меня возникают проблемы с пониманием сценария, в котором это полезно.

Любой желающий пойтисуп к орехам в ситуациях, когда это полезно?

Моя история связана с программированием на ASP.NET (веб-формы) и некоторыми любительскими javascript / jquery.

Ответы [ 2 ]

5 голосов
/ 02 февраля 2012

Это дает вам возможность обрабатывать поведение клиента без необходимости перезагружать всю страницу, как в случаях, когда вы будете обрабатывать сервер маршрутизации.

Это открывает возможности для более гибкого и интерактивного дизайна, так как вместо перезагрузки всей страницы при каждом изменении маршрута вы можете перерисовать только ту часть веб-сайта, которая изменяется для данного маршрута. В то же время это помогает снизить нагрузку на сервер, поскольку вы уменьшаете обмен данными между клиентом и сервером, отправляя только данные, необходимые для отображения страницы, чтобы клиент мог с ней справиться (представления рендеринга и т. Д.)

Благодаря использованию backbone.js или других инфраструктур mvc (-подобных) вы можете уменьшить свой сервер, чтобы предоставлять только REST API для работы с данными и их получения, не обрабатывая рендеринг, и вы передаете некоторые - или даже чаще всего - логики для клиента.

В настоящее время большинство веб-приложений используют маршрутизацию на стороне клиента - от GMail до Twitter.

1 голос
/ 02 февраля 2012

ОК. Думаю, теперь я понимаю это лучше.Это просто слой абстракции между вызывающей функцией и вызываемой.Вместо того, чтобы прикреплять жестко запрограммированную зависимость между вызывающим и вызываемым абонентами, вы можете ввести систему маршрутизации, которая будет связывать их на основе некоторой конфигурации и предоставлять дополнительные функции, такие как проверка или привязка нескольких вызывающих к вызывающему.Затем вы можете ссылаться на свои действия с помощью дескрипторов restful (например, "/ getCoffee / decaf"), которые также могут быть динамически сконструированы (поскольку они являются просто строками).

Я все еще размышляю над относительными преимуществами схемы маршрутизации по сравнению с созданием пользовательского события.

...