|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Model的改变最好通过Notification来传播之前吃过这样的亏最好不要用delegate模式)UIViewController
<br>
1、webApp的宿世当代
webApp是把用户的扫瞄器看成客户端,接纳开放的web手艺,完成某一特定功效的web使用。假如我们把用户终端上的使用举行分类,次要能够分为三类:
(1)传统使用程序
(2)传统Web使用
(3)webApp
其模子以下图:
<br>
个中传统使用程序是最盛行的一种使用形式,多用C,C++,Pascal(Delphi)等言语开辟,具有速率快,API丰厚,开辟情况成熟等上风,乃至连扫瞄器自己也是一种传统使用程序。
传统Web使用因为接纳开放的WWW尺度及手艺,得以敏捷提高,其资本数目呈不成把持的爆炸式增加,比拟传统使用程序,其内容丰厚,冗杂,必要用户有针对性的鉴别,它在手艺方面因为接纳一致的尺度,开辟更加敏捷,兼容性强。
webApp是对RIA(RichInternetApplication)理念的进一步开展,在扫瞄器真个手艺还不是那末壮大的时期,就出现了很多完成RIA的框架,个中最乐成的的是Flash,Flex(FlashBuilder)和ExtJS,这些手艺至今还在进一步开展中,固然完成的体例分歧,但其理念是分歧的,都是努力于在扫瞄器上创立类客户端体验的“富”使用产物。
2、webApp与HTML5
HTML5将在webApp的退化史上留下浓墨重彩的一笔,HTML5是HTML4的扩大和晋级版本,今朝尚处于草案阶段,固然尺度制订者在手艺详细的完成体例和理念上争辩不休,形成了长久的凌乱场合排场,但小气向上人人仍是分歧承认的。比拟HTML4次要做了以下几个方面的改善,推出扫瞄器配合遵守的尺度,如:
1)数据传输的尺度(CORS,webSocket)
2)播放音频视频的尺度(<Audio>,<Video>)
3)语义化标签及改进表单的尺度(<Section><Header><Footer><Form>)
4)数据离线存储的尺度(localStorage,sessionStorage,webDB,offlineApplication)
5)画图的尺度(<Canvas>,webGL)
6)API改善(WebWorker,HistoryAPI,GeoLocation)
别的另有一些不属于HTML5草案计划局限内的扫瞄器公有手艺,如FirefoxJoystickAPI和chrome的NativeClient,Gears(已放弃),HTML5似乎就是为了webApp而出生的。
苹果公司的新产物iPhone和iPad则决然决意不撑持Flash,并把HTML5作为在挪动平台替换Flash的次要手艺推向汗青舞台,并博得了最初的成功,Flash的具有者Adobe公司于往年11月公布保持挪动平台的Flash产物,转投HTML5。HTML5今朝正在热火朝天的开展着,成为webApp新的催化剂。因为HTML5作为开放尺度,能明显削减开辟事情量,并供应跨平台的兼容,将对webApp在将来的开展起着相当主要的感化,同时这类新兴收集使用程序形式也将对将来的互联网发生深入的影响。
固然云云,HTML5与webApp的干系相称于燃料与汽车,即便不利用HTML5我们仍然能够制造高质量的webApp,如利用jQueryMobile框架,该框架会对不撑持HTML5的扫瞄器举行升级撑持,效果一样杰出。而Palm公司的webOS体系更是将webApp的理念开展到了极致。
<br>
4
<br>
上图中,Bing舆图为webOS中的内置使用,Google舆图是webApp,不管是从用户体验,仍是表面,二者的区分在webOS框架的撑持下显得微乎其微。
3、webApp在桌面上的使用
webApp今朝在桌面情况和挪动设备情况都有使用,GoogleDocs和Office365是桌面情况下旗舰级webApp,二者都专注于多人合作办公。在Chromewebstore里,我们能够容易找到很多优异的webApp,如webQQ,豆瓣音乐,离线Gmail等。据第三方检测机构官方数据[1],停止本文完成时,webstore的总用户数已打破5万万年夜关,webApp数目靠近15,000款(不含扫瞄器扩大),此时距webstore的公布工夫2010年12月仅一年的工夫,足见webApp的受接待水平。现实上,本文的撰写也保持利用桌面版Office,改用googledoc完成,它可让我在任何终端上延续不休的完美文章内容,我已垂垂习气并喜好上了这类新型的随时随地的办公形式。
腾讯公司的Q+,实践上也能够看做是别的一种情势的webApp,它更像是桌面平台的webOS,在手艺层面则更像是传统使用程序与webApp的夹杂体,个中webApp所占的比主要更年夜一些,与360webApp比拟,它撑持HTML5的内核和V8JS引擎,有这些手艺的强力驱动,信任更能吸援用户,也更吸引开辟者为Q+开辟使用。
总之,互联网服务历经了web1.0-用户主动承受信息,web2.0-用户自动制造,分享,发明信息时期,如今已转而进进专注,细分互联网服务的时期,使用功效加倍专注并云端化,用户也入手下手寻求更好体验和享用无缝的信息服务,webApp可以很好的胜任这个脚色。我们如今已能够在扫瞄器中举行交际,游戏,办公,浏览......
<br>
<br>
<br>
4、webApp在挪动平台的开展
据市场调研机构strategyanalytics于12月7日公布的研讨呈报[2],到2013年,撑持HTML5的手机将到达惊人的10亿部,在中国的智妙手机发卖量将到达靠近1亿部。
<br>
今朝在智妙手机市场iPhone,Android,WindowsPhone7三年夜支流操纵体系已告竣三分操纵体系市场之势,其内置的扫瞄器无一破例的撑持HTML5手艺,这给了webApp在挪动平台的开展可贵的时机。原本站在最前沿的webOS固然没有博得一席之地,但它做为开辟者,以超前的理念仍旧在影响着挪动服务的将来。
各类盛行的桌面互联网服务,都入手下手结构手机终端市场,如出名的evernote,dropbox等服务,同时各类游戏App也入手下手在挪动平台上开展,如在iPad上运转的QQ斗田主。
<br>
但挪动设备上的webApp究竟只是处于起步阶段,并且假如只范围于扫瞄器窗口,将很难取得年夜的开展。挪动平台上的扫瞄器最好只是作为webApp无形载体的一种体例,挪动设备webApp的展示最好分离NativeUI举行一次包装,如利用phoneGap如许的工具,如许扩大性更会强,用户体验会更好。
不外,不论webApp在挪动平台上以那种情势存在,都无妨碍它今后成为挪动平台使用的主力军,这些使用的面前,是不可胜数的现有互联网产物,和数以亿计的挪动终端用户。
5、webApp与微博开放平台
微博开放平台是腾讯最早入手下手动手建立的开放平台之一,我们一向努力于打造一个不乱,可托赖,令开辟者能够便利,高效的开辟微博使用,丰厚腾讯微博内容,以进步腾讯微博用户活泼度为主旨的平台。为撑持微博wenApp的开展,我们领先完成了OAuth2.0协定中的一个子协定,并对其举行得当的改善,并封装了一套面向webApp开辟者的微博接口挪用库(Open-JS)。比拟OAuth1.0,它可使开辟者能够加倍疾速,无效,便利的存取微博数据,并与使用本身的背景程序举行交互,制造优异的微博webApp。
(1)OAuth1.0与OAuth2.0
OAuth1.0与OAuth2.0都是一种受权协定,开放平台上的第三方使用,不克不及间接会见和操纵该用户的数据,除非失掉该用户的受权,这个受权历程的完成体例的一种就是OAuth。这里不盘算具体的先容这两种协定的详细的手艺细节,对此有乐趣的能够在OAuth官网长进行进一步懂得[3],我们着眼于发掘其优弱点。
OAuth1.0协定过于注意平安性,使全部流程显得十分庞大,请求使用必需装备背景服务器,并运转公用的SDK举行受权,这关于webApp的完成不甚友爱,并且数据必需经由使用背景服务器传输直达,损失了必定的效力。因而OAuth2.0对OAuth1.0举行了改善,提出了一种新型的受权形式,在该形式的撑持下,使用不再请求必需装备背景服务器,并取得了从用户扫瞄器端间接与开放平台举行数据交互的才能。二者的数据交互模子以下图:
<br>
我们能够看出,OAuth1.0受权协定下,数据流必需起首从用户扫瞄器起首流向使用自己的服务器,该服务器对此次哀求举行署名后再流向开放平台服务器,开放平台服务器考证署名,前往数据给使用背景,使用背景前往给扫瞄器,这仅仅是挪用一个开放平台API的流程,假设一个使用必要挪用很多API,这类体例就发生了极年夜的华侈并拖慢了呼应速率。利用OAuth2.0协定,数据流有才能间接从用户的扫瞄器端,流向开放平台的服务器,然后数据间接前往给扫瞄器,直不雅而复杂无效,没无数据直达的历程,也没有对数据署名的历程,节俭了CPU,固然使用也能够与本身的背景举行数据交互。固然协定自己只是骨架,假如没有一个壮大的库来撑持它的话,也只能是无本之木,侥幸的是,我们为开辟者供应了Open-JS。
(2)Open-JS
Open-JS是基于OAuth2.0协定供应给开辟者挪用的库,这个库可使开辟者以JS函数挪用的情势轻松完成微博用户的受权,存取微博数据等义务,兼容桌面平台与挪动平台的全体扫瞄器,其函数接口接纳流利,人道化计划,使开辟者能够轻松完成微博使用,助力微博webApp的开辟。我们利用Open-JS制造了两款webApp,能够在各类平台的扫瞄器下体验:
1)2)(注:AppKey处输出800000006便可)
微博开放平台API接口挪用展现
微博开放平台接口呼应速率测试
对利用Open-JS开辟webApp有乐趣者,能够查阅(3)一些立异
具体文档
①Auth1.0与OAuth2.0的分离
OAuth1.0与OAuth2.0本色上是两种完整分歧的受权机制,在OAuth1.0受权协定下,第三方使用能够取得永世无效的accessToken,而OAuth2.0协定下只能取得一时无效的accessToken。一些已利用OAuth1.0的协定的使用,能够疾速的切换到OAuth2.0下去,我们供应对应的接口,试使用凭OAuth1.0协定取得的accessToken能够互换到OAuth2.0的accessToken,完整买通了两种协定。
②同步QQ登录态
OAuth2.0接纳的是一时accessToken与refreshToken分离的体例保持用户的受权形态,最坏的情形是accessToken与refreshToken全体生效,这时候我们即可以依据用户的QQ登录态,和uin的受权信息,选择为使用主动下发一时时accessToken,制止用户从头登录受权的烦琐历程。
③多域名API撑持
扫瞄器都有对统一域名下资本的哀求并发数限定,这也是为何要利用CDN的缘故原由之一。我们为开放平台API的服务器举行了多域名镜像(计划中),能够制止此成绩。
6、综述
webApp是RIA理念的延长,是互联网市场成熟后的细分的产品,是引领手艺刷新的新潮水。在挪动平台市场延续扩展和HTML5手艺渐渐提高成为新尺度的背景下,不管是桌面平台仍是挪动平台,webApp使用一定以多种情势存在并在互联网产物中占有一席之地。
继承自相应的不可变类比如NSMutableArray继承自NSArray他们都添加了可以改变对象内容的方法比如-(void)addObject:(id)anObject添加对象-(void)removeObject:(id)anObject删除对象上面只是一个大概的总结 |
|