隨著iPhone4s的發(fā)布,iOS5也正是發(fā)布了,增加了很多很有用的新特性,不過對于前端開發(fā)者來說,最關(guān)心的還是瀏覽器,讓我們來看一下蘋果為iOS5中的safari新增了哪些新特性吧。
CSS
- 終于支持position:fixed了;
- 支持overflow:scroll了,通過-webkit-overflow-scrolling: touch;來實(shí)現(xiàn):
1 2 3 4
selector{ overflow:scroll; -webkit-overflow-scrolling: touch; }
- CSS3 gradient語法更新,將-webkit-gradient(linear|radial)拆分為,-webkit-linear-gradient和-webkit-radial-gradient。PS,年初發(fā)表過一篇關(guān)于《webkit對于CSS3漸變樣式語法的更新》的文章,看來現(xiàn)在就剩下android的webkit了。
HTML5
- 新的兼容HTML5的解釋器(parser)
- 表單增強(qiáng)新增時間類型date, datetime, month, time和range支持,好贊:
同時iOS5中safari也增強(qiáng)了number類型的input的驗(yàn)證功能。
- 支持web workers,傳說iOS3中短暫出現(xiàn)過web workers,不過后來消失了,現(xiàn)在又回來了。。。
- 增強(qiáng)ECMAScript5,測試結(jié)果顯示支持情況跟上PC版的Safari 5.1了。
- 終于支持contenteditable屬性
- 支持async script
其它特性:
- HTTP Pipelining支持,Android中webkit和Opera都支持了,Mobile Safari也跟進(jìn)了。想要具體了解的可以看下這里和這里。
- inline SVG
- UIWebView 和主屏幕webapp升級到Nitro引擎(看下面的測試數(shù)據(jù))
- 支持MathML
- CSS和其它文件不再并行下載,這貌似挺悲劇的,不過我很感興趣這和HTTP Pipelining的關(guān)系。。。
- GPU硬件加速,雖然這個之前也有,但是效果并不是很顯著,現(xiàn)在,在微軟用于標(biāo)榜IE9硬件加速的測試中,iOS達(dá)到了40FPS,而Windows Phone 7是24FPS,Nexus 2則只有可憐的10FPS——iOS4中只有2FPS。。。
一些測試數(shù)據(jù)
- HTMLTest:267分,iOS 4.3中是206分
- Sunspider JS Benchmark,JS性能測試:
可見首頁webapp是用上Nitro引擎了,但是悲劇的是UIWebView的性能卻下降了。
PS:中間的home screen page,@Jeanne 美女說是主屏幕,不過我的理解就是webapp,如有更好的翻譯歡迎討論。
總結(jié)
可以看出iOS 5中Safari改進(jìn)還是蠻大的,而從最后webapp和UIWebView的性能測試來看,或許蘋果更加重視了webapp,而不太贊成 UIWebView+webapp的這種混搭的方式,雖然很多流行的app都是這種實(shí)現(xiàn),比如著名的PhoneGap框架和 Facebook/twitter等流行的在國內(nèi)不能用的APP。。