웹앱도 설치해 쓰는 시대 온다

일반입력 :2014/09/29 17:47

인터넷이 끊긴 브라우저로 애플리케이션(이하 '앱')을 쓸 수 있게 해줄 웹표준 기술이 한창이다. 제대로 되면 웹앱을 브라우저에 '설치'하고 오프라인 환경에서 일부 기능을 사용하는 일이 가능해진다. 일반 사용자들에게 웹이 현대의 운영체제(OS)를 대신할 수 있게 된다는 얘기다.

웹표준화단체 월드와이드웹컨소시엄(W3C)의 이원석 대한민국관심그룹(KIG) 의장은 최근 열린 삼성오픈소스컨퍼런스(SOSCON)에서 브라우저업체 모질라와 구글의 참여로 표준화가 한창인 기술 '서비스워커(Service Workers)'를 소개하며 이같은 전망을 구체적으로 제시했다.

이 의장은 비행기 안에서 인터넷 안 되는 노트북으로도 아웃룩을 띄우면 저장된 메일 관리나 새 메일 작성을 할 수 있는데, 웹메일은 그렇게 할 수 없다며 네트워크가 끊겼을 때 오프라인 사용을 못 하는 게 웹의 약점이었는데, 이를 극복하기 위해 웹에 오프라인 환경을 지원할 수 있게 해주는 서비스워커 표준 지원 작업이 활발하다고 말했다.

서비스워커는 브라우저에서 돌아가는 웹앱을 아웃룩같은 네이티브앱처럼 쓸 수 있게 해 주는 기술이다. 네트워크 연결에 의존하지 않고 사용자 PC에 저장된 데이터를 다루는 작업을 할 수 있다. 온라인 상태에서도 먼저 사용했던 웹앱을 다시 실행할 때 필요한 파일을 인터넷이 아니라 사용자 PC에서 불러내 시간을 아껴 주기도 한다.

이 의장은 서비스워커는 웹 리소스 중 캐싱(caching)할 대상을 지정해서, 지정된 걸 단말기 저장소에서 불러들이고, 없는 것과 나머지 리소스를 온라인에서 가져오게 한다며 과거 HTML5 표준에 '앱캐시(AppCache)'란 규격이 이런 일을 했었는데 개발자들로부터 잘못 만들어졌다는 피드백을 많이 받아 (서비스워커로) 재작성된 것이라고 설명했다.

그에 따르면 서비스워커 규격은 모질라와 구글을 통해 활발히 개발, 구현되고 있다. 정식 표준화 이전에 파이어폭스와 크롬 브라우저에 서비스워커 표준 기능이 대거 탑재될 가능성이 높다. 개발자들이 이를 활용한 웹앱을 만들어 사용자들로부터 인기를 얻는다면 '오프라인 웹앱' 확산을 촉진할 것으로 보인다.

서비스워커는 웹앱을 오프라인에서도 쓸 수 있는 네이티브 앱처럼 만들어줄뿐아니라, 설치하지 않고도 실행되는 기존 웹앱의 특성도 더욱 강화해 준다는 점에서 파괴력이 높은 기술이다. 네이티브 앱은 수정이 이뤄질 때 매번 다시 설치해야 하기에 불편한 반면, 웹앱은 수정된 부분만 새로 내려받으면 된다는 점에서 편리하다.

이 의장은 여러 사람이 참여하는 온라인 게임을 예로 들면, 네이티브 앱 기반에선 2명이든 10명이든 모든 참여자가 프로그램을 모두 내려받고 매번 최신화 상태를 유지해야 함께 즐길 수 있다며 서비스워커로 구현된 웹앱 온라인 게임이 있다면 그 실행을 위한 온라인 주소(URL)만 공유하는 걸로 함께 즐길 준비가 끝난다고 대조했다.

서비스워커 역할이 단순히 웹앱을 오프라인에서 실행되게 하고 온라인에서는 설치된 상태에서 더 빠르게 돌아가게 만들기만 해주는 건 아니다. 기존 웹앱이 더 나은 사용 경험을 제공하게 할뿐아니라 브라우저의 범주를 벗어나서도 동작할 수 있게 해준다. 이는 '백그라운드 실행' 기능이라 불린다.

백그라운드 실행은 사용자 PC에 브라우저 화면이 떠 있지 않은 상태에서도 서버의 푸시(Push)형 정보를 받아 처리할 수 있게 해준다. 스마트폰 메신저의 푸시 알림처럼 앱을 안 띄운 상태에서 특정 안내를 받고 실행 단계로 넘어갈 수 있다는 뜻이다.

이 의장은 푸시 서비스란 네이버 메신저나 쿠팡 상품광고나 은행 계좌이체의 안내 등, 서비스 운영사 서버에서 보낸 알림을 사용자에게 보여주고 그 앱을 바로 실행되게 하는 것이라며 네이티브 환경에선 원래 가능했는데, 웹에서는 불가능했지만 서비스워커 도입으로 가능해질 전망이라고 설명했다.

사용자 브라우저의 렌더링 엔진과 자바스크립트 엔진이 실행 중인 상태여야 서버 쪽의 푸시를 처리할 수 있다. 브라우저가 실행 중이지만 사용자 인터페이스(UI)가 화면에 안 띄워진 상태에선 처리가 안 된다. 그런데 서비스워커는 UI가 안 뜬 상태에서도 자바스크립트 코드를 처리해 준다.

서비스워커가 언제 광범위하게 도입될 것인지는 미지수다. W3C 사이트에 지난 5월 8일 초안(Working Draft) 문서가 게재됐고 지난해부터 삼성전자의 송정기 수석과 구글의 알렉스 러셀, 2명의 편집자가 초안 편집과 기트허브 서비스워커 프로젝트의 표준규격 문서 작성 활동을 활발히 벌여 왔다.

이 의장은 서비스워커 규격은 웹앱 사용 경험을 매우 향상시킬 수 있으며 향후 '플랫폼으로 발전해 가는 웹'의 비전을 보여주는 혁신적인 기술이라면서 (올해 최종 표준안 확정이 예고된) HTML5 규격과는 별개라고 언급해 표준 확정 시점은 아직 확실치 않음을 시사했다.

관련기사

한편 서비스워커 기술에 대한 세부 내용은 29일 서울 롯데호텔에서 진행중인 네이버 개발자컨퍼런스 '데뷰(deview)' 세션 강의를 통해서도 전해졌다. W3C 서비스워커 표준 편집자인 삼성전자 송정기 수석이 행사 트랙C 첫 시간대(10:00~10:45)에 서비스워커 주제 강연에 나섰다. 그의 발표 자료를 슬라이드셰어 사이트에서 내려받을 수 있다.

그는 강연 소개 페이지에서 서비스워커가 제공하는 캐시API를 통해 미리 저장한 자원을 네트워크연결 없이 페이지에 반환할 수 있어 '오프라인퍼스트' 웹앱 작성을 위한 필수 기능으로 활용될 것으로 예상한다며 세계 브라우저 개발자 및 웹개발자들의 많은 관심을 받고 있고 크롬36 이상과 파이어폭스 나이틀리 버전에서 일부 기능을 제공한다고 설명했다.