Какая технология стоит за Google Buzz?
Мне действительно интересно узнать, как Google Buzz и Facebook реализуют функцию комментариев, которая обновляется мгновенно. это похоже на волновую технологию Google? Есть ли ресурсы, чтобы изучить эту технологию и внедрить ее на нашем сайте?
Спасибо!!
2 ответа
Я работаю в команде Google Buzz, так что, надеюсь, я могу дать вам хороший ответ с нашей стороны уравнения. Я, очевидно, не буду вдаваться в секретную внутреннюю информацию, но я с удовольствием расскажу об открытых стандартах, которые мы используем, и об открытых проектах.
Начиная с пространства пользовательского интерфейса, мы используем такие технологии, как Closure и GWT, для создания многофункциональных, отзывчивых пользовательских интерфейсов. Мы используем технологию, примерно похожую на ту, которую вы видите в API канала Google App Engine, для предоставления пользователям обновлений в режиме реального времени. GAE - действительно хороший выбор для веб-приложений в реальном времени прямо сейчас.
Что касается API, мы стараемся использовать открытые стандарты везде, где это возможно. Мы используем формат синдикации Atom, чтобы читатели фидов могли использовать контент Buzz, а Pubsubhubbub - для отправки контента в реальном времени. Фактически, мы используем Pubsubhubbub для нашей пожарной деятельности - можно подписаться на весь поток всех обновлений, которые происходят в Buzz, в режиме реального времени. Излишне говорить, что это отправляет огромное количество трафика в ваше приложение. Что касается JSON, то мы используем http://activitystrea.ms/, и мы активно работаем с сообществом для уточнения и улучшения этой спецификации. Наши каналы Atom также включают потоки активности, но основное внимание здесь уделяется синдикации. Все наши защищенные конечные точки API для Buzz используют стандарт OAuth для авторизации.
Что касается бэкэнда, я думаю, что единственное, что мы хотим сказать публично, - это то, что протоколные буферы просто великолепны.
Эта технология называется сетью в реальном времени ( http://en.wikipedia.org/wiki/Real-time_web). У вас есть много моделей приложений для работы в режиме реального времени, и одна из них - Comet ( http://en.wikipedia.org/wiki/Comet_%28programming%29). Хороший сервер для использования в вашей реализации - APE (http://www.ape-project.org/). Он поддерживает много распространенных структур JavaScript. Больше вы можете проверить по предоставленным ссылкам.