web app 的挑战

来源:互联网 发布:数控编程的步骤 编辑:程序博客网 时间:2024/05/16 10:05
Web App概念的兴起,起源于HTML5标准的逐渐成熟和大型互联网公司的推动。这其中包括百度的框计算、谷歌运行于Chrome上的Web App Store以及Facebook的HTML5项目“斯巴达”(Project Spartan)。前两个项目当前主要侧重于PC端,而Facebook的Spartan可以说主要是瞄准了移动端的用户市场。 


一、究竟什么是Web App? 


很多人从Web App字面上认为它就是运行在网页上的应用。可普通用户很难理解:应用是App,网页是Web,两个不同的东西是怎么结合呢?另外,综合当前的软件和硬件环境来看,显然不是所有的应用都能跑在网页上的。还有,应用要有应用的“样子”,Web App和普通的网页在UI和UE层面有比较大的差别……这种种的区别和不解造成的疑惑,让很多人认为Web App就是更像应用的WAP。那到底什么是Web App? 


维基百科上Web App的定义是: 
引用
A web application is an application that is accessed over a network such as the Internet or an intranet . The term may also mean a computer software application that is coded in a browser-supported language (such as JavaScript, combined with a browser-rendered markup language like HTML) and reliant on a common web browser to render the application executable.


我们来拆分一下这里面的几层含义: 


Application:应用,为用户完成一个或多个功能而设计的程序。
Internet or Intranet:运行于广域网或局域网之上。
Browser-supported language:使用浏览器支持的语言。
Web browser:运行于标准的浏览器解析引擎上。
移动端Web App和WAP有什么不同?最直接的区别就是功能层面。WAP更侧重使用网页技术在移动端做展示,包括文字、媒体文件等。而Web App更侧重“功能”,是使用网页技术实现的App。总的来说,Web App就是运行于网络和标准浏览器上,基于网页技术开发实现特定功能的应用。 


二、Web App有众多的优点 






第一、使用W3C标准的HTML语言开发,能够轻松实现跨平台,移动应用开发者不再需要考虑复杂的底层适配和跨平台开发语言的问题。与此同时,使用HTML来开发的Web App在投入上会大大的低于传统的Native App。 


第二、基于当下开始普及流行的HTML5,Web App可以实现很多原本Native App才可以实现的功能,比如LBS的功能、本地数据存储、音视频播放的功能,甚至还有调用照相机和结合GPU的硬件加速功能。 


第三、移动应用的迭代周期平均不到1个月,用户不需要频繁的重新下载与升级。而Web App则无需用户下载,并且和传统网站一样可以动态升级。 


第四、Web App有App的特性,更有Web的特性。每一个Native App在当前的用户使用场景下是相对孤立的,而Web App则可以像传统互联网网页那样相互链接,从一个Web App直接跳转到另外一个Web App。这无论是从用户的使用体验层面还是从应用之间的数据传输来看都是非常不错的选择。 


三、Web App当前也有很多的缺陷 


1、首先是标准的规范尚未定案。 


Web App的实现需要多个层面的标准配套,如WAC标准、Device API标准以及HTML5标准。在这些标准都尚未完善之前,Web App还无法实现Native App的常用功能,如摄像头的调用。 


2、其次,不同浏览器支持的差异性将成为长久的问题。 


在PC端Firefox、IE、Chrome等浏览器虽然都遵循HTML标准,但最终展示效果仍旧会有偏差。在移动端这种情况只会进一步加剧。比如HTML5标准中对input的类型进行了定义,其中包括时间型如type=datetime。不同的浏览器展示出来的最终效果千差万别。另外,各个浏览器对CSS3的支持程度不同,这和Native App相比,成为比较大的弱势。 


3、最后,最大的问题就是移动设备浏览器的性能还不能支持与Native App体验媲美的Web App。 


体验不流畅和响应速度慢是Web App当前面临两个最大的硬伤。当前Web App主要使用第三方的JS框架来完成开发,其中国外比较知名的包括jQuery Mobile、Sencha Touch、JQMobi等。这些开发框架有着比较统一的特色,比如都是把代码写在一个网页文件内,不同的界面通过不同的DIV切换来展示。而这直接导致了Web App在界面切换过程中出现不流畅的情况。而这一问题必须随着硬件的发展和软件的优化来逐渐的完善。根据分析从存量智能手机和新手机发展的状况来看,想要从根本上解决这个问题,可能还需要等到2014年。 


四、总结 


面对Web App当前在优势和缺陷都十分明显的情况,开发者该如何选择?一方面是跨平台和低成本开发的巨大吸引力,另一面是似乎还缺少实用性。国内外开发者陷入到Native App VS Web App的巨大争论中。 


而正是在这样的环境下,Hybrid App(混合型应用)的概念被提出。这种兼具Native App和Web App的优势又能将两者的缺陷最小化的移动应用开发模式成了一种全新的选择。国内外知名的Hybrid App移动应用开发框架有Phonegap、Appmobi以及AppCan等。从2011年底开始,这些移动应用开发框架逐渐进入移动应用开发者的视野。面对这种全新的选择,开发者还需要更深入的了解。虽然从学习到实用还需要一个过程,但是终究不用仅仅局限于Native or Web这种二选一的困惑中。Hybrid App正在悄无声息的挑战着Native App 和 Web App! 
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机店积分换手机被贷款怎么办 心悦俱乐部礼包已过期是怎么办 心悦兑换的东西不是账号绑定怎么办 心悦会员绑定的手机号不用了怎么办 想在京东商城开个网店怎么办呢 京东买了东西收货了不想要了怎么办 京东转卖的商品有问题怎么办 如果衣服下架了然后有退货怎么办 想买二手车可没有懂车的人怎么办 买车的时候异地车牌回家怎么办 天猫下单显示下单人数太多券怎么办 英雄联盟进入游戏后无限崩溃怎么办 打开电视显示百度影棒打不开怎么办 家里路由器网速一会快一会慢怎么办 用快看影视下载电影网速太慢怎么办 苹果手机下载东西网速特别慢怎么办 网上买重庆时时彩输了很多钱怎么办 找不到自己在哪个平台借过钱怎么办 九游账号绑定手机之前绑定的怎么办 九游充过钱的游戏忘了游戏名怎么办 百度网盘密码忘了申诉不了怎么办 手机号被别人注册了百度账号怎么办 快手被盗找回时出来重置密码怎么办 魅族账号密码和密保都忘记了怎么办 vivo账号的密保问题忘了怎么办 oppo账号密保问题忘了怎么办 小米手机刷了机忘了账号密码怎么办 忘了小米账号的密码是多少怎么办 千牛账号在手机上被限制登录怎么办 违规的千牛账号被限制登录了怎么办 苹果id和锁屏密码忘记了怎么办 感应门的编程密码忘记了怎么办 交易猫买的号被找回了怎么办 uc上我的小说看不了怎么办 微信零钱忘记密码没有银行卡怎么办 九游平台冻结提不了现怎么办 计算机考试报名登录名忘记了怎么办 云顶扑克提现怎么提不出来怎么办 微信正在下载一直0kb怎么办 守望先锋运行时出现意外错误怎么办 信用卡暂停使用怎么办还能恢复吗