본문 바로가기
Programming/프로그래밍 이론

[프로그래밍 이론] In-app browser, External browser

by SpiralMoon 2020. 7. 3.
반응형

In-app browser, External browser

모바일 프로그래밍 환경에서의 인앱 브라우저와 외부 브라우저의 특징과 차이점을 알아보자

사전 지식

브라우저의 정의

 

웹 브라우저 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 웹 브라우저 또는 브라우저(영어: web browser 또는 browser, 문화어: 열람기)는 웹 서버에서 이동하며(navigate) 쌍방향으로 통신하고 H

ko.wikipedia.org

 


인앱 브라우저와 외부 브라우저를 나누는 기준

간단하다, 브라우저가 "특정 어플리케이션에 종속되었는지의 여부"를 따지면 된다.


In-app browser란?

인앱 브라우저(In-app browser)는 내장 브라우저(Internal browser)라고도 하며 특정 어플리케이션에 종속된 브라우저를 뜻한다.

(In-App은 "앱 안에 속해있는" 이라는 뜻이다.)

 

특정 앱에 의해서만 호출되는 특수한 브라우저이며,

인앱 브라우저의 큰 특징은 다음과 같다.

 

1. 앱에서 소스코드로 인앱 브라우저의 상단바를 꾸밀 수 있다. (안드로이드)

2. 앱에서 띄운 인앱 브라우저는 앱에서 원격으로 종료할 수 있다. (패키지마다 가능 여부 다름)

3. 인앱 브라우저는 외장 브라우저와 캐시가 공유되지 않는다.

4. 인앱 브라우저를 닫으면 호출했던 앱으로 다시 돌아간다. (인앱 브라우저를 사용하는 제일 큰 이유)

5. iOS는 SafariViewController를 사용해 인앱 브라우저를 연다. (일단 iOS 13까지는 100%)

6. Android는 보통 WebView로 구현한 패키지가 많으나, 최근에는 ChromeCustomTabs로 구현하는 추세이다.

 

 

카카오톡에서 인앱 브라우저를 띄우는 모습

위 사진은 카카오톡 앱에서 인앱 브라우저를 통해 링크를 여는 장면을 보여준다.

사진에 보이는 브라우저는 카카오톡 앱에 종속된 것으로, 오직 카카오톡을 통해서만 실행할 수 있는 인앱 브라우저인 것이다.

 

안드로이드에서 인앱 브라우저를 실행한 모습
iOS에서 인앱 브라우저를 실행한 모습

위 두 사진은 스마트폰에서 실행중인 앱 목록을 보는 기능이다. 인앱 브라우저를 열었기 때문에 앱 위에서 웹 화면이 동작하고 있음을 보여준다.

 

상단바가 커스터마이징된 카카오톡의 인앱 브라우저

여러 앱을 사용하다보면, 앱마다 인앱 브라우저를 다르게 꾸며놓은 것을 확인할 수 있다.

(당장 페이스북 앱의 인앱 브라우저만 봐도 엄청 다르다.) 


External browser란?

외부 브라우저(External browser)는 특정 어플리케이션 외부에 별도로 설치된 브라우저를 뜻한다.

일반적으로, 모든 브라우저앱은 다른 특정 어플리케이션에 종속되지 않으므로 전부 외부 브라우저라고 생각하면 된다.

 

대표적으로

Chrome 브라우저

대부분의 안드로이드 폰에 기본으로 설치된 Chrome 브라우저

 

Galaxy 시리즈의 Samsung Internet 브라우저

갤럭시 폰에 기본으로 설치된 Samsung Internet 브라우저

 

아이폰에 기본으로 설치된 Safari 브라우저

 

이외에도 FireFox나, Naver Whale 등 스마트폰에 설치해서 쓰는 브라우저 앱들은 전부 외부 브라우저이다.

 

안드로이드에서 외부 브라우저를 실행한 모습
iOS에서 외부 브라우저를 실행한 모습

위 두 사진은 스마트폰에서 실행중인 앱 목록을 보는 기능이다. 외부 브라우저를 열었기 때문에 앱과 브라우저앱의 인스턴스가 별도로 실행되고 있음을 보여준다.


앱에서 인앱 브라우저를 사용하는 이유

앱에서 링크를 열 때 인앱 브라우저가 아닌 외부 브라우저로도 실행할 수 있으나,

외부 브라우저는 호출한 앱의 제어권 밖에 있기 때문에 사용자가 프로그래머가 의도한 범위 밖의 동작을 하거나, 앱에서 브라우저를 원격으로 닫을 수 없는 문제 등이 발생한다.

 

그렇기 때문에 앱에서 일시적으로 웹 페이지를 보여줄 때는 인앱 브라우저를 사용하는 것이 좋다.

반응형

댓글