人人网移动开发架构统一问题服务器架构设计

文章描述:人人网移动开发架构.

前言

说起手机操作平台的发展先要说移动终端的发展,因为平台的发展离不开移动终端,近十年移动终端发展和未来移动终端趋势大体可分为以下四个个阶段:

相关厂商内容

送给光棍节的促销,电子商务的背后—《架构师》11月刊免费下载!

第一个阶段:功能终端。满足用户基本通信需求,如发短信、打电话,附加些贪食蛇、推箱子小游戏。

第二个阶段:智能化的终端。可扩展第三方应用,实现上网浏览等互联网基础功能,以诺基亚S60手机为代表的。

第三个阶段:互联网和平台化的终端。手机和互联网更加紧密,浏览器、流媒体更加强大,互联网应用和手机系统特性结合的更加紧密;手机成为了一个平台,用户可以通过下载第三方应用来DIY这款终端,如偏好音乐,可以下载音乐类型的应用。代表为iPhone、Android和Windows Phone 7。

第四个阶段(未来趋势):物联网化的智能终端。此阶段的特点是现实生活和网络通过传感设备结合的更加紧密。

目前我们处于第三个阶段,对用户而言,由于收入不同、兴趣爱好不同、需求偏好的不同以及手机私人属性和随身性的特点,产生了不同的用户体验;对各个厂商而言,由于目标市场的定位不同、商业利益的不同、技术背景不同,造就了不同的手机操作系统。最终形成了手机操作平台多元化的局面。

目前主流手机操作平台可分为:Symbian、Android、iPhone OS 、MTK、Windows mobile、Wp7六种。下面分别简述下这六个平台的情况。

Symbian:昔日王者,虽然眼下受到了android和iPhone的强势狙击,被其瓜分了部分市场,但是价格低,易用性强,应用程序多,加上诺基亚的品牌、渠道等优势,在短期内智能机霸主地位很难撼动。中期来看市场中心下移走中低端智能机路线,长期来看,有可能被WP7取代。如果它不革自己的命,那么很可能被别人革命。

Android:势如破竹,据国外媒体报道Android在去年第四季度已超过Symbian成为全球最大智能手机平台,结束了在Symbian在智能机领域长达10年的统治地位。作为后来者,Android借鉴了iPhone的操作体验,但是由于Android完全开源,对于手机厂商和运营商来讲,很容易定制成自己特色和服务的手机,加上Android强大的互联网功能,因而获得二者的青睐。完全开源是把双刃剑,由于各厂商分别定义了各自的产品,这种不标准和不统一会给第三方软件适配带来门槛,会导致在单个某型号的移动终端Android应用偏少,所以Android有可能成为智能手机中的山寨机。

iPhone OS:神话缔造者,从热销的程度我们可以看出iPhone 4创造的奇迹。超炫的UI设计,良好的交互操作,海量的应用,牢牢占领高端市场。从短期来看,iPhone 4突出的优势会让它再火一段时间。但是由于是自有系统,市场占有量取决于苹果手机终端用户认可情况,所以长期看,主要取决于苹果手机发展和竞争对手的变化。

Windows mobile:廉颇老矣,尚能饭否?无论从UI视觉效果,还是从易用性,还是第三方应用,Windows mobile 都完败Iphone和Android。壮士暮年,该退隐江湖了。

MTK:山寨大王, MTK是一个封闭的环境,不支持可扩展的应用,同时原功能也不完善,总之是个半成品。需要中间厂商来完善。相比较来讲,第三方程序少,易用性一般。山寨机的价格和功能形成的性价比优势,占据低端市场。

WP7:救世主,作为微软和诺基亚的救命稻草是值得期待的,笔者曾经体验过WP7,采用卷轴式UI设计风格,使UI体验别具一格。系统和互联网应用的紧密结合,加上诺基亚和微软的强力支持。这个操作系统是值得期待的,有望在智能机领域形成WP7、Android、iPhone三足鼎立的局面。

上述六大平台分别对应不同的体验和功能实现。对产品设计人员和开发人员而言,它们通常会参照移动终端的UI设计规范。因为移动终端系统本身定义了一些常用的控件和响应方式。产品保持与终端系统的一致,不但可以降低开发成本,而且易于用户学习和使用。面对诸多平台,尤其是各个平台功能特点不尽相同,操作方式不同,屏幕大小不同,而每个主流平台又有相当规模的用户群,拥有众多不同的UI规范,这对于全平台的产品而言,无疑是具有灾难性的。

本文就人人网移动开发中不同终端平台的差异和架构统一问题,以及相关服务器架构进行探讨。

移动终端之江山一统

历史历历在目

人人网www.renren.com(原名:校内网),从08年下半年开始手机软件的研发,当时国内一二线的互联网公司也已经开始了移动互联网的布局,但已发布并可供参考的产品并不多,尤其是SNS本身也还是一个新的互联业务,让我们的用户可以在手机上方便地访问SNS,这可一下把我们难住了。为了可以快速推出第一个版本试水,我们先是选择JavaME平台来开发第一个人人的手机客户端。

人人网的主要业务包括新鲜事,个人主页(状态,日志,相册,留言),好友,站内信,聊天,游戏等等,这些业务都互相关联与衬托,并围绕好友关系(Social Graph),如果要把这些业务都搬到手机,短时间内根本无法完成,因为客户端类的软件与浏览器的网页在展现与交互上有非常大的差异,手机的屏幕大小限制也给设计带来了很大的困难,无疑是雪上加霜。当时我们挑选了用户常用的几个业务,新鲜事,个人主页(状态,日志,相册,留言),好友,站内信,按主站顶部导航的排版方式,设计了一多标签的导航界面,每个标签一个业务,页面跳转同主站,如下图:

图1

看上去这个设计非常简约明到几乎完美,代码也非常好实现,大家激情澎湃,斗志昂扬准备迎接移动互联网的又一个奇迹,也许你和我以及我们的产品经理一样,低估了这一切,人人网的业务可不像聊天软件那样单纯,当我们的工程师各自完成自己的分配到的业务,并开始处理不同业务之间界面的跳转时,不详的预感笼罩了整个团队,当时的轻率导致了严重危机,大家知道,在我们通过浏览器访问网页,页面中超链接可以让你随意跳转到任何一个页面,且这些页面并不一定是同一个业务的相关页面,如我从个人主页也可以直接跳转到好友(跨标签),而且通过浏览器的后退按钮可以返回前面的页面,客户端类软件可不能做成这样的自由,我们应该怎么处理不同业务界面的跳转呢?当时大家理解的跳转,根本没有考虑到不同业务之间后退的问题,而且浏览器的页面跳转,浏览器本身是不用知道下个界面是哪个业务,而客户端必须知道,否则根本无法处理事件交互。技术慌了,产品经理也慌了,眼看承诺的交付时间一天天临近,大家还是没有想出一个非常好的办法,多次尝试失败,有的方案,页面的跳转连我们自己都晕过去了,最后我们的第一个版本的JavaME 客户端1.0以失败告终。

[1] [2] [3] [4]  下一页

时间: 2024-08-11 04:26:33

人人网移动开发架构统一问题服务器架构设计的相关文章

《低功耗蓝牙开发权威指南》——2.7节客户端–服务器架构

2.7 客户端–服务器架构在客户端–服务器架构中还有一个设计元素作为设计低功耗蓝牙的基础.在设计低功耗时考虑了将设备连接到互联网的问题.原本可以在每一个资源受限的设备上集成IP协议,从而将它们公开给互联网.遗憾的是,即使是最简单的IP协议,其消耗的内存和能量也无法满足简单装置的要求.因此,协议设计者作出决定,不允许将IP数据包直接路由到从设备.作为替代方案,智能网关实现了互联网和低功耗从设备之间的互联互通.采用纯客户端–服务器架构使得这种相互连接成为可能.服务器仅仅作为数据存储库,并不关心客户端

无服务器架构正在蚕食基础设施

云计算时代出现了大量XaaS形式的概念,从IaaS.PaaS.SaaS 到容器云引领的CaaS,再到火热的微服务架构,它们都在试着将各种软.硬件资源等抽象为一种服务提供给开发者使用,让他们不再担心基础设施.资源需求.中间件等等,在减轻心智负担的同时更好地专注于业务. 无服务器架构(Serverless)和 Functions-as-a-Service(FaaS)是云计算的热点趋势.除了微软和亚马逊,还有许多其他供应商也提供 FaaS.已经有不少文章介绍了无服务器架构这项技术典型的应用场景是在流式

用Java开发电影视屏服务器使用什么架构好?

问题描述 用Java开发电影视屏服务器使用什么架构好? 现在我想要开发一个电影视屏系统,打算用Java开发服务器端,分别提供基于浏览器的客户端和Android客户端.但在下是个小菜,不知该该如何架设系统的架构,用什么架构好,望给予指点!!

《思科UCS服务器统一计算》一第2章 服务器架构

第2章 服务器架构 思科UCS服务器统一计算 从性能角度来看,处理器.内存和I/O是服务器中最重要的三个子系统.在某个给定的时间点,其中一个常常会成为瓶颈.我们经常会听说应用程序受CPU限制.受内存限制或受I/O限制. 在本章中,我们将详细介绍这三个子系统,具体参照根据IA-32(Intel架构,32位)构建的服务器,IA-32通常称为x86架构.具体地讲,我们将介绍与IA-32架构兼容的最新一代Intel处理器,也就是Intel微架构(以前的代号为Nehalem)1. Nehalem微架构(参

《思科UCS服务器统一计算》一第2章 服务器架构2.1 处理器的演变

第2章 服务器架构 思科UCS服务器统一计算从性能角度来看,处理器.内存和I/O是服务器中最重要的三个子系统.在某个给定的时间点,其中一个常常会成为瓶颈.我们经常会听说应用程序受CPU限制.受内存限制或受I/O限制. 在本章中,我们将详细介绍这三个子系统,具体参照根据IA-32(Intel架构,32位)构建的服务器,IA-32通常称为x86架构.具体地讲,我们将介绍与IA-32架构兼容的最新一代Intel处理器,也就是Intel微架构(以前的代号为Nehalem)1. Nehalem微架构(参见

中国支持ARMv8架构的超大规模服务器开发

2016年7月12日,华芯通半导体技术有限公司(以下简称"华芯通半导体")已获ARM v8-A架构授权.中国成为全球第二大数据中心市场,该授权将帮助华芯通半导体在快速扩张的中国服务器市场加快先进服务器芯片组技术.这项多年的授权将帮助中国企业在本土市场提供基于ARM的服务器技术,从而推动最高效服务器解决方案的大规模部署. 华芯通半导体是中国贵州省人民政府与美国高通公司合资创办的企业.该公司位于贵州省,是中国第一个建立大数据发展产业集群的省份.该地区已成为数据中心集群,拥有250多万台服务

游戏服务器架构演进(完整版)

一.游戏服务器特征 游戏服务器,是一个会长期运行程序,并且它还要服务于多个不定时,不定点的网络请求.所以这类服务的特点是要特别关注稳定性和性能.这类程序如果需要多个协作来提高承载能力,则还要关注部署和扩容的便利性;同时,还需要考虑如何实现某种程度容灾需求.由于多进程协同工作,也带来了开发的复杂度,这也是需要关注的问题. 功能约束,是架构设计决定性因素.基于游戏业务的功能特征,对服务器端系统来说,有以下几个特殊的需求: 游戏和玩家的数据存储落地 对玩家交互数据进行广播和同步 重要逻辑要在服务器上运

网络相册开发(8)——Cairngorm架构浅析

Cairngorm是Adobe公司推荐的Flex架构. 关于它的文档少的可怜,我只发现了这两个: Cairngorm中文文档: http://download.csdn.net/download/tcx1986/513560 Developing Flex RIAs with Cairngorm microarchitecture http://www.adobe.com/devnet/flex/articles/cairngorm_pt1.html Cairngorm 架构包括六部分:Mode

Windows平台网站图片服务器架构的演进

构建在Windows平台之上的网站,往往会被业内众多架构师认为很"保守".很大部分原因,是由于微软技术体系的封闭和部分技术人员的短视造成的.由于长期缺乏开源支持,所以只能"闭门造车",这样很容易形成思维局限性和短板.就拿图片服务器为例子,如果前期没有容量规划和可扩展的设计,那么随着图片文件的不断增多和访问量的上升,由于在性能.容错/容灾.扩展性等方面的设计不足,后续将会给开发.运维工作带来很多问题,严重时甚至会影响到网站业务正常运作和互联网公司的发展(这绝不是在危言