频道栏目
读书频道 > 移动开发 > 其他综合 > 移动云计算应用开发入门经典
10.1 Lifestream应用程序的架构
2012-12-26 16:50:25     我来说两句
收藏   我要投稿
本书作为构建移动应用程序和云服务的实用向导,对于那些渴望利用云服务(例如Amazon Web Services)的强大能力作为支持,为移动设备创建跨平台应用程序的Web开发人员来说,是一本必不可少的读物。作者Richard R...  立即去当当网订购

Lifestream应用程序是一个照片共享的移动应用程序,类似于Twitter。但它不是与关注者分享短消息,而是分享照片。照片流显示了关注者的照片,其中最近的照片在前面。

要构建此应用程序,需要创建一个用户数据库,以可伸缩的方式存储关注/被关注的关系。还需要一个地方来存储所有的照片。需要构建一个Android和iPhone应用程序,以获得尽可能广泛的用户群。

在第8章已经解决了存储的问题:Amazon S3会很好地工作。在第9章解决了跨平台的问题:PhoneGap可以使用相同的基本代码创建Android和iPhone应用程序。本章将通过使用MongoDB存储关注/被关注关系,解决剩余的问题。

本章将使用的数据模式非常简单。只需要一个user集合(传统意义上的“表”)。集合中需要以下字段。

username——唯一的用户名。

token——进行身份验证的登录令牌。

stream——最近发布的图像的列表。

followers——关注该用户的用户列表。

following——该用户关注的用户列表。

关于MongoDB数据库一个最大的优点就是可以在文档(传统意义上的“行”)里存储列表。这意味着可以在一个地方存储有关某个用户的所有细节,包括关注/被关注关系。

本书主要介绍如何使用云服务来构建移动应用程序。一个关键的想法是:移动应用程序仅仅是云服务客户端的一种类型。服务应该提供一个适当的Web API,任何客户端都可以访问。这样,就可以支持第三方的系统,这是一个很有用的方法,可以为服务和应用程序构建庞大的用户基础。

当构建Lifestream应用程序和服务时,也可以为服务定义独立的API,该API可以完成应用程序可以执行的一切操作。这个API的URL多以下面的形式出现。

http://YOUR_SERVER/lifestream/api/user/:username/:action

在这种情况下,:username是用户名,:action是可选操作。有些操作,如搜索,并不需要用户名,所以这是可选的。API将支持以下动作。

register——注册一个新用户。

oauth——通过OAuth协议处理Twitter和Facebook登录。

search——用户搜索。

:username——没有动作,得到用户的详细信息。

:username/follow——关注一个用户。

:username/unfollow——停止关注用户。

:username/upload——上传图像数据,但不发布。

:username/post——发布图像给关注者。

:username/stream——获取最新的图像流。

完整的应用程序的流程应该是这样:在物理移动设备上启动移动应用程序,然后与nginx代理服务器通信,nginx与Node服务器通信,Node与MongoHQ服务通信。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:概述
下一篇:10.2 构建服务器
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站