Создание сервиса для моего сайта, который имеет некоторые функции foursquare - PullRequest
7 голосов
/ 03 июля 2010

Я заинтересован в расширении моего веб-сайта для предоставления услуги, которая включает в себя "регистрацию" пользователей в кампусе моего университета. Поскольку Службы на основе местоположения (LBS) являются довольно новыми, и существует не так много литературы, которая могла бы обеспечить соответствующие интересы в этом вопросе, у меня есть следующие вопросы:

Во-первых, я знаю, что мне нужно разработать приложение для Android и, возможно, приложение для телефона. Я полагаю, что Foursquare просто использует клиента для отправки данных на их веб-сервер туда и обратно.

  1. Каковы стандартные протоколы взаимодействия клиента с веб-сервером? (или это просто json или xml?)
  2. Какие особые веб-сервисы они используют на своем сервере? (Как некоторые исследования показали бы, что они используют LIFT, написанный на Scala, с которым я не знаком.).
  3. Я хорошо знаю Python. Существуют ли веб-серверы, то есть django или pylons, которые предоставляют услуги, аналогичные 2) выше?
  4. Насколько это сложно на самом деле?

Кроме того, любая литература по этому вопросу высоко ценится.

Ответы [ 3 ]

2 голосов
/ 08 июля 2010

Ну, я думаю, что хорошим первым шагом было бы взглянуть на API Foursquare , чтобы увидеть, можете ли вы просто интегрироваться с их сервисом (т. Е. Искать регистрацию в зданиях кампуса иличто угодно) или просто чтобы получить представление о том, что они используют.Их API выглядит как довольно стандартный веб-сервис, использующий XML или JSON, что также является хорошей практикой для вас.

Существуют некоторые проблемы при создании масштабируемого веб-сервиса, который будет обрабатывать географические данные:Вам нужна база данных, которая может обрабатывать для вас геопространственную индексацию (в противном случае алгоритмы могут быть немного сложными).Если вы знакомы с Django, GeoDjango вам подойдет.Я слышал, что Foursquare фактически переключается на использование MongoDB , который имеет некоторые функции геопространственной индексации : они, вероятно, используют базу данных NoSQL из-за их уникальных проблем масштабирования, которые вы, вероятно, не делаетенужно беспокоиться о.

2 голосов
/ 05 июля 2010

Используйте foursquare API .

У них есть готовые библиотеки для Django и Python здесь , которые должны упростить интеграцию foursquare в ваш сайт.

0 голосов
/ 08 июля 2010

Имитация foursquare не очень хороший подход. Решение ваших конкретных функциональных потребностей и уровней нагрузки всегда будет нестандартным, а не скопированным. Даже в самом большом университетском городке в мире, когда каждый человек пользуется этой услугой, вы будете совершенно не в себе от базы пользователей Foursquare. Поэтому все, что они делают, НАМЕРЕННО выше, чем нужно.

Для ваших целей простой веб-сервис, вероятно, более чем достаточен. Сейчас я создаю приложения, которые чувствительны к местоположению (события в области искусства / культуры и потребительские предложения локальны по отношению к текущей позиции пользователя), которые в настоящее время используют PHP-сценарии с аргументами строки запроса или отправленных данных и используют JSON. Ничего особенного, но я могу справиться с нагрузкой на стороне сервера с помощью легких технологий, которые я уже знаю, и я знаю, что она будет масштабироваться в соответствии с моей реальной нагрузкой.

Не доверяйте тому, как это делают другие, даже если они лидеры отрасли. Их потребности не ваши потребности.

...