2012.04.09

HTML5 개발자를 더 복잡하게 만드는 신형 아이패드

John Cox | Network World
애플의 신형 아이패드가 고화질 디스플레이로 소비자들 사이에서 화재가 되고 있는 가운데 HTML5 개발자들은 골머리를 썩고 있다. 신형 아이패드의 iOS 5.1 운영체제는 HTML5 데이터 저장을 복잡하게 만들고 확장된 HTML5 지원을 제공하지 않을 뿐 아니라, 웹 성능은 기껏 해봐야 아이패드 2의 수준에 머무르고 있다.
 
이런 것들을 "퇴보"라고 보기는 어려우며, 그 누구도 애플이 종국에는 웹 기반의 앱이 네이티브 앱처럼 작동할 수 있도록 하는 새로운 웹 표준을 적극적으로 지원하지 않는 것에 대해 비판하지 않고 있다. 하지만 누군가는 애플의 결정 때문에 타협안을 선택할 수 밖에 없다.
 
센차(Sencha)는 HTML 5 툴 업체로, 지난 주 신형 아이패드와 iOS 5.1의 HTML 5 스코어카드(Scorecard)를 공개하면서 그 결과를 애플을 위한 "잡동사니"라고 언급한 바 있다. 센차의 수석 책임자 아디티아 반소드는 해당 업체가 매긴 점수는 얼마나 다양한 HTML5 요소가 존재하는지를 보는 완성도와 이런 요소들을 얼마나 잘 지원하는지 보는 정확성 등 두 가지 기준을 측정한 결과라고 말했다. 또한 해당 블로그 포스트에는 이 신형 태블릿의 웹 성능을 측정한 한 쌍의 웹 벤치마크 결과도 포함되어 있었다.
 
반소드는 "이것은 여전히 시장에 존재하는 최고의 HTML5 플랫폼이다. 하지만 우리는 [신형 아이패드에서] 이것보다 더 큰 발전을 기대했다. 대신에 우리는 선헤엄을 치고 있으며 심지어 약간 퇴보한 듯 하다. 때문에 애플에 약간 실망했다"라고 말했다.
 
복잡해진 웹 데이터 저장
2011년 초 iOS 5.1의 베타버전이 처음 공개되면서 HTML5의 로컬 데이터 저장기능 일부가 제한되었었다. HTML5 데이터 스토리지 기능을 이용해서 로컬에 저장된 데이터는 더 이상 OS에 의해 지속되는 것으로 인식되지 않는다. 이로 인해 로컬스토리지(localStorage) 또는 웹SQL을 저장 메커니즘으로 사용하는 이 기능을 사용하는 개발자들에게 문제가 발생했다. 반소드에 따르면, 해당 OS가 더 이상 이 데이터를 지속되지 않는 임시적인 것으로 인식하기 때문에 iOS는 메모리가 낮은 상황을 포함해 경고 없이 언제든 이것을 파괴할 수 있기 때문이다.
 
웹 개발자들은 지난 1월 이 변화를 인지하게 되었으며 다양한 온라인 포럼에서 이에 관한 논의가 진행되었다. 구글 그룹스(Google Groups)의 폰갭(Phonegap) 포럼에서 한 개발자는 최근 4월 1일에도 이런 문제가 발생했다고 글을 작성한 바 있다.
 
이 문제는 내장된 웹뷰(WebView)를 사용하는 iOS 앱의 하부 그룹(종종 하이브리드 앱이라 불림)에 영향을 끼친다. 반소드는 "웹뷰는 폰갭이나 센차 터치(Sencha Touch) 네이티브 패키징 등 네이티브 패키지 내부에 상주하는 HTML5 애플리케이션을 작동시킨다”라며, “이것들은 네이티브 애플리케이션 내에서 호스트 처리되는 내장 웹 브라우저를 제공하여 웹 앱이 네이티브 앱 스토어에서 배포되도록 허용한다. 웹뷰는 현대의 모든 모바일 운영체제의 기능이다"라고 설명했다.
 
iOS 5.1 이전에 웹뷰 앱은 HTML5 스토리지를 이용해 데이터를 로컬 상태로 저장하고 지속적으로 유지할 수 있었다. 구체적으로, 애플리케이션이 로컬스토리지 또는 웹SQL을 사용할 때 이것을 애플리케이션 데이터의 일부로 인식했다. 만약 새로운 앱 버전이 공개되더라도 이 데이터는 여전히 존재한다.
 
하지만 더 이상은 그렇지 못하다. 반소드는 "이것은 아마도 애플이 네이티브 [iOS] 코어데이터(CoreData) 스토리지에 저장되지 않은 것들을 아이클라우드로 안정적으로 백업하거나 동기화하지 못하기 때문일 것이다"고 짐작하고 있다. 폰갭 포럼에서 한 개발자는 "애플의 직원"이 이 변화의 이유가 "공간을 절약하기 위한 것이다. 왜냐하면 (트위터 등의) 앱이 UI웹뷰로 많은 콘텐츠를 로드하게 되면 [애플의 아이클라우드 서비스로 백업하기 위해] 많은 저장공간을 차지하기 때문이다. 하지만 그들은 사용자 데이터를 저장하기 위해 로컬스토리지 또는 웹SQL에 의존하고 있는 우리 불쌍한 폰갭 개발자들을 망각했다”라고 말했다.
 
반소드는 "앱 내에서 데이터를 저장하기 위한 메커니즘으로 로컬스토리지 또는 웹SQL에 의존하고 있는 개발자들에게 있어서 이 메커니즘을 파괴하는 것은 심각한 문제"라면서, “이것은 쇼 스토퍼(Showstopper)가 아니다. 근본적인 SQLite를 사용하는 폰갭-SQL플러그인(SQLPlugin) 등을 사용하거나 코어데이터(CoreData)로 연결되는 자신만의 자바스크립트(JavaScript)를 작성하는 등 다양한 우회적인 방법이 있다"라고 말하면서, 그는 이것이 일부 개발자들에게 있어서 앱을 다시 코딩 하는 것을 의미한다고 말했다.
 
사실 우회적인 방법을 사용하지 않는 앱은 데이터를 잃게 될 것이다. 예를 들어 앱이 더 이상 관련 사용자 데이터를 저장하지 않기 때문에 사용자들은 웹 사이트 로그인 정보를 반복적으로 잃게 된다.
 


2012.04.09

HTML5 개발자를 더 복잡하게 만드는 신형 아이패드

John Cox | Network World
애플의 신형 아이패드가 고화질 디스플레이로 소비자들 사이에서 화재가 되고 있는 가운데 HTML5 개발자들은 골머리를 썩고 있다. 신형 아이패드의 iOS 5.1 운영체제는 HTML5 데이터 저장을 복잡하게 만들고 확장된 HTML5 지원을 제공하지 않을 뿐 아니라, 웹 성능은 기껏 해봐야 아이패드 2의 수준에 머무르고 있다.
 
이런 것들을 "퇴보"라고 보기는 어려우며, 그 누구도 애플이 종국에는 웹 기반의 앱이 네이티브 앱처럼 작동할 수 있도록 하는 새로운 웹 표준을 적극적으로 지원하지 않는 것에 대해 비판하지 않고 있다. 하지만 누군가는 애플의 결정 때문에 타협안을 선택할 수 밖에 없다.
 
센차(Sencha)는 HTML 5 툴 업체로, 지난 주 신형 아이패드와 iOS 5.1의 HTML 5 스코어카드(Scorecard)를 공개하면서 그 결과를 애플을 위한 "잡동사니"라고 언급한 바 있다. 센차의 수석 책임자 아디티아 반소드는 해당 업체가 매긴 점수는 얼마나 다양한 HTML5 요소가 존재하는지를 보는 완성도와 이런 요소들을 얼마나 잘 지원하는지 보는 정확성 등 두 가지 기준을 측정한 결과라고 말했다. 또한 해당 블로그 포스트에는 이 신형 태블릿의 웹 성능을 측정한 한 쌍의 웹 벤치마크 결과도 포함되어 있었다.
 
반소드는 "이것은 여전히 시장에 존재하는 최고의 HTML5 플랫폼이다. 하지만 우리는 [신형 아이패드에서] 이것보다 더 큰 발전을 기대했다. 대신에 우리는 선헤엄을 치고 있으며 심지어 약간 퇴보한 듯 하다. 때문에 애플에 약간 실망했다"라고 말했다.
 
복잡해진 웹 데이터 저장
2011년 초 iOS 5.1의 베타버전이 처음 공개되면서 HTML5의 로컬 데이터 저장기능 일부가 제한되었었다. HTML5 데이터 스토리지 기능을 이용해서 로컬에 저장된 데이터는 더 이상 OS에 의해 지속되는 것으로 인식되지 않는다. 이로 인해 로컬스토리지(localStorage) 또는 웹SQL을 저장 메커니즘으로 사용하는 이 기능을 사용하는 개발자들에게 문제가 발생했다. 반소드에 따르면, 해당 OS가 더 이상 이 데이터를 지속되지 않는 임시적인 것으로 인식하기 때문에 iOS는 메모리가 낮은 상황을 포함해 경고 없이 언제든 이것을 파괴할 수 있기 때문이다.
 
웹 개발자들은 지난 1월 이 변화를 인지하게 되었으며 다양한 온라인 포럼에서 이에 관한 논의가 진행되었다. 구글 그룹스(Google Groups)의 폰갭(Phonegap) 포럼에서 한 개발자는 최근 4월 1일에도 이런 문제가 발생했다고 글을 작성한 바 있다.
 
이 문제는 내장된 웹뷰(WebView)를 사용하는 iOS 앱의 하부 그룹(종종 하이브리드 앱이라 불림)에 영향을 끼친다. 반소드는 "웹뷰는 폰갭이나 센차 터치(Sencha Touch) 네이티브 패키징 등 네이티브 패키지 내부에 상주하는 HTML5 애플리케이션을 작동시킨다”라며, “이것들은 네이티브 애플리케이션 내에서 호스트 처리되는 내장 웹 브라우저를 제공하여 웹 앱이 네이티브 앱 스토어에서 배포되도록 허용한다. 웹뷰는 현대의 모든 모바일 운영체제의 기능이다"라고 설명했다.
 
iOS 5.1 이전에 웹뷰 앱은 HTML5 스토리지를 이용해 데이터를 로컬 상태로 저장하고 지속적으로 유지할 수 있었다. 구체적으로, 애플리케이션이 로컬스토리지 또는 웹SQL을 사용할 때 이것을 애플리케이션 데이터의 일부로 인식했다. 만약 새로운 앱 버전이 공개되더라도 이 데이터는 여전히 존재한다.
 
하지만 더 이상은 그렇지 못하다. 반소드는 "이것은 아마도 애플이 네이티브 [iOS] 코어데이터(CoreData) 스토리지에 저장되지 않은 것들을 아이클라우드로 안정적으로 백업하거나 동기화하지 못하기 때문일 것이다"고 짐작하고 있다. 폰갭 포럼에서 한 개발자는 "애플의 직원"이 이 변화의 이유가 "공간을 절약하기 위한 것이다. 왜냐하면 (트위터 등의) 앱이 UI웹뷰로 많은 콘텐츠를 로드하게 되면 [애플의 아이클라우드 서비스로 백업하기 위해] 많은 저장공간을 차지하기 때문이다. 하지만 그들은 사용자 데이터를 저장하기 위해 로컬스토리지 또는 웹SQL에 의존하고 있는 우리 불쌍한 폰갭 개발자들을 망각했다”라고 말했다.
 
반소드는 "앱 내에서 데이터를 저장하기 위한 메커니즘으로 로컬스토리지 또는 웹SQL에 의존하고 있는 개발자들에게 있어서 이 메커니즘을 파괴하는 것은 심각한 문제"라면서, “이것은 쇼 스토퍼(Showstopper)가 아니다. 근본적인 SQLite를 사용하는 폰갭-SQL플러그인(SQLPlugin) 등을 사용하거나 코어데이터(CoreData)로 연결되는 자신만의 자바스크립트(JavaScript)를 작성하는 등 다양한 우회적인 방법이 있다"라고 말하면서, 그는 이것이 일부 개발자들에게 있어서 앱을 다시 코딩 하는 것을 의미한다고 말했다.
 
사실 우회적인 방법을 사용하지 않는 앱은 데이터를 잃게 될 것이다. 예를 들어 앱이 더 이상 관련 사용자 데이터를 저장하지 않기 때문에 사용자들은 웹 사이트 로그인 정보를 반복적으로 잃게 된다.
 


X