demavair
@demavair

Почему страницы Facebook открываются без загрузки впрочем и Вконтакте тоже — это Ajax?

Если кто знает, дайте пожалуйста расширенный ответ. Стоит ли сайт перевести на Ajax? Или страницы Facebook открываются без перезагрузки из-за C++?

HipHop for PHP (букв. HipHop для языка PHP) — транслятор исходного кода, созданный компанией Facebook. HipHop программно превращает исходный код, написанный на языке PHP в высоко оптимизированный код на C++, а затем использует компилятор g++ для его компиляции. HipHop включает в себя транслятор кода, альтернативную реализацию среды выполнения PHP, а также множество наиболее распространённых расширений PHP (англ. PHP Extensions), переписанных на C с целью повышения производительности[1]. - Википедия
  • Вопрос задан
  • 3449 просмотров
Решения вопроса 2
t-alexashka
@t-alexashka
Сразу пишу legacy код
У них своя реализация механизма ajax. Наиболее похожий плагин на это - pjax.

https://github.com/ckald/jquery-pjax

механизм достаточно прост. на ссылку вешается вызов плагина, если был клик, то плагин отправляет серверу запрос на получение страницы, и приписывает заголовок о том что это грузится ажаксом. на серверы ты смотришь, если заголовок есть, то показываешь не всю страницу а только контент. Если нет заголовка - значит переход был по прямому урлу в браузере, что не нарушает seo-целостности страниц, они будут доступны как с pjax так и просто.
Ответ написан
benbor
@benbor
Помог ответ - не забудь лайкнуть
Все ответы есть в интернете:
основы - likbez-net.ru/po-tu-storonu-brauzera.html
основы ajax - javascript.ru/ajax/intro
Откуда ответ, да, это AJAX.
А стоит ли переводить, зависит от отношения затраченных средств к прибыли, полученной от перевода.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
voidnugget
@voidnugget
Программист-прагматик
В общем там браузерная шаблонизация - нужно смотреть в сторону Angular / Ember / Meteor / React + rx.js
Cейчас вопрос с SEO и браузерной шаблонизаций обычно решается либо дублированием шаблонов на сервере и в браузере, но основе Jade к примеру, либо гоняют рендер в браузере или node.js, как это делается с React'ом или prerender.io.

Ну вот к примеру learni.st написан на Angular'е и отлично индексируется гуглем.

Сейчас наиболее перспективным является GWT-way, когда серверные шаблоны прозрачно транслируются в браузерные, и все изменения модели передаются посредством push нотификаций и по вэбсокетам или comet'у (socket.io / sock.js). Но для этого нужно ещё реализовать нормальную поддержку Virtual DOM суррогата, так как это сделано в React'e. В нём кстати самый толковый рендер DOM'a, из-за этого рождаются вундервафли типа ngReact.

В общем вопрос фронтенда за последние 3 года очень сильно усложнился с появлением различных MVC-подобных браузерных подходов, и jQuery уже "прошлый век". Сейчас всё упирается в реактивности с асинхроном и многопоточностями, а с ними в PHP / Ruby куча проблем. В Python этих проблем меньше, но и костыли там тоже встречаются, а в node.js вообще их нет... но производительность обоих решений оставляет желать лучшего.

Пробуйте golang, или Typesafe Stack / Grails.
На фронтенде веселее всего с React rx.js и socket.io / sock.js, но для коммуникации можно и что-то своё написать.
Ответ написан
Комментировать
Lerg
@Lerg
Defold, Corona, Lua, GameDev
AJAX. Нет, не стоит.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы