天象移动客户端云定制平台技术文档.docx
- 文档编号:24663585
- 上传时间:2023-05-30
- 格式:DOCX
- 页数:29
- 大小:6.65MB
天象移动客户端云定制平台技术文档.docx
《天象移动客户端云定制平台技术文档.docx》由会员分享,可在线阅读,更多相关《天象移动客户端云定制平台技术文档.docx(29页珍藏版)》请在冰豆网上搜索。
天象移动客户端云定制平台技术文档
天象移动客户端云定制平台
项目技术方案与创新性
项目的技术原理:
项目所依据的技术原理,包括文献、专利,或发明等(对于企业客户端:
androidPhone和IPhone开发原理,以及clientFactory(客户端工厂)组装、配置、生成流程原理介绍)。
项目基本原理图
1、整体流程:
通常一个App案例首先由UI设计师设计App的Icon;然后通过企业客户端云模板库选择定位自己需要的App模板;再通过APP内容填充平台,选择丰富多变的App微件,通过自填方式或者通过关键词订阅微接口构建自己的App实体;然后通过智能生成器快速生成App安装文件(apk或ipa);最后客户可以在天象电子市场下载自己的App,然后安装预览。
2、系统主要术语:
1)EnterAPP:
是指为某个企业提供服务的APP客户端,例如:
天下美食、名人微博、厨卫用品、薄膜塑料制品等企业的APP客户端;
2)Modular:
是指某个EnterAPP栏目或专栏,例如:
产品热销、企业新闻、企业介绍、企业荣誉、招聘信息、企业相册等;
3)AD:
通常是指APP广告,或引导页面,通常分为BridgeAD(桥页广告或APP引导页)、LoadingAD(加载页广告)、topAD(首页头部广告)、ListAD(列表页广告)等;
4)APPTemplate:
通常是指系统中为EnterAPP提供的丰富的模板库;
5)TemplateColor:
为APPTemplate(模板库)提供多彩的色系服务,用户可以自由的为APP选择自己喜欢的颜色;
6)Navigation:
是指EnterAPP底部的导航;
7)apk:
通常指为android手机系统的提供EnterAPP安装文件,如:
meishi.apk、chuwei.apk等;
8)ipa:
通常指为苹果产品(iphone)提供的EnterAPP安装文件;
本系统要解决的技术和使用难题主要包括:
1、androidapk安装文件自动打包生成算法:
传统apk打包基本采用手动打包方式,无法再服务器上通过程序接口自动打包,即使一般大型公司可以自己制作自己的客户端也是独立开发单个客户端,无法实现批量客户端自动打包功能。
本系统通过多功能并发方式对每个App采用的公用的src和xml文件加以配置之后通过后台接口调用linux服务器中的已经装配好的sh命令程序,中转至后台独立打打包服务器自动打包,一般打包时间不超过60S,此项技术在国内外属于领先水平,完成后可自动上传发布至天象电子市场。
客户端开发方面:
采用了分层的架构。
分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。
1.应用程序
Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。
所有的应用程序都是使用JAVA语言编写的。
2.应用程序框架
开发人员也可以完全访问核心应用程序所使用的API框架。
该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。
同样,该应用程序重用机制也使用户可以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统,其中包括;
丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(Lists),网格(Grids),文本框(Textboxes),按钮(Buttons),甚至可嵌入的web浏览器。
内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据
资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(Layoutfiles)。
通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。
活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。
3.系统运行库
Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。
它们通过Android应用程序框架为开发者提供服务。
以下是一些核心库:
*系统C库-一个从BSD继承来的标准C系统函数库Libc),它是专门为基于Embeddedlinux的设备定制的。
*媒体库-基于PacketVideoOpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。
编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。
*SurfaceManager-对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。
*LibWebCore-一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。
Android架构图
Android版本演化史
Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:
阿童木(AndroidBeta),发条机器人(Android1.0)。
后来由于涉及到版权问题,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。
甜点命名法开始于Android1.5发布的时候。
作为每个版本代表的甜点的尺寸越变越大,然后按照26个字母数序:
纸杯蛋糕(Android1.5),甜甜圈(Android1.6),松饼(Android2.0/2.1),冻酸奶(Android2.2),姜饼(Android2.3),蜂巢(Android3.0),冰激凌三明治(Android4.0),果冻豆(JellyBean,Android4.1和Android4.2)。
2、ipa安装文件自动生成算法以及分布式服务器之间调用:
a)平台拥有自己独立的一套的API,可以很方便后期平台的开发和制作。
系统结构分为以下四个层次:
核心操作系统(theCoreOSlayer),核心服务层(theCoreServiceslayer),媒体层(theMedialayer),Cocoa触摸框架层(theCocoaTouchlayer)
系统结构图
b)API的基础类库中,提供一些基础管理工具,例如:
图片下载和缓存管理;文件删除,查找,存储管理;设备和程序基础数据管理;主题管理;请求中心;数据库管理等等。
也封装了一些顶级父类,其里面拥有自己的基本逻辑,以便子类创建就拥有强大的功能,加快功能需求的完成;API中也封装的一些常用控制,例如广告控件,栏目控件等等;API在IOS SDK基础上通过Category做了很多的扩充。
iOS5主接口包括以下自带的应用程序:
信息、日历、照片、YouTube、股市、地图(AGPS辅助的Google地图)、天气、时间、计算机、备忘录、系统设置、iTunes(将会被链接到iTunesMusicStore和iTunes广播目录)、AppStore、GameCenter以及联络信息。
还有四个位于最下方的常用应用程序包括有:
电话、Mail、Safari和iPod。
(iPhone4S内置Siri)。
c)建立了一套布局管理方式,类似xcode中的xib方式,每个页面根据规定好的格式或者自定一些参数,去匹配页面布局和样式。
d)平台现基于模板的形式,所有模板共用一套布局格式配置文件,每个模板中的每个页面都有自己的布局配置文件,这些模板文件可以通过后台建立,然后打入程序中,这样平台就变得非常灵活了。
丰富真实动感的结构体验
e)布局格式配置文件,目前有两种:
1)程序入口配置文件,里面规定了两种的格式使用左右滑屏的形式和一般tabBar的形式,当然也支持扩展;2)程序中每个页面的布局配置文件,里面规定了每个页面是否显示导航栏,搜索栏,广告栏,tabbar 和他们与各个页面里小模块定义的显示样式,以及整个页面是否使用网页显示。
简洁的操作界面,更加完美的浏览效果
f)默认样式配置文件,里面会规定默认样式,例如:
栏目显示的样式,九宫格,列表等默认样式。
此样式需要后期慢慢积累。
g)栏目配置文件,此文件规定了三平台(企业,行业和电商)的栏目id与类名的对应关系。
这样就可以通过反射机制,而抽象编写程序。
3、服务器架构与分布式开发:
系统架构拓扑图
ØFireWallServer原理:
软件防火墙只有包过滤的功能,硬件防火墙中可能还有除软件防火墙以外的其他功能,例如CF(内容过滤)IDS(入侵侦测)IPS(入侵防护)以及VPN等等的功能。
也就是说硬件防火墙是指把防火墙程序做到芯片里面,由硬件执行这些功能,能减少CPU的负担,使路由更稳定。
硬件防火墙是保障内部网络安全的一道重要屏障。
它的安全和稳定,直接关系到整个内部网络的安全。
因此,日常例行的检查对于保证硬件防火墙的安全是非常重要的。
系统中存在的很多隐患和故障在暴发前都会出现这样或那样的苗头,例行检查的任务就是要发现这些安全隐患,并尽可能将问题定位,方便问题的解决。
ØNginxServer原理:
Nginx是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性:
在高连接并发的情况下,Nginx是Apache服务器不错的替代品:
Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。
能够支持高达50,000个并发连接数的响应,感谢Nginx为我们选择了epollandkqueue作为开发模型。
Nginx作为负载均衡服务器:
Nginx既可以在内部直接支持Rails和PHP程序对外进行服务,也可以支持作为HTTP代理服务器对外进行服务。
Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好很多。
作为邮件代理服务器:
Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm描述了成功并且美妙的使用经验。
Nginx是一个安装非常的简单,配置文件非常简洁(还能够支持perl语法),Bugs非常少的服务器:
Nginx启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。
你还能够不间断服务的情况下进行软件版本的升级。
ØJSONServer数据接口原理:
JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。
它基于JavaScript(StandardECMA-2623rdEdition-December1999)的一个子集。
JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。
这些特性使JSON成为理想的数据交换语言。
易于人阅读和编写,同时也易于机器解析和生成。
本系统中使用的是Google的Gson包。
ØORACLEDatabaseServer:
本系统采用ORACLE数据库系统,ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。
比如SilverStream就是基于数据库的一种中间件。
ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
使用oracle数据库是由于oracle有如下优点:
a)■稳定性强
b)■可用性强
c)■可扩展性强
d)■数据安全性强
(2)项目创新点:
描述项目在理论创新、应用创新、技术创新、工艺创新、结构创新等方面的创新点。
要用技术语言,尽可能多的用实验数据对技术创新性进行描述,要有数据分析、对比,要有新旧技术、结构或工艺对比。
创新点:
1)Web网站和wap手机网站通常情况下必须要独立的域名和空间才能承载网页信息,而wap从出生那天起,就注定承载不了太多,它仅作为解决手机可访问网页的一种过渡方式而出现。
随着技术的发展,包括基于webkit的手机浏览器的出现,现在,是对wap说再见的时候了。
今天,虽然有了webkit,但客户端给了我们更好的体验,让我们的生活充满了多彩和便捷,它把我们带进了便携式互联网时代。
我们来看一下目前这三者之间的优劣比较:
客户端:
1)优势:
最佳的用户体验,最卓越的用户界面,最从容的交互方式;离线可启动;流量小;可调用本地资源。
2)劣势:
多平台移植与维护成本;版本更新代价高,而未来随着硬件技术快速的提升,这些问题应该过不了多久就会解决。
Wap:
1)优势:
产品调整灵活,可快速迭代;跨平台;无安装成本;相比web流量更小;2)劣势:
用户体验差;无法实现复杂的功能与交互;不支持离线模式;
Web:
1)优势:
开发、适配成本低;跨平台终端;快速更新与迭代;无安装成本;2)劣势:
用户体验短期内无法超过原生app;在html5之前不支持离线模式;调用本地资源能力有局限;
◆多达50种功能模块,根据客户需求自由搭配组合:
公司信息、信息列表、行情列表、产品列表、分类列表、人物列表、相册列表、文章页面、联系我们、提交表单、嵌入微博、嵌入网址、会员中心、招聘信息、互动社区、帮助中心、用户足迹、产品橱窗、火车时刻查询、天气查询、区号查询、动态广告植入、周边环境、地图定位、视频播放、音乐欣赏等50多种功能自由组合,搭建功能强大的APP客户端。
◆Native和HTML5两种开发方式,结合手机硬件功能带来更多应用体验,支持市场上超过90%的智能移动设备
未来是WebApp的天下,还是NativeApp的天下?
作为设计师,我们是应该努力把客户端的体验提升到最优,还是在网页应用层面上做更多的设计?
这个一直是大家关心的话题。
那么,我们首先应该立体的认识一下WebApp和NativeApp。
一、WebApp
Web无需安装,对设备碎片化的适应能力优于App,它只需要通过XHTML、CSS和JavaScript就可以在任意移动浏览器中执行。
随着iPhone带来的WebKit浏览体验升级,使得专为iPhone等有WebKit浏览内核的移动设备开发的Web应用,也有了如App一般流畅的用户体验。
图1谷歌Voice和谷歌Gmail是WebApp的设计典范
WebApp的优势:
1.开发成本低
2.适配多种移动设备成本低
3.跨平台和终端
4.迭代更新容易
5.无需安装成本
WebApp的劣势:
1.浏览的体验短期内还无法超越原生应用
2.不支持离线模式(html5将会解决这个问题)
3.消息推送不够及时
4.调用本地文件系统的能力弱
图2街旁和XX小说,采用HTML5实现了接近Native的体验效果
二、NativeApp
而App因为位于平台层上方,向下访问和兼容的能力会比较好一些,可以支持在线或离线,消息推送或本地资源访问,摄像拨号功能的调取。
但是由于设备碎片化,App的开发成本要高很多,维持多个版本的更新升级比较麻烦,用户的安装门槛也比较高。
但是比较乐观的是,Appstore培养了一种比较好的用户付费模式,所以在Apple的生态圈里,开发者的盈利模式是一种明朗状态,其他market也在往这条路上靠拢。
图3Gowalla和AwesomeNote,是移动客户的经典设计案例
NativeApp的优势:
1.提供最佳的用户体验,最优质的用户界面,最华丽的交互
2.针对不同平台提供不同体验
3.可节省带宽成本
4.可访问本地资源
5.盈利模式明朗
NativeApp的劣势:
1.移植到不同平台上比较麻烦
2.维持多个版本的成本比较高
3.需要通过store或market的确认
4.盈利需要与第三方分成
三、融合
乔布斯有一次谈到这个问题,他说Web是未来,虽然现阶段Native给了用户更好的体验。
如果现在的开发者不有效的利用Web技术,那他就落伍了。
但如果过分依赖Web,完全不用Native那也未必就是好事。
iOS平台上的App有三类:
WebApp,通过浏览器访问;NativeApp,通过Appstore安装;第三类叫Hybrid App,它虽然看上去是一个NativeApp,但只有一个UIWebView,里面访问的是一个WebApp,比如街旁网最开始的应用就是包了个客户端的科,其实里面是HTML5的网页,后来才推出真正的原生应用。
再彻底一点的,如掌上XX和淘宝客户端Android版,走的也是HybridApp的路线,不过掌上XX里面封装的不是WebView,而是自己的浏览内核,所以体验上更像客户端,更高效。
图4掌上XX和Naver客户端都是WebApp+NativeApp的架构
图5掌上XX的架构说明,客户端嵌套服务端,保证服务的高效迭代与更新
谷歌的ChromeOS和Android都是操作系统,但走的是两条路。
ChromeOS走的是Webapp的路。
从ChromeOS大会上发布的ChromeWebApp能看出来,谷歌想为未来的ChromeOS做铺垫,鼓励更多的开发者开发出具有应用程序体验的WebApp,正如ChromeOS官网上说的——“Nothingbuttheweb”。
而Android走的是NativeApp的路。
Android作为手机平台的操作系统,明显更注重应用程序开发,这一点从AndroidMarket可以看出来。
也许前微软首席架构师RayOzzie的评价更加一针见血:
“谷歌的战略中Android(以app为主)是在赌过去,而ChromeOS(完全基于Web)则是在赌未来。
”
于是我们可以得到这样一个启发,你要想服务于未来,必须不断的跟随技术发展的脚步,提供更好的网页服务和体验。
但是人们是活在当下,为了当下用户的需求,又必须提供现阶段浏览体验最好的客户端产品。
但是,客户端是笨重且迟缓的,它不能像传统网页那样,一有风吹草动就华丽转身,只能规划好功能点,一步一步迭代,毕竟用户的升级成本太高了。
所以,就有了这种WebApp+NativeApp的架构,在现有条件下给用户最好的浏览体验和升级迭代。
四、未来趋势
虽然我们都愿意相信,当Web的体验和Native的体验逐渐趋近的时候,人们更愿意把精力花在内容获取上,而不是软件交互上,但是现阶段的交互体验,恰恰是影响人们获取内容的主要短板。
所以,趋势摆在那里,我们却无法预测这个时间差。
就跟电脑端的应用一样,虽然现在Web化的趋势已经非常明显了,但是还是无法取代你本机安装的一些工具类的、游戏类的应用,在Web技术没有达到本地应用的效率和体验之前,Web是无法颠覆Native的。
总得来说,Web只是我们作为设计者和开发者所期待的一种理想化结果,开发成本低、轻松跨平台、迭代更新快,但是显然,现阶段用户的期待和手机设备厂商的期待还是体验上更胜一筹的Native。
Web之于我们,只是一种趋势。
在这个也许会非常久的过渡阶段,对复杂产品来说,NativeApp+WebApp也许是个不错的解决方案。
◆无线移动广告平台支持,为用户带来更多的盈利模式
精准化营销
传统家电连锁企业国美、苏宁都受到了电商行业和客户端网购交易巨大的冲击。
国美电器上半年营收同比下滑22.41%,净亏损达5.01亿元,是8年来首亏。
苏宁的情况稍好,上半年实现营业利润21.78亿元。
不过,由于电子商务大量烧钱,资本市场对苏宁也极为不看好,其股价跌至最近三年来最低。
不过,在传统电子商务浴血红海时,移动电商却迎来了爆发式增长。
去年开始,国内三大运营商为了争抢用户,联合手机厂商掀起了千元智能机风潮。
市场研究机构IDC的数据显示,2012年,全球智能手机出货量达6.86亿部,中国约占全球的26.5%,出货量约为1.82亿部。
行业观点认为,随着智能手机的逐渐普及,消费者对移动购物的需求陡然攀升。
艾媒咨询的数据显示,2011年,中国移动电子商务市场交易规模为156.7亿元,同比增长609%,预计到2015年,国内市场规模将超过1000亿元。
2011年,淘宝无线交易总额达118.8亿元,同比翻了6倍。
大众点评网的移动客户端的流量占到全部流量的60%,凡客诚品也取得了不俗的成绩,移动客户端营收占到总营收的17%.而欢购网去年销售额超过4000万元,比2010年营收翻了10倍。
PC购物与手机购物看似相近,却截然不同,这主要是由终端的属性决定的。
手机购物可以实现LBS(基于位置的服务)消费,比如找酒店、找餐馆、找娱乐场所,随时便捷,这是传统电商无法比拟的。
目前,一些传统电商仅是把PC上的业务移植到手机上,而没有进一步挖掘手机网民的消费习惯。
"有互联网分析人士指出,传统电商对手机网购的理解不到位,使得目前国内移动电商市场还处于群龙无首的状态。
大而全在移动电商领域行不通,手机屏幕就那么大,什么都想做,结果什么都做不好。
"林乐昌认为,移动电子商务必须找到适合自己的独特模式,这个模式一定要有清晰的定位,符合消费者的购买习惯,还要确保一定的盈利能力。
◆运行速度更快、浏览效果更绚、升级更新更方便,智能化引导
一、用户首次登陆引导页面:
用户首次登陆引导页面是指用户首次安装手机客户端软件的时候,针对软件本身的功能点和操作方式进行逐步的介绍和引导,让用户在较短的时间内掌握手机客户端的使用方法和操作特点甚至是了解手机客户端的核心功能。
二、为什么要做首次登陆用户引导页面:
大家在安装和使用手机客户端的时候,会发现有些客户端有简单的操作引导介绍,有些客户端没有。
有些设计比较简单,操作比较容易上手的手机客户端可以略去,但是若产品本身操作复杂,面对的用户年龄覆盖面较广的时候,就很有必要设计用户引导页面。
总结有一下几点原因:
1、客户端功能繁多,本身操作复杂。
2、客户端应用了新技术,新的操作模式,设计上与众不同,需要用户学习。
3、用户年龄层跨度较大,高龄用户较多,用户学习能力较弱。
4、产品知名度较低,产品核心功能隐藏较深,用户较难挖掘。
三、用户引导页面可以带来什么好处:
我们平时使用任何一种产品最讨厌的就是看产品使用说明书,但是若产品说明书比较简单,或者说明书比较人性化,我们是愿意看和学习的。
最恐怖的就是看一大本的产品使用说明书,当一个功能简单的产品,使用说明却超过十页,说明这个产品是比较失败的,至少用户的学习成本比较高。
所以,我们设计用户引导页面的目的在于:
1、降低用户的学习成本:
手机客户端产品和桌面产品的区别就在于手机客户端产品大部分设计都是有统一规范的标准的,且功能较单一,对于菜鸟用户是一个很方便的事情,他们乐于使用傻瓜式产品。
2、突显产品核心功能:
我们使用产品的时候,往往有这样的体验,用了很长一段时间都不知道它有某个很好很强大的功能,直到某一天一个人告诉你这个产品的某个功能可以很强大,你才恍然大悟觉得惊叹不已。
3、留住用户,解决用户流失问题:
我们知道初次见面的好感可以影响你对一个人的良好的态度。
用在客户端上也是同样的道理。
用户在首次安装一个应用的时候,如果在2—3分钟内,他还
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 天象 移动 客户端 定制 平台 技术 文档