* 원 저작자에게 허락을 받고 요약, 개인적인 기록의 형태로 남겨둡니다.
* 나름대로의 의견이 들어가 있을 수 있습니다. 오역, 기타 문제 있을시 연락주세요
 


iOS 4.3의 사파리에서 새로운 점

지난 버전(4.2)에서는 가속도 센서를 이용한 DeviceMotion API와 완전한 서버-클라이언트 통신을 지원하는 WebSockets과 같은 새로운 HTML5 기능들이 추가되었었다.

그러나 이번 버전에서는 별다른 변화나 새로운 API는 없다.
여전히 파일 업로드나, Web Workers, WebGL에 대한 지원은 없다. 이부분은 확실히 Apple이 의도적으로 제외시켰다고 본다



Nitro의 성능


사파리는 내부 core에서 커다란 변화가 있었다. Nitro라는 새로운 자바스크립트 엔진을 선보였는데, Apple의 주장에 따르면 이전에 비해 2배까지 빠르다고 한다.

추가 : Nitro 엔진으로 변화된 성능을 확인하기 위해서는 오직 브라우저에서만 가능하다. 네이티브 app에 들어간  UIWebView 나 Phonegap이나 다른 기타 브라우저에서는 확인할 수 없었다. ( 4.2, 4.3 모두에서)

추가2 : apple-mobile-web-app-capable 메타 태그를 사용한 경우에도 Nitro엔진이 동작하지 않는걸 확인할 수 잇엇다.

Sun Spider JavaScript Benchmark tool  에서 테스트 해봤을때 거의 2.5 배의 성능 향상을 보였다.
--이 부분에 대한 내용은 하단에서 좀더 자세히




HTML5 video와 AppleTV


<video src="" x-webkit-airplay="allow"></video>

x-webkit-airplay속성을 사용하여 airplay를 사용할수 있다.
---이하 이부분은 생략합니다. 원문을 참조해주세요--
 

CSS Variables

CSS부분에선, iOS4.2용 사파리부터는 variable rule을 지원했엇다. variable rule은 변수를 선언하고 값을 저장하는 방식을 제공했었다..(비표준). iOS 4.3에서는 이 기능 없어졌다

CSSRule 
 가능한 모든 CSS rule을 object의 상수로서 보여주는  웹킷에서 제공하는 자바스크립트 인터페이스다.
 
ex  ) CSSRule.FONT_FACE_RULE 
4.2의  CSSRule.VARIABLES_RULE 방식은 이제 안쓰인다.!





 

Nitro 엔진

Nitro Engine은 확실히 2x이상의 향상된 성능을 보여준다.

그래서 다들 이렇게 생각할 것이다. "이것이 사파리에 적용되었다면, 당연히 앱에 들어간 UIWebView에서, phonegap을 사용한 하이브리드 앱에서도 2배 이상의 성능향상을 보여줄 것이라고"
하지만, Nitro는 오직 기본 Safari에서만 동작한다.

Safari: URL창을 입력할 수 있는브라우저 모드 상태

UIWebView에서의 Nitro 

여러가지 테스트를 통해서 UIWebVIew에서 Nitro가 동작하지 않는다는사실을 발견했다.
UIWebVIew : iOS SDK에 포함된 UIKit중에 web을 띄워주는 컨트롤. Webkit engine이 사용되어있음

UIWebView는 많이 쓰이고 있는데, 대표적인 예로는
  • HTML5 content 가 포함된 앱(ex. 매거진이나 뉴스앱
  •  Twitter for iPad처럼 빠른 웹 브라우징 기능이 포함된 앱
  • 브라우저 앱 - (ex. SkyFire)
  • PhoneGap 이나 다른 Full-HTML5 하이브리드 앱 
추가 : 현재 UIWebView에 Nitro가 들어가지 않은 이유는 보안과 커널문제로 추측된다.(참조 : http://news.ycombinator.com/item?id=2318028 )


풀 스크린 앱에서의 Nitro 
iOS에 내장된 사파리는 안드로이드나 노키아, 블랙베리에서 지원하지 않는 많은 기능을 제공한다. 특히 "홈 스크린에 추가"를 통해 풀스크린 모드로 웹을 앱처럼 동작하도록 만들 수 있다.( 
apple-mobile-web-app-capable 태그를 사용하여)
그런데 여기에서도 Nitro엔진이 돌아가지 않는다.(직접 확인해 볼 수 있는 링크 : http://ad.ag/pjmamj using an iOS 4.3 device )
여기에 iPod Touch 4G에서 기본 safari로 띄운 것(4.2초)과 홈 스크린에 추가(10.2초) 후 띄운 예제이다.


 
 


앞으로?
사실 지금까지 애플의 웹앱이 가장 잘 동작해왔지만 앞으로 애플이 웹앱을 지양한다면 웹개발자들에게는 조금 힘들어질지도 모른다는 생각이 있지만, 사실 지금 상태로 당장 더 빨라지지 않아도 무리는 없을거라 본다.
안드로이드에 비해 사실 월등이 빨라보이고 최소 1년간은 현재 퀄리티면 .... (나는 만족하는 사용자들은 어떨지)
빨리 안드로이드도 애플의 웹앱 퀄리티가 나올 수 있으면 좋으련만..
구글이 해결해 주리라 믿어본다. :)

Reference: 
1)http://www.mobilexweb.com/blog/safari-ipad-iphone-4-3
2)http://www.mobilexweb.com/blog/apple-phonegap-html5-nitro
3)
http://www.theregister.co.uk/2011/03/15/apple_ios_throttles_web_apps_on_home_screen/ 
Posted by Arkind :