2016년 12월 6일 화요일

모바일 SW 개발 사례 연구 - 프레임워크


1인 1스마트폰에 다다르는 보급률과 무선 네트워크의 향상으로 사용자가 주로 사용하는 디바이스가 PC에서 모바일 디바이스로 이동하는 추세다. 이러한 현상은 PC에서 사용되던 소프트웨어가 모바일에서도 사용되도록 하는 요구가 늘어나는 것을 야기하였다. 모바일 소프트웨어의 특징은 PC에서 사용되는 소프트웨어에 모바일 UI가 추가되는 경우가 많기 때문에 이를 뒷받침할 수 있는 효율적인 프레임워크가 필요하다. 이번 회에서는 모바일 소프트웨어를 더 쉽고 빠르게 만들 수 있는 모바일 프레임워크에 대해 살펴보도록 한다. 적용 방법을 잘 이해하여 효율적인 모바일 소프트웨어 개발이 되기를 기대한다.

사례 연구 전 확인 사항

프레임워크 사용의 장점

프레임워크는 다양한 형태로 해석된다. 구조적으로 고정된 자산을 재활용할 수 있도록 하는 것을 나타내기도 하고, 애플리케이션의 특정 기능을 모아 추가적인 사용자 코드를 통해 소프트웨어를 완성하는 플랫폼을 말하기도 한다. 역할로 살펴본다면, 프레임워크는 필수적이고 표준적인 부분을 설계하고 구현하도록 도움을 주는 반제품 소프트웨어라고 할 수 있다.
프레임워크를 사용하는 장점은, 공통적으로 사용되는 구조를 그대로 재사용하면서 애플리케이션 부분만 추가해서 사용하기 때문에 빠르고 효율적인 개발이 이루어 질 수 있고, 이미 검증된 프레임워크이기 때문에 애플리케이션의 코딩과 테스트가 용이하다. 하지만, 프레임워크의 기능이 업그레이드 되면서 점점 볼륨이 커지는 현상도 종종 나타난다. 이 경우, 사용하지 않는 기능이 프레임워크에 적용되면서 불필요한 자리만 차지하기도 한다(그림1).

<그림1> 프레임워크 사용의 예
출처: 전자정부프레임워크

그림1을 살펴보면, 회색으로 처리된 부분이 프레임워크로 구성된 부분이다. 공통적으로 활용이 가능한 것(Layer)들을 모아 반제품 형태로 제공되고, 추가하고자 하는 기능은 조립하는 형태로 사용하게 된다.

모바일 프레임워크의 선택

이제 어느 정도 규모 이상의 소프트웨어를 개발하는데 프레임워크는 필수 요소로 자리잡고 있다. 필요에 의해 계속 개발되고 있는 모바일 프레임워크 중에서 내가 필요한 모바일 프레임워크 선택 방법에 대해 알아본다. 구축하고자 하는 소프트웨어에 따라 조금씩 다를 수는 있겠지만 “The Curious Coder's Java Web Frameworks Comparison!”에서 가이드 한 것을 6가지 정도로 정리하여 <표1>과 같이 나타냈다.

<표1> 프레임워크 선택 요소



댓글 없음 :

댓글 쓰기