HoHsi: он рендерит всё на фронтенде ещё со времён когда для этого нужна была хэш-навигация. Да и как бы по-вашему там музыка иначе игралась при навигации?
HoHsi: ради пользователей конечно же. Скорость, удобство и т.д. Удобно вам будет пользоваться Вконтакте если каждая страница будет грузиться с нуля? Ну то есть вы же представляете как выглядит для пользователя рендеринг каждой страницы на сервере?
Алексей П о чём? Вы читаете комментарии прежде чем на них отвечать? Джаваскрипт даже в гугле до сих пор нормально не индексируется, это понятно всё. Но при чём тут вот этот костыль с /#!/ ? Он не про индексацию джаваскрипта, а про распознавание хэш-урлов. При этом контент по этим урлам предполагается рендерить, внимание, НА СЕРВЕРЕ.
Никто сейчас не мешает рендерить на сервере контент по тем хе url-ам, которые используются на фронтенде, т.к. на фронтенде после появления history api можно спокойно использовать нормальные url-ы, а не это убожество с хэшем.
Так это древний костыль который не нужен после введения history api (т.е. уже года три как). Смысл костыля только в том чтобы поисковик понимал, что URL в таком формате - это именно полноценный роут а не просто хэш. После history api хэш-навигация в SPA не нужна вообще, соответственно не нужен и этот костыль.
Давайте прямо код из консоли в общем, а то на пальцах непонятно:
1. Наберите Time.zone и покажите что выводит
2. Скопируйте сюда код из консоли, который вводите, вместе с выводом
Думай Головой Это относится почти к чему угодно и совершенно не специфично для веба: при грамотной архитектуре реализацией конечных фич может заниматься и индус (хотя конечно лучше так не делать). Но архитекторов-то вы в таком случае почему за скобки выносите? Они занимаются теми же веб-технологиями.
Ну это даже не говоря о том, что не помню чтобы Гугл нанимал программистов за $5/час. Расценки на работу программистов в этих компаниях более-менее известны, и вполне себе на уровне.
Думай Головой В вебе полно серьёзной работы с серьёзными расценками. Просто для этого надо навыки имать соответствующие.
А так да, для $25-30 в час достаточно вполне средних и умения просто качественно делать рутинную работу.
Обработчик как и везде у бэкбона - в соответствующем View. Id можно передать через data-атрибуты у элемента и дальше достать из эвента. Ну либо создавать View на каждый элемент, тогда на каждый элемент будет свой обработчик и никаких проблем с определением id не будет.