Web App 的挑战
程序员文章站
2022-06-03 23:15:35
...
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的定义是:
我们来拆分一下这里面的几层含义:
二、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!
一、究竟什么是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有众多的优点
第一、使用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!
上一篇: MySQL数据库(5)_MySQL数据库视图、触发器
下一篇: Prototype 1.6.1发布
推荐阅读
-
jeecms的问题_html/css_WEB-ITnose
-
使用html5新特性轻松监听任何App自带返回键的示例
-
服务器-web资源分离的问题,求解答
-
php 简单的web get 请求处理
-
使用iphone或者ipad访问网站出现该网站app应用的html代码
-
使用WebSharper在Azure云中可基于Git部署的F#Web应用程序
-
关于微信订阅号获取openid的问题_html/css_WEB-ITnose
-
WEB-INF下的jsp页面用户不能直接访问如何解决
-
CSS中!important的用法和在IE6下的表现_html/css_WEB-ITnose
-
率先揭开无人机配送大战序幕 顺丰无人机的底气和挑战在哪里?