Offcanvas

How To / 모바일 / 애플리케이션 / 클라우드

모바일 클라우드 컴퓨팅 앱 개발 ‘기본 정보 총정리’

2012.08.30 Bill Claybrook  |  Computerworld


기타 개발 기법
모바일 앱은 특정 기기에 네이티브 상태로 배치되거나 브라우저를 통해 접속(일명 모바일 웹 앱)하는 등의 2가지 형태를 띠게 된다. 모바일 웹 앱은 일반적으로 HTML(요즘은 HTML5을 사용), CSS(Cascading Style Sheets), 자바스크립트(JavaScript) 등을 사용하여 개발된다. 스타일 시트(Style Sheet)는 HTML5 등 마크업 언어(Markup Language)로 작성된 문서의 스타일과 양식을 제공한다.

네이티브 모바일 앱은 특정 기기와 그 운영체제에 맞추어 개발된다. 이런 앱은 GPS, 나침반, 가속도계, 자이로스코프(Gyroscope) 등의 내장된 기능을 사용할 수 있다.

반면 모바일 클라우드의 서버에서 구동하는 모바일 웹 앱은 이런 위치 기능을 항상 사용할 수 있는 것이 아니며, 필요한 경우, 에뮬레이션을 동원하게 된다.

더 샌드 힐 그룹(The Sand Hill Group)의 카메시 페마라주 애널리스트는 MEAP 외에 하이브리드 및 HTML5 기반의 솔루션도 크로스플랫폼(Cross-platform) 기능을 활용한 모바일 애플리케이션 개발을 위해 등장하고 있다고 전했다.

하이브리드 애플리케이션 개발은 네이티브 및 모바일 웹 앱 접근방식을 혼합적으로 사용하는 방식이다. 하이브리드 모바일 앱을 통해 대부분의 사용자 환경(User Interface) 또는 전체 사용자 환경이 브라우저 창 안에서 구현되며, 이 때 구동되는 네이티브 앱은 브라우저에서는 사용할 수 없는 기기의 네이티브 기능을 제공할 수 있다.

사용자에게 있어서 하이브리드 앱은 네이티브 앱처럼 느껴진다. 하지만 개발자 입장에서는 이 둘이 큰 차이를 보인다. 각 모바일 기기를 위해 전체 모바일 앱을 다시 개발하기 보다는 일부 코드를 HTML5, CSS, 자바스크립트 등으로 작성하고 여러 기기에서 재사용하게 되기 때문이다.
 

HTML5가 모바일 앱에 중요한 이유
HTML5는 시맨틱 태그(Semantic Tag), CSS3, 규칙, 특성, 자바스크립트 API로 구성된 일련의 기술 집합체다.

HTML5 는 머리말, 꼬리말, 삽화 등의 특정 문서 구조에 태그를 추가한다. 그 결과, 브라우저가 특정 기기를 위한 플러그인(Plug-in) 없이도 다양한 유형의 콘텐츠를 자체적인 기능만으로 표시할 수 있다. 다시 말해서, HTML5는 원격기기 기능을 지원하여 네이티브 모바일 앱에 더욱 가까운 경험을 제공하게 해준다.

데스크톱 컴퓨터, 스마트폰, 태블릿에서 사용하는 주요 브라우저의 최신 버전들은 HTML5를 부분적으로 지원하고 있지만, 아직까지 모든 주요 브라우저가 HTML5의 모든 기능을 지원하는 것은 아니다. 개발자는 HTML5를 통해 한 번 작성한 코드를 다양한 플랫폼에 적용할 수 있다.

CSS3 의 경우, 다양한 폼 팩터에서 자동 페이지 레이아웃 조정을 지원한다. HTML5 기반의 앱은 동적 레이아웃 렌더링(Dynamic Layout Rendering)을 통해 상이한 크기의 화면이 탑재된 기기에서 구동할 수 있으며, 이는 HTML5 코드가 모바일 앱에서 프레젠테이션을 위해 사용됨을 뜻한다.
 
HTML5는 원격 기기의 특성을 발견하고 CSS3를 통해 원격 기기의 디스플레이 크기와 해상도에 맞도록 자동으로 조정된 정보를 제공한다. HTML5는 CSS3 미디어 쿼리(Media Query)를 사용하여 원격 기기의 화면 크기, 방향, 높이 등에 대응하는 응답형 웹 페이지를 생성한다.
 
결과적으로, 개발자들은 CSS3 미디어 쿼리를 갖춘 HTML5를 통해 다양한 기기에서 구동할 때, 원격 기기의 특성에 자동으로 응답하여 콘텐츠를 적절한 형태로 해당 기기에 제공할 수 있는 웹 앱을 개발할 수 있다.


느린 속도와 접속 문제 해결
버라이존의 디콘은 모바일 기기가 클라우드의 애플리케이션에 접근할 때 레이턴시(Latency) 및 간헐적인 접속 문제가 발생할 수 있지만 일반적으로 현장에서 사용하는 비즈니스 애플리케이션에서는 이런 문제가 많이 발생하지 않고 있다고 말했다.

레이턴시 문제가 발생하는 애플리케이션은 음성과 영상을 포함하는 경우가 많으며, 기업 환경에서 보다 흔하게 사용하는 이메일이나 쿼리(Query) 데이터베이스에서는 이런 문제를 찾아보기 어렵다.

디콘은 "레이턴시와 간헐적인 접속 문제가 발생하기는 하지만 대부분의 사용자들에게는 큰 문제가 되지 않는다"라고 말했다.

 에리 인슈어런스(Erie Insurance)의 IT 담당 수석 부사장 겸 CIO 에릭 밀러는 손해사정관들이 주로 사용하는 모바일 애플리케이션에서 일부 간헐적인 문제가 발견되고 있다고 전했다.

한 애플리케이션은 현장에서 정보를 수집하고 해당 데이터를 저장했다가 인터넷에 연결되었을 때 해당 정보를 전달하기 때문에 매끄럽게 동작하지 못했다는 설명이다. 밀러는 "뛰어난 기능도 중요하지만 연결되었을 때 원활한 상호 연결성이 확보되어야 한다"라고 말했다.
 
HTML5는 온디바이스 캐싱(On-device Caching)이라는 기술을 이용해 간헐적인 접속 문제를 해결하는데 도움을 줄 수 있다. 이 기능은 추가적인 처리를 위해 데이터를 원격 기기에 오프라인 상태로 저장함으로써 모바일 연결성 장애 및 비연속적인 사용자 환경문제를 감소시킨다.

결과적으로 온디바이스 캐싱은 원격 기기와 모바일 클라우드 서버 사이의 통신이 줄어듦을 뜻하기 때문에 모바일 연결성이 비연속적인 상황에서도 앱이 모바일 기기에서 효과적으로 구동할 수 있다.

온디바이스 캐싱 사용의 가장 대표적인 예가 안드로이드(Android)용 구글 맵스(Maps)이다. 이 앱은 지도 데이터를 사용자가 가장 자주 접속하는 지역에서 원격 기기에 미리 로드(Load)하여 위성 신호가 끊기더라도 사용의 연속성을 확보한다.

한편 이는 대부분의 신형 스마트폰에 HTML5를 지원하는 브라우저가 탑재된 이유이기도 하다.

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.