2016년 12월 5일 월요일

SK C&C의 전자정부 모바일 프레임워크 활용

모바일 소프트웨어는 모바일에 직접 설치되어 사용되는 앱 형태의 소프트웨어와 모바일 브라우저를 이용해 서비스하는 웹 형태의 소프트웨어다. 모바일 앱은 클라이언트/서버 어플리케이션처럼 항상 처음부터 새롭게 소프트웨어를 만들어야 하지만, 모바일에서도 브라우저를 통해 서비스되는 모바일 웹은 PC의 웹 기반 서비스처럼 브라우저를 통해 서비스를 제공하기 때문에 html 위주로 소프트웨어를 만든다. 이 경우, PC 혹은 모바일에 따른 UI 측면만 고려한다면 PC나 모바일에서 소프트웨어 개발 방법이 크게 달라질 필요가 없다. 따라서 최근에는 모바일 서비스를 브라우저를 통해 하는 경우도 많이 나타나고 있다.
모바일 앱이나 모바일 웹은 각각의 장단점이 있기 때문에 두가지 모두를 사용하는 경우도 종종 있다.  이러한 것을 하이브리드 앱이라고 한다. 하이브리드 앱은 모바일 앱과 모바일 웹의 장점을 적절히 섞어서 사용하게 된다(그림5).

<그림5> 모바일 앱(Native)과 모바일 웹(Web)
출처: Workight - Native Web or Hybrid Mobile App Development

SK C&C에서는 모바일 표준프레임워크를 활용하여 모바일 앱 스타일의 사용자경험(UX)를 제공하고, 범용 모바일 브라우저에서 같은 접근성을 제공하는 것을 목표로 국세청 전자세금계산서 모바일, 행안부 행정업무 모바일 구축 프로젝트 등을 수행하였다.
모바일 웹으로만 구현하는 경우에 위치정보 등 모바일 디바이스에서 제공하는 고유 기능을 활용하기 어렵기 때문에 하이브리드 앱 형태로 개발하여, 자바스크립트를 활용하여 모바일 디바이스의 고유 기능을 실행하도록 구현하였다(그림6).

<그림6> 전자정부 모바일 표준 프레임워크 기반의 하이브리드 앱

출처: SK C&C





모바일 프레임워크 기반의 개발에서 주의할 점


프레임워크는 자주 사용되거나 중요한 부분을 블랙 박스(Black Box) 형태로 만들고 이것을 재사용 하는데 가장 큰 목적이 있다. 따라서 개발자가 프레임워크를 구현하거나 사용할 때 아래와 같이 몇 가지 기억해야할 것들이 있다.

① 개발 표준화가 선행되어야 한다.
UI, 비즈니스, 데이터 등 각 레이어 별로 수행하는 기능이 다르기 때문에 다양한 개발자가 참여하게 된다. 따라서 다양한 개발자가 개발을 해도 빠르고 정확하게 개발될 수 있도록 각 레이어 별로 개발 표준이 있는 것이 좋다. 해당 개발 표준으로 개발자 간 커뮤니케이션을 할 수 있고, 이로 인해 원활한 인터페이스를 유지할 수 있다. 모바일 개발의 경우에는 특히 다양한 모바일 디바이스를 다루기 때문에 개발 표준에 대한 중요도가 더 높다.

② 개발 생산성을 고려하여 프레임워크를 사용한다.
좋은 프레임워크라고 소문이 났더라도 반드시 모든 곳에 좋은 것은 아니다. 프레임워크의 볼륨, 사용방법, 그리고 추가 개발 범위 등을 고려하여 최적의 생산성이 나오는 프레임워크를 고른다. 모바일의 경우, 모바일 디바이스에 따라 실행환경, 개발환경, API 구성이 변화가 적은 것을 골라야 하며, 반대로 변화가 거의 없더라도 개발 시 너무 많은 것을 설치해야 하는 것은 아닌지, 범용을 위한 모듈의 볼륨이 너무 크지 않은지도 확인한다.

③ 유지보수가 용이하도록 개발한다.

다양한 서비스 확장을 위해서 표준화된 프레임워크를 사용한다. 따라서 추가되는 모듈도 프레임워크의 가이드에 맞춰 유지보수가 가능하도록 개발해야 한다. 유지보수는 모바일이나 일반적인 프레임워크 모두 중요한 요소이지만, 서비스 중심인 일반적인 프레임워크와는 달리 모바일은 모바일 디바이스도 고려해야 환경 변화에 쉽게 대응할 수 있다.



전자정부 모바일 프레임워크

전자정부에서는 표준프레임워크를 기반으로 모바일 서비스 제공을 위해 필요한 사용자경험(UX), 모바일 공통컴포넌트를 추가한 모바일 표준프레임워크를 제공하고 있고(그림2), 이를 전자정부 표준프레임워크 차기 버전으로 공지한 상태다.

<그림2> 전자정부 모바일 표준프레임워크
출처: 전자정부 모바일 표준프레임워크 교육자료

전자정부에서는 모바일 웹 구현을 위한 개발 환경도 제공하고 있다. 설치와 동시에 바로 적용 가능할 수 있는 모바일에 최적화된 표준 소스코드를 제공하고, 모바일 템플릿 및 공통컴포넌트 적용을 위한 위저드 방식의 조립식 구현 환경을 제공한다. 마지막으로, 웹 검증 도구를 개발 환경에 내장하여 모바일 웹을 포함한 웹 호환성을 개발과 동시에 검증하는 기능을 제공한다(그림3).

<그림3> 전자정부 모바일 웹 개발 환경

출처: https://www.egovframe.go.kr/