资源描述:
《Html5与APP开发比较心得》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Html5与APP开发比较心得引言大量新生移动设备的兴起,改变了当今互联网的格局。在技术的发展上,HTML5会取代App应用吗?或者说能够在多大程度上取代呢?在HTML5规范中,已经加入了相机、磁力罗盘、GPS信息的支持。很多新兴浏览器也已经开始支持这些新特性。能否用一个统一的HTML5来替代Android和iOS并行开发的双重成本呢?详细分析了HTML5和本地App的优缺点。以下为文章原文:移动应用程序(App)和HTML5都是目前最火的技术,二者之间也有不少重叠Z处。在移动设备浏览器里运行的HTML5的Web页面,也可以重新打包成不
2、同平台上运行的Appo目前很多浏览器都有很好的跨平台支持性能,HTML5的Web方案,对开发者來说更为方便。完成一次开发,即可多平台使用。但这确实可行吗?目前,仍有许多原因,使开发者选择了App开发。很明显,很多人已经在这么做了。本文将详细分析这两种方案的优劣。1、功能丰富正方:App里可以开发岀更丰富的功能。我们把移动功能分成两类。程序本身和程序与系统的结合。比如在Android里,加入Widget图标或者通知提醒之类的。App对这两者都没问题。不用多说,这是肯定的。反方:虽然APP发展迅猛,但Web也正在迎头跟进。确实很多原生App
3、实现的功能是HTML5望尘莫及的。不管你的Web做的再好,如果停留在一个没有摄像头支持的沙盒屮,还是无法满足一些功能。幸运的是,现在没有这样的沙盒限制了。如果你需要你的Web來照相,可以做一个负责照像的App,再把你的Web打包进这个应用里面。开源的PhoneGap框架就是这么做的。但这种混合开发的问题在于,增加了项目的复杂性,而11不象传统Web那样可以直接在浏览器里运行。这个问题短时间内恐怕还无法解决。不过好在现在网络标准在不断的高速扩充,先进的浏览器也在一直跟进。Android3.1已经支持Camera了。iOS浏览器也开始支持W
4、ebSocket和设备方向检测了。总得来说,移动设备在发展,而Web也同样在快速变化。而口前也有5家主要浏览器开发商在改进现有标准,丰富新的功能。所以原生App在快速前进,同时,Web也在缩小差距。2、运行效率正方:原生APP速度更快。原生APP没有瓶颈,而且可以直接调用GPU加速、使用多线程。反方:现如今Web的速度已经很快,而月•多数应用不需要这么快的速度。这种说法有点落伍了。Chrome发布之时带来的JavascriptV8,给Web访问速度带來质的飞跃。而现在,计算速度变得更快了。图片处理引擎已经使用Web来加速。现在硬件加速也
5、已经开始。让我们看看用上硬件加速的Canvas的效果:V8BenchmarkSuite,version6&000FishlETank500FishlETank1000AsteroidBekHamsterDancmMr.PotatoGun6060606001530FramesperSecond(FPS)■GoogleChrome6.0,472.55■Chromium7.0.253.0with-enable-acceleraced-2d*canvasTestedonWindows7PCwitha3.0GHzCore2DuoandanNVid
6、iaGeForce98O0GT如果要开发3D游戏,或许速度还不够,但对于普通用户來说,新闻、邮件、时间管理、社交网络,这些用Web就已经足够。另外,越來越多的框架结合WebGL,可以发挥OpenGL的优势了。3、开发感受正方:原生APP易于开发。原生APP使用强壮的程序语言(Java,ObjectiveC,C++),适合编写复杂的程序,API丰富,在桌面环境可以方便的用模拟器进行测试。而Web程序的Runtime和乱七八糟的各路浏览器让人头疼不已。反方:一般來说WEB更简单一些,特别是需要兼容不同设备的时候。WEB最初的功能只限于文档展
7、示,而不是程序应用。更何况Web不只是静止的,HTML5,CSS3都给开发者极大帮助。虽然你喜欢C++,Java,Javascript,但是现在没人能否认Javascript也和前者站在同一擂■台上。浏览器/Runtime的互不兼容(碎片化),APP也存在同样的情况。用Java写了AndroidApp,然后又要面对iOS的ObjectiveCo此外还有WebOS,BlackBerry,WindowsMobile等。如果能写一个程序,马上能在所有平台上运行,这该多么方便啊。当然,这只是一个理想。要是想让程序在每个平台都能正常的运行,就要做
8、不少调试和妥协。这对很多原生APP也是一样的。所谓的Web碎片化,一直都是如此。但好消息是现在已经有很多不错的解决办法。比如Modernix库就可以帮你兼容一大批主流设备,不管是哪种系统平台。有兴趣的话,你