어플리케이션의 미래: 프로그래시브 앱

1. 모든 플렛폼, 모든 디바이스

어플리케이션의 미래는 어떤 모습일까? 그 모습은 모든 디바이스와 OS를 호환하는 모습일 것이다. 안드로이드, iOS 뿐 아니라 어떤 환경에서도 사용할 수 있는 어플리케이션이야 말로 궁극적으로 지향하는 바일 것이다. 아직까지 이러한 모든 플렛폼에서 쓸 수 있는 어플을 만드는 노력이 없었던 것이 아니다. 소위 하이브리드 앱이라고 불리는 어플리케이션 제작형태는 안드로이드와 iOS에 동시에 사용할 수 있는 어플을 제작하는데 사용되었다.

그 중 대표적인 Cordova나 Phonegap, Xamarin은 HTML을 이용하거나 C#을 기반으로 코드 재사용 요소를 구성하며, 각각의 OS의 세밀한 부분은 네이티브 언어인 자바와 Object-C를 이용하여 개발했다. 그러나 이러한 구성은 기본적으로 네이티브 언어만을 사용하는 어플리케이션보다 낮은 퍼포먼스와 제한된 기능을 보여주었고, 그 결과 많은 개발자들이 선호하지 않게 되었다.

2. 자바스크립트의 세계

2017.2.20 깃허브 저장소 언어 점유량, 자바스크립트가 압도적이다.

잠깐 밖의 이야기를 해보자. 자바스크립트는 오랫동안 천덕꾸러기 취급을 받던 언어였다. 초창기 자바스크립트는 모카스크립트라는 이름으로 시작했었고, 자바스크립트라는 이름 역시 당시 성장하던 자바의 인기에 동승하려는 노력 때문이었다. 초기에 그저 웹사이트의 몇가지 기능을 추가하던 언어는 깃허브에서 가장 지배적인 코드 베이스가 되었고, 이제는 어플리케이션의 영역까지 들어서고 있다.

노드는 비동기식 웹 서버 구축에 사용된다.

이러한 이유는 첫째로 Node.js(이하 노드)를 들 수 있다. 아직까지 자바스크립트 개발자들은 웹, 그 중에서도 프론트 엔드에 집중해있었다. 그런데 노드를 통해서 웹서버까지 그들의 영역이 확대된 것이다. 노드는 단순히 자바스크립트를 서버 사이드까지 확대시킨 것 뿐 아니라 기존의 서버사이드 프레임워크를 밀어내는 퍼포먼스를 보여주었다. 기존까지 서버사이드를 차지하던 PHP, Python, Ruby 그리고 그 전으로 가면 C, Perl 모두 노드에게 자리를 내주고 있다. 그 중에서도 루비는 급속도로 점유율이 낮아지고 있다.

https://assets.ec.quoracdn.net/main-qimg-b641db2d20e018b23e2335caa2ca5e91

대표적인 기업들 그 중에서도 페이팔이 2013년 그들의 엔지니어링 사이트에 올린 자료에 따르면 그들의 서버 소스코드를 노드로 변경하면서 개발시간과 운영 비용은 절반으로 단축했고, 성능은 33% 향상했다고 한다. 이러한 노드와 기존의 자바스크립트가 가지고 있던 프론트 사이드의 강점이 여러 가능성을 제시하게 되었는데, 바로 웹앱을 통한 모든 플렛폼 호환이다.

3. 프로그래시브 앱

프로그래시브 앱 혹은 프로그래시브 웹 앱이라 불리는 개념은 최근 개발자 사이에서 여러 논의가 진행되는 주제이다. 어떤 플렛폼, OS도 인터넷을 사용하는 방식은 유사하다. 모두 브라우저를 활용하고, 최종적으로 HTML 파일과 관련된 여러 데이터를 받는다.

Flipboard 케이스

Flipboard라는 어플리케이션은 웹사이트로 이용하거나 어플리케이션을 다운 받아 사용할 수 있다. 그러나 웹사이트를 모바일로 한참 이용하다보면 다음의 버튼을 만날 수 있다.

홈 화면에 추가를 요청하는 버튼이 생성된다.

ADD TO HOME SCREEN 버튼을 누르게 되면 어플리케이션과 동일한 느낌의 아이콘이 생성된다. 이 아이콘을 통해 Flipboard를 사용하게 되면 브라우저와는 다르게 상단의 주소창과 탭 부분이 사라지고 전체 화면으로 나타나 마치 설치한 어플리케이션 같은 느낌을 주게 된다. 그 뿐 아니라 실제로 동작도 웹사이트가 아닌 어플리케이션 처럼 하게 된다.

4. 퍼포먼스

서두에 제시했던 하이브리드 어플리케이션의 퍼포먼스를 생각해보자. 아무리 프로그래시브 앱이 여러 디바이스에 호환할 수 있고, 설치도 버튼 한번으로 가능하다 할지라도 낮은 퍼포먼스라면 사용하기 어렵다. 이 점은 자바스크립트 기반의 여러 오픈소스 프로젝트, 그 중에서도 앵귤러를 통해 설명하고자 한다.

구글에서 진행 후원하는 앵귤러.js

앵귤러는 SPA(single page application)의 대표적인 프레임워크이다. 직관적으로 생각해보자. 만약 첫번째 페이지에 웹 사이트의 모든 기능을 담당하는 자바스크립트 코드가 한번에 로딩된다면 어떨까? 분명 속도 상에서 큰 문제가 될 것이다. 그러나 SPA의 골격이 되는 파일을 사용자의 디바이스에 이미 저장해둔다면 동적으로 데이터를 불러오면 되기 때문에 SPA는 도리어 뛰어난 퍼포먼스를 보여주는데 유리함이 생긴다. 결국 SPA 프레임워크인 앵귤러를 프로그래시브 웹앱과 연결될 때 크게 발휘될 수 있다.

5. 결론


프로그래시브 앱은 기존의 마켓에서 다운로드 하는 방식의 어플리케이션에 대한 해결책이 될 수 있다. 더 많은 호환성과 편리함을 줄 수 있다. 자바스크립트 기반의 기술의 발전과 여러 통합 플렛폼 프레임워크의 진화 역시 이러한 경향을 가속화할 것이다.

Comments

    More from Howdy의 블로그

    See all posts

    특별한 법칙은 아니지만 자주 생각하려는 법칙이 있다. 향기의 법칙이라고 명명한 이 법칙은 무척이나 간단하다. 어떠한 상황에서든 상대를 유혹하라는 것이다. 원하는 것이 있다면 상대방이 원하도록 유혹하는 것이다. 이는 아주 간단한 원칙인데 동시에 매우 달성하기 어려운 법칙이기도 하다. 향…

    Sanghoon Han

    향기의 법칙

    Hearts 1Comments 110/07/2026

    하루가 멀다하고 사고가 터지는 것이 인간사. 인간이 만든 것 중 무엇이 대단하다 말할 수 있을까. 무엇이 완전하다 말할 수 있을까. 무엇이 영원하다 말할 수 있을까. 영원한 것은 단 하나도 없고 먼지가 쌓이지 않는 것도 단 하나도 없다. 기회 역시 영원하지 않아서 영원할 것 같은 젊음…

    Sanghoon Han

    영원하지 않다

    Hearts 0Comments 010/07/2026

    이카루스는 태양에 가까이 가면 안된다는 것을 알았으나 높게 날았다. 깃을 붙인 밀납이 녹아 깃이 떨어져 나가고 나서야 그는 자신의 미래를 보았다. 자유로 향하는 날개를 얻었을 때 태양을 향해서도 바다를 향해서도 안됐다. 고도를 유지하며, 섬세하게 바람을 타지 않는다면 어디로든 날아갈…

    Sanghoon Han

    자유의 날개

    Hearts 0Comments 010/07/2026

    인간이 보편적으로 누리는 권리는 대부분 거래를 통해 획득했다. 참정권은 군복무, 참전으로 얻었고, 링컨의 노예제 해방을 위해선 산업화된 사회에서의 흑인 인권이 필요했다. 반면 노예를 사용하는 것이 경제적 이득이 되는 남부군의 입장에서는 당시 기준으로 재산권 침해에 해당한다고 보았기에…

    Sanghoon Han

    민주주의 붕괴

    Hearts 0Comments 010/07/2026