7

我有兴趣扩展我的网站以提供涉及用户在我大学校园内“签到”的服务。由于基于位置的服务(LBS)是相当新的,并且没有太多的文献可以提供与这个问题相关的兴趣,我有以下问题要问:

首先,我知道我必须设计一个 Android 应用程序,可能还有一个电话应用程序应用程序。对于我的猜测,foursquare 只是使用客户端来回发送数据到他们的网络服务器。

  1. 客户端与网络服务器通信的标准协议是什么?(或者它只是 json 或 xml?)
  2. 他们在后端使用什么样的特殊网络服务?(就像一些研究表明他们正在使用 LIFT,用 Scala 编写,这是我不熟悉的东西。)。
  3. 我很了解python。是否有提供与上述 2) 类似的服务的网络服务器,即 django 或 pylons?
  4. 这真的有多难?

此外,非常感谢有关此主题的任何文献。

4

3 回答 3

2

使用foursquare API

他们在这里为 Django 和 Python 提供了预制的库,这些库应该可以更容易地将foursquare集成到您的网站中。

于 2010-07-05T00:47:42.107 回答
2

好吧,我确实认为一个很好的第一步是查看Foursquare 的 API,看看你是否可以简单地与他们的服务集成(即寻找校园建筑或其他地方的签到)或者只是为了获取图片他们正在使用什么。他们的 API 看起来像是一个使用 XML 或 JSON 的非常标准的 Web 服务,这对您来说似乎也是一个很好的实践。

构建处理地理数据的可扩展 Web 服务存在一些挑战:您需要一个可以为您处理地理空间索引的数据库(否​​则算法会变得有点复杂)。如果您熟悉 Django,GeoDjango可能非常适合您。我听说 Foursquare 实际上正在改用MongoDB,它具有一些地理空间索引功能:他们很可能使用 NoSQL 数据库,因为它们具有您可能不需要担心的独特的扩展问题。

于 2010-07-08T01:25:20.020 回答
0

模仿foursquare不是一个好方法。针对您的特定功能需求和负载水平的解决方案将始终是定制的,而不是复制的。即使是世界上最大的大学校园,每个人都在使用该服务,但与foursquare 的用户群相比,你完全相形见绌。因此,无论他们在做什么,都比您需要的要高端得多。

对于您的目的,一个简单的 Web 服务可能就足够了。我现在正在构建对位置敏感的应用程序(艺术/文化活动和消费者提供的本地用户当前位置),这些应用程序使用查询字符串或发布的数据参数命中 PHP 脚本,并使用 JSON。没什么特别的,但我可以使用我已经知道的轻量级技术处理服务器端的负载,而且我知道它会扩展以满足我的实际负载。

不要受制于别人的做法,即使他们是行业领导者。他们的需要不是你的需要。

于 2010-07-08T11:00:17.047 回答