"메모리 사용을 1/100로"··· '프로그래시브 웹 앱' 확산
OSS
게시글 작성 시각 2017-07-03 09:05:48
2017년 6월 27일 (화)
ⓒ CIO Korea, Paul Krill | InfoWorld
일반적으로 네이티브 모바일 앱은 사용자 경험 측면에서 웹 앱 이상의 최신 기술을 사용해 왔다. 그러나 이런 이러한 흐름에 변화가 나타나고 있다. 프로그래시브 웹(progressive web) 앱이 등장했기 때문이다. 현재 구글과 모질라가 주도하는 기술로 주요 웹 속성과 개발 툴을 캐시하는 기술이다.
구글 크롬 팀의 애디 오스마니는 "트위터와 리프트 등 많은 거대 기업이 다시 웹으로 돌아오기 시작했다. 앱 오류를 최소화할 수 있기 때문이다"고 말했다.
트위터의 프로그래시브 웹 앱이 대표적이다. 트위터 라이트(Twitter Lit)라고 불리는 이 앱은 메모리를 1MB도 점유하지 않는다. iOS용 앱이 100MB 이상, 안드로이드 앱이 23MB를 점유하는 것과 비교하면 크게 사용량을 줄였다. 이와 같은 클라이언트 측 자바 스트립트 앱은 데이터를 더 적게 사용하고 푸시 알림을 지원하며 오프라인 상태에서도 사용할 수 있는 장점이 있다.
이런 기능을 지원하는 핵심은 서비스 워커(service workers)이다. 자바스크립트 기반의 클라이언트 측 프록시로, 브라우저 내에서 백그라운드 스트립트로 실행되며 네트워크 상태와 관계없이 지속적으로 앱을 호출할 수 있도록 한다. 또한 이런 앱은 네트워크 의존성을 줄이기 위해 핵심 리소스를 미리 캐시한다. 단 이 기술은 아직 개발 중인 단계다. 그래서 애플의 사파리 브라우저는 아직 서비스 워커를 지원하지 않는다.
하지만 웹 개발자가 프로그래시브 웹 앱을 만들 수 있는 툴은 오픈소스로 공개돼 있다. 오픈소스인 라이트하우스(Lighthouse) 툴을 이용하면 성능을 테스트할 수 있다. 리액트 자바스크립트 UI 라이브리리의 가벼운 대안인 프리액트(Preact)도 있다(리액트는 프로그래시브 웹 앱용으로도 사용할 수 있다). 실제 사례를 확인하고자 한다면 해커 뉴스 프로그래시브 웹 앱을 참고하면 된다.
구글 크롬 팀의 애디 오스마니는 "트위터와 리프트 등 많은 거대 기업이 다시 웹으로 돌아오기 시작했다. 앱 오류를 최소화할 수 있기 때문이다"고 말했다.
트위터의 프로그래시브 웹 앱이 대표적이다. 트위터 라이트(Twitter Lit)라고 불리는 이 앱은 메모리를 1MB도 점유하지 않는다. iOS용 앱이 100MB 이상, 안드로이드 앱이 23MB를 점유하는 것과 비교하면 크게 사용량을 줄였다. 이와 같은 클라이언트 측 자바 스트립트 앱은 데이터를 더 적게 사용하고 푸시 알림을 지원하며 오프라인 상태에서도 사용할 수 있는 장점이 있다.
이런 기능을 지원하는 핵심은 서비스 워커(service workers)이다. 자바스크립트 기반의 클라이언트 측 프록시로, 브라우저 내에서 백그라운드 스트립트로 실행되며 네트워크 상태와 관계없이 지속적으로 앱을 호출할 수 있도록 한다. 또한 이런 앱은 네트워크 의존성을 줄이기 위해 핵심 리소스를 미리 캐시한다. 단 이 기술은 아직 개발 중인 단계다. 그래서 애플의 사파리 브라우저는 아직 서비스 워커를 지원하지 않는다.
하지만 웹 개발자가 프로그래시브 웹 앱을 만들 수 있는 툴은 오픈소스로 공개돼 있다. 오픈소스인 라이트하우스(Lighthouse) 툴을 이용하면 성능을 테스트할 수 있다. 리액트 자바스크립트 UI 라이브리리의 가벼운 대안인 프리액트(Preact)도 있다(리액트는 프로그래시브 웹 앱용으로도 사용할 수 있다). 실제 사례를 확인하고자 한다면 해커 뉴스 프로그래시브 웹 앱을 참고하면 된다.
※ 본 내용은 한국IDG(주)(http://www.itworld.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒITWORLD. 무단전재 및 재배포 금지
[원문출처 : http://www.ciokorea.com/news/34651]
번호 | 제목 | 조회수 | 작성 |
---|---|---|---|
공지 | [Open UP 활용가이드] 공개SW 활용 및 개발, 창업, 교육 "Open UP을 활용하세요" | 435949 | 2020-10-27 |
공지 | [Open UP 소개] 공개SW 개발·공유·활용 원스톱 지원 Open UP이 함께합니다 | 424818 | 2020-10-27 |
6984 | 국제 코딩 교류 행사 ‘서울-홍콩 STEAM & 코딩 에듀톤’ 열린다 | 5226 | 2017-07-04 |
6983 | 깃허브 "금요일은 오픈소스 기여하는 날" | 5382 | 2017-07-04 |
6982 | '야라 룰'을 활용한 페트야 랜섬웨어 대응법 공개 | 5464 | 2017-07-04 |
6981 | [발언대] 상상력이 만드는 블록체인의 미래 | 5502 | 2017-07-04 |
6980 | "메모리 사용을 1/100로"··· '프로그래시브 웹 앱' 확산 | 4872 | 2017-07-03 |
6979 | 분산된 IoT 마이크로서비스에 P 언어가 필요한 이유 | 5185 | 2017-07-03 |
6978 | FAQ로 정리한 컨테이너 ABC | 5194 | 2017-07-03 |
6977 | AMD, 베가 기반 첫 그래픽카드 공개 | 5507 | 2017-07-03 |
6976 | 가장 중요한 오픈소스 네트워킹 프로젝트 10가지 | 5633 | 2017-07-03 |
6975 | 은행권 공동 블록체인 플랫폼, 2018년 2월 오픈 예정 | 5492 | 2017-07-03 |
0개 댓글