这些特性对促进HTML5开发很有帮助,我们挑选出其中重要的几条:
WebGL 3D Graphics
3D图形的硬件加速支持,对web开发者来说这无疑是一个非常重要的特性。我们很想看到这条特性在游戏中有更多的应用,不过它还有更多的其它用法,特别是在动画和变换的领域里。想快速了解它能干什么,点击 WebGL Sprite Particle Demo
CSS Shapes
能够控制文字层的形状,来形成更为多变的文字布局。
HTML模板
Web组件的基础元素之一。它让我们离真正的Web模块化和更多潜在应用又近了一步,我们将更少的依赖polyfill。
导航/更精确的计时API
多数人可能用不到,但对于测试来说是非常赞的特性。
IndexedDB
HTML5的Web SQL标准已不再维护并很可能在将来被废弃,使用IndexedDB将拥有很好的跨平台支持(iOS、Android、Chrome for Android、Safari、IE移动版等)。
SVG片段标示符
这个特性隐藏在神秘的名字下面,但相信我们,它是一个非常强大的特性。它能构建非常强大的向量化精灵表。这不仅在web游戏中非常重要,在动态图标和其他动态UI组件里也非常重要。
作为移动web开发者,你可能已经习惯于以最新浏览器特性为目标而开发了,我们知道苹果的升级系统能让iOS 8迅速普及,如果你的应用专门为iOS而开发,那么你现在就能利用像IndexedDB、SVG片段标示符等新特性了。如果你想兼容iOS 7或者进行跨平台开发,你能使用Sencha Touch内建的系统探测来利用这些特性。Sencha Touch让你能现在就使用这些新特性并逐步的淘汰旧代码。
全新的WKWebView
随着iOS 8的发布,我们同时痛并快乐着,因为iOS 8带来了一些碎片化的问题。iOS 8里面内建了两个原生的webview,第一个是我们知道并喜爱的UIWebView,它因为兼容性而保留下来,但幸运的是,苹果并没有简单的将旧iOS 7 UIWebView装进iOS 8里,而是升级了WebKit核心模块并发布了全新的WKWebView。WKWebView将被hybrid app所使用。它使用了Nitro JS引擎,经我们测试至少比UIWebView的性能高四倍。这将很有可能引领hybrid app获得巨大成功。不过,目前它还有一些影响所有人的重大bug,下面我们将谈到这一点。
不过好消息是从Web开发的远景看来,全新的高性能WKWebView向着正确的方向走了一大步。即使现在Javascript已经很少成为应用瓶颈,更典型的问题是动画和DOM重绘上,我们相信随着对DOM核心的实质化的改进,WKWebView将帮助Sencha Touch应用在性能上看到巨大的改进。
性能的全面提升
对版本升级的性能测试总是必要的,并且这一次我们发现了一些更有趣的结果。总体上来说,升级到iOS 8看上去对所有用户都有利的。这里有一些指标在iOS 8里稍微下降了,如Base64和代码调用。让我们来仔细的分析一下这些图表,来弄清楚它们都代表什么。
注意:所有测试都在第5代iPod Touch上进行,旨在找出iOS开发所需要面临的性能下限。
Source:http://octane-benchmark.googlecode.com/svn/tags/v1/index.html
这些测试里只有CodeLoad指标iOS 8的表现略低,CodeLoad是评价JS引擎在加载非常大的JS文件后需要花多长时间开始运行,这对于Closure和jQuery这样的库来说是需要引起注意的。
Source:http://dromaeo.com/?dom
实际的测试表现比图表上的还要好,Dom Query的巨大提升掩盖了其他几项其实也是提升很大的,其中Attributes提升122%、Modification提升65%、Dom Traversal提升48%,而Dom Query的提升则是惊人的308%。
Source:http://dromaeo.com/?cssquery
CSS选择器的测试,iOS 8也获得了全面的提升,Ext JS在简单的移到iOS 8 Safari之后即获得126%的时间提升。
需要注意的是CSS选择器使用的是Ext JS 3.x版本,而现在Ext JS 5.x版本已经发布,所以获得的提升还要更大。
Source:http://dromaeo.com/?dromaeo
这里Base64和Code Eval性能表现有了微小的下降,不过就像前面所说的,相对于对于JS引擎的效率来说,GPU合成才是更值得关注的,而且其他几项的提升也都非常大。
Source: http://ie.microsoft.com/testdrive/performance/fishietank/
这个测试结果已无需多说,它表明iOS 8在Canvas方面有非常大的改进。
Source: http://dromaeo.com/?cssquery
注意这个测试时iOS 8里面两个webview之间测试,WKWebView全面胜出。
Source: https://www.webkit.org/perf/sunspider/sunspider.html
Sunspider测试的结果相差不大。
Source: http://html5test.com/
HTML5测试表明了iOS 8在HTML5支持方面也有了明显提升,我们来简单的分析一下其中的重要结果:
· 无缝的iFrame从iOS 8里面移除
· IndexedDB被添加到iOS 8 Safari和WKWebView中
· IndexedDB目前不支持iOS 8 UIWebView和Homescreen app(设置主屏快捷方式的web app)
· Objectstore ArrayBuffer已经在iOS 8 Safari和WKWebView中生效(但是HTML5测试没能测出来,要不然测试得分将达到440分)
· Objectstore ArrayBuffer不支持iOS 8 UIWebView和Homescreen app
· WebGL 3D Graphics被添加到iOS 8 Safari、WKWebView、UIWebView和Homescreen app中
· UIWebView、WKWebView和Homescreen app的userAgent是完全一致的
尽管苹果为了保持WKWebView、UIWebView和Homescreen app有同一水平的可用性而做了不少工作,但其中的差异仍然造成了一些困扰,由于三者的userAgent是一样的,开发者需要自己去标示这三者并小心的使用新特性。
Bug说明
我们都知道没有软件的发布没有伴随着bug的,iOS 8也不例外。经过探索我们发现了3个主要问题,将影响大多数HTML5开发者。
WKWebView 无法加载本地文件
测试中WKWebView无法读取本地文件,这让使用PhoneGap/Cordova开发,能提供离线功能的应用失去了用武之地。比如,它不能加载本地的index.html,但访问Web网站的功能是好的。
XHR本地文件访问
在WKWebView中XHR无法将本地文件发送到Web,比如使用AJAX来提交系统图库中的图片将出现错误。
Homescreen app在锁定/唤醒后失去计时功能
WKWebView中Homescreen app在锁定唤醒之后带计时功能的函数将失效,如setTimeout、requestAnimationFrame等。
不过好消息是这些Bug仅影响WKWebView应用,如果使用iOS 8 UIWebView则不会受到影响。
即将到来
总之,我们非常高兴的看到iOS 8的发布,以及苹果在iOS 8上表明的对HTML5的态度,因为性能改进和新特性将极大的提升用户在iOS 8上使用Web App的体验。
Source: caniuse.com
如果我们看得更远的话,我们会发现iOS 8和Chrome for Android在一些卓越的新特性上有许多交叉,Chrome for Android其实已经部分的支持了WebGL 3D Graphics但一些旧的机型没有能力来驱动它。
总结
对Web开发者来说,iOS 8无疑是一个令人激动的发布,它拥有激动人心的新特性和重大的性能改进,将极大的促进HTML5跨平台开发。
相关推荐
iOS和macOS性能优化:Cocoa、Cocoa Touch、Objective-C和Swift(英文版)
1.通过蒲公英网站快速获取ios...2.登录苹果开发者社区 绑定测试iPhone/ipad 的udid 3.创建Identifiers标识符 4. 登录Appuploader申请iOS证书文件p12 5.创建与下载profile文件 6.打包ipa 7. Ipa 上传到蒲公英 发布测试
用HTML5开发iOS应用
资源名称:HTML5移动开发-面向iOS和Android平台内容简介:《新手学HTML5移动开发:面向iOS和Android平台》第1部分从第1章~第8章。第1章首先介绍了HTML4.01的基本原理,第2章通过生动且复杂的教程介绍了HTML5,其中...
深入剖析 iOS 性能优化 · ming1016:study Wiki1
ios 苹果自带api实现ocr。支持iphone,ipad,Mac(catalyst)
APP端性能测试不可缺少的软件哦,大家快来下载阅读吧。
iPhone苹果iOS app开发教程合集(iOS5,iOS8).zip
iOS苹果推送apns测试工具
IOS测试重点:那些功能点,那些使用技巧,日志、截屏等操作
iOS-Performance-Optimization:iOS 性能优化专题合集.zip,关于iOS 性能优化梳理、内存泄露、卡顿、网络、GPU、电量、 App 包体积瘦身、启动速度优化等、Instruments 高级技巧、常见的优化技能- Get — Edit
IOS签名证书 苹果签名w系统免费工具IOS签名证书 苹果签名w系统免费工具IOS签名证书 苹果签名w系统免费工具IOS签名证书 苹果签名w系统免费工具IOS签名证书 苹果签名w系统免费工具IOS签名证书 苹果签名w系统免费工具...
苹果iOS开发中文电子书推荐:5--iPhone开发秘籍中文实践教程PART1
音频直播-ios
《iOS开发实战:苹果生态圈编程卷(Swift语言版)》代码.7z
仿的苹果13官网,display:flex; 布局方式。 响应式布局@media screen and (max-width:970px),当符合条件时width:100%,中间导航栏通过display: none;实现隐藏,然后将苹果图标居中。 中间的内容有个过渡的效果,...
html5 IOS下拉框样式html5
HTML5与iOS交互,欢迎大家下载一起学习,共同探讨
苹果iOS开发中文电子书推荐:4--iPhone开发基础中文教程.part1
主要功能: 1、一键IOS免签封装; 2、免签IOS,自动生成下载二维码;...工作原理:直接调用苹果自带的Safari浏览器打开客户的H5网址的、所以也不会存在客户目标网站域名在微信或QQ打不开的问题以及不会掉签问题。