- 인터넷 의존성
웹 앱은 표준 웹 브라우저를 통해 인터넷으로 액세스하기 때문에 온라인 연결이 있어야 작동합니다. Wi-Fi 또는 셀룰러 데이터에 액세스하지 않으면 앱에 액세스할 수 없습니다. - 기능 접근성 제한
웹 앱에는 장치 또는 운영 체제의 네이티브 기능에 대한 액세스 권한이 없기 때문에 기능이 제한될 수 있습니다.모바일 플랫폼의 종류 - 앱 마켓플레이스에 연결되지 않음
웹 앱은 앱 마켓플레이스에서 구매할 수 없어 관심을 받기가 쉽지 않습니다.
최근 스마트 기기의 종류가 다양화되고 이를 여러 분야에 접목되어 활용도가 증가함에 따라 건강 분야에도 스마트기기를 접목시켜 빅데이터를 수집하고 관리해야 할 필요성이 증가하고 있다. 본 논문에서는 개인이나 집단에 맞춤형 건강 프로그램을 제공하기 위해 모바일 어플리케이션을 설계하였다. 여러 질병들에 대하여 여러 건강 관련 관점에서 스스로 건강을 케어할 수 있도록 도움을 주는 스마트기기의 활용방법을 제안하였다. 맞춤형 건강 체크 프로그램의 필요한 기능들을 먼저 설계하였고, 그 중에서 어플리케이션을 통해 사용자들이 건강 체크를 스스로 할 수 있도록 하는 건강 체크 항목은 신체계측 및 생리학적 요인과 건강행태요인으로 분류하였다. 그리고 건강 관련 데이터를 제공함으로써 사용자들은 개인에 맞는 코멘트를 제공받고, 종합적인 정보는 데이터베이스에 저장하여 관리되는 플랫폼을 구현하였다. 어플리케이션을 통해 데이터를 수집하기 위한 데이터베이스 서버를 구축하였고, 사용자 관련 문항과 조건에 맞추어진 코멘트의 테이블을 생성하여 사용자들로부터 받은 데이터를 통합적으로 관리할 수 있도록 하였다.
Recently, various kinds of diverse smart devices have appeared and are applied to various fields, and with the increased usage, big data collection and management is needed by combining smart devices in the health field as well. In this paper, we developed an application to provide customized health programs to individuals or groups. On investigating ‘My life check’, we propose the idea of using smart devices that help people to take care of their own health. The health check items for the customized health check program were designed first, and health check items for users to perform health check by themselves are classified into physical measurement and physiological factors and health behavior factors. Finally, users were provided personalized comments to their individual needs, and conceived a platform for storing and managing comprehensive information in a database was designed. We developed a database server to collect data through the application, and created a table of comments tailored to the users, questions and conditions to collect and manage the data received from the users.모바일 플랫폼의 종류 모바일 플랫폼의 종류
모바일 개발이란?
모바일 개발은 스마트폰, 스마트워치, 태블릿과 같은 모바일 장치용 소프트웨어를 작성하기 위한 프로세스와 절차입니다.
모바일 개발의 진화
최신 컴퓨팅은 지난 수십 년간 사용되어 온 데스크톱과 노트북에서도 멀어졌습니다. 현재 대부분의 컴퓨팅은 모바일 장치에서 이루어지며 인터넷 트래픽의 절반 이상이 스마트폰, 태블릿, 기타 무선 옵션에서 발생합니다.
한 자리에 매이는 컴퓨팅에서 매이지 않는 컴퓨팅으로의 전환이 지속됨에 따라, 모바일 장치에서 효과적으로 작동할 수 있는 소프트웨어에 대한 수요가 증가하고 있습니다. 하지만 이는 단순히 모바일 앱 개발에 관한 것이 아닙니다. 조직은 모바일 장치에서 사용이 가능할 뿐 아니라 모바일 고유의 기능을 최대한 활용할 수 있는 애플리케이션을 설계할 수 있어야 합니다.
이러한 필요를 효과적으로 충족하기 위해, 점점 더 많은 기업이 모바일 개발에 의존하고 있습니다.
주요 모바일 개발 플랫폼
애플리케이션을 실행하기 위해서는, 모바일 장치에 제대로 작동하는 OS(운영 체제)가 필요합니다. OS는 중개자 역할을 수행하여 컴퓨터 하드웨어와 실행되는 프로그램 간의 상호작용을 지원합니다. OS는 컴퓨터에서 실행되는 소프트웨어 프로세스가 적합한 리소스에 대한 액세스 권한을 가지고 의도된 대로 작동하도록 합니다.
모바일 개발 플랫폼은 기본적으로 모바일 애플리케이션을 빌드, 테스트, 배포하기 위해 설계된 OS입니다. 지금까지 실행 가능한 모바일 개발 플랫폼이 여러 개 있었지만, 현재 시장 점유율의 대부분은 대표적인 두 경쟁자인 Android와 iOS가 차지합니다.
Android
Android는 가장 큰 모바일 개발 플랫폼으로, 시장 점유율의 80%를 차지합니다. Android는 여러 제조사의 다양한 장치가 여러 버전의 Android OS를 실행할 수 있도록 해주는 오픈 소스 OS입니다. Google이 지원하고 Linux에 기반한 Android를 통해 누구라도 OS를 지원하는 하드웨어를 구축할 수 있습니다. Android 애플리케이션 개발의 경우도 마찬가지입니다. 개발자는 Android 장치용 앱을 자유롭게 개발할 수 있습니다. 이를 통해 앱 유연성이 향상되고 진입 장벽이 매우 낮아집니다.
Google은 Android Studio를 비롯한 Android 모바일 애플리케이션 개발을 위한 네이티브 도구를 제공합니다. 또한 오픈 소스 OS이기 때문에 외부 공급업체도 자체적인 Android 개발 도구를 만들 수 있습니다. Google의 포괄적인 개발자 가이드라인을 통해 다양한 하드웨어 유형에 걸친 애플리케이션 디자인과 기능의 일관성을 유지할 수 있습니다. 하지만 잠재적인 Android 장치의 수는 한정적이기 때문에 새로운 애플리케이션이 모든 상황에서 모든 종류의 하드웨어에서 효과적으로 작동할 수 있는 실질적인 방법은 없습니다.
iOS의 시장 점유율은 약 18%에 불과하지만 대표적인 두 플랫폼 중 더 우세하다고 볼 수도 있습니다. iOS는 iPhone과 iPad 기술의 발명을 통해 모바일 컴퓨팅을 주류로 이끄는 데 가장 큰 공헌을 한 기업인 Apple이 소유하고 관리합니다.
iOS가 Android 만큼 많은 장치로 확장되지 않은 이유는 오픈 소스가 아니기 때문입니다. iOS는 Apple 제품에서만 작동합니다. 마찬가지로, iOS용 애플리케이션을 빌드하려면 개발자는 OS X(표준 Mac 운영 체제)을 실행하는 Mac 컴퓨터를 사용해야 합니다.
또한 Apple은 모바일 모바일 플랫폼의 종류 개발을 위한 기본 도구와 라이브러리를 제공하며 개발자는 Apple의 Swift 프로그래밍 언어를 사용하도록 독려받습니다.
Apple이 iOS 개발의 하드웨어와 소프트웨어 측면을 이렇게 철저히 통제하기 때문에, 일반적으로 iOS 성능은 반응성이 매우 뛰어나고 안정적이며 사용하기 편리합니다. Apple에서는 애플리케이션이 자체적인 독점 하드웨어에서만 실행되도록 허용하기 때문에 장치 파편화의 우려 또한 적습니다. 반면 더욱 엄격한 가이드라인으로 인해 완전한 맞춤형 앱을 개발하기가 더 어려울 수 있으며, iOS 애플리케이션은 App Store에 제출되어 검토와 승인을 거쳐야 합니다.
기타 플랫폼
현재 기타 모든 모바일 개발 플랫폼이 시장 점유율의 나머지 2%를 차지합니다. 여기에는 Windows 및 Blackberry 개발 플랫폼이 포함되지만 대부분의 모바일 개발자는 Android, iOS 또는 두 운영 체제의 조합에 주력합니다.
다양한 모바일 개발 방식
모바일 개발에는 여러 접근 방식이 있습니다. 가장 흔히 사용되는 3가지 접근 방식에 대해 알아보겠습니다.
네이티브 개발
가장 직접적이고 가장 명확한 모바일 개발 방식은 아마도 OS 벤더가 제공하는 도구와 플랫폼을 사용하는 방식일 것입니다. 이러한 도구는 사용 편의성을 철저히 고려하여 설계되며 예시, 도구, 프레임워크, 기타 리소스를 제공하여 개발 목적인 모바일 OS에서 더욱 신속한 디버깅과 최적의 기능성을 보장합니다.
하지만 네이티브 개발 도구에는 단점이 있습니다. 각 OS를 위한 개발을 용이하게 할 수 있도록 설계되기 때문에 서로 다른 프로그래밍 언어를 사용한다는 점입니다. 따라서 Android 또는 iOS 개발 도구를 사용하려는 개발자는 자신이 원하는 언어로 작업하는 대신 도구에서 사용하는 언어를 익혀야 합니다. 마찬가지로, 두 OS 옵션을 위한 단일 앱을 빌드하는 경우 작업량이 두 배가 되어 애플리케이션을 두 번 코딩하고 두 가지의 프로세스와 베스트 프랙티스를 따라야 합니다.
하지만 하나의 OS만을 위한 앱을 개발하려는 개발자에게는 네이티브 개발이 가장 빠르고 간단한 솔루션일 될 수 있습니다.
- 성능 최적화
일반적으로 네이티브 개발 앱은 장치의 기능을 최대한 활용함으로써 더욱 효과적이며 일관적으로 작동합니다. - 사용 편의성 개선
네이티브 앱은 특정 장치에서 작동하도록 빌드됩니다. 따라서 이러한 장치에 내장된 기능을 활용하여 우수한 사용자 경험을 제공합니다. - 단일 플랫폼 코딩
네이티브 앱은 여러 운영 체제에 걸쳐 작동할 필요 없이 하나의 플랫폼에서만 작동하도록 설계되므로 개발이 비교적 용이합니다.
- 전문성 필요
특정 운영 체제를 위해 설계된 네이티브 앱에는 대상 장치를 위한 코딩에 대한 전문 지식을 갖춘 개발자가 필요합니다. - 여러 번의 개발 작업
네이티브 앱은 개별 운영 체제에만 적합하도록 개발되어야 하므로, 여러 플랫폼에서 작동할 수 있는 앱을 빌드하려면 더 많은 비용과 시간이 소요되는 여러 번의 개발 작업이 필요합니다.
크로스 플랫폼 프레임워크
크로스 플랫폼(하이브리드) 개발 프레임워크는 개발자가 두 가지 주요 운영 체제 모두에서 작동할 수 있는 효과적인 모바일 애플리케이션을 개발할 수 있도록 지원하기 위해 설계되었습니다. 이상적으로는 개발자가 코드를 한 번만 작성하면 지원되는 모든 플랫폼에서 코드가 실행되어야 합니다. 대부분의 크로스 플랫폼 프레임워크는 특정 OS를 선호하는 경향이 있기 때문에 개발자는 다른 OS용으로 개발된 버전의 앱을 조정할 수밖에 없습니다.
크로스 플랫폼 프레임워크는 추상화인 경우가 많습니다. 즉, 네이티브 라이브러리와 프레임워크를 사용하고 개발자가 이러한 요소에 대한 기본적인 이해를 갖추어야 합니다. 하이브리드 접근 방식을 취하는 프레임워크는 네이티브 구성요소에 웹 기반 HTML 구성요소를 결합합니다.
대부분의 크로스 플랫폼 솔루션은 특정 프로그래밍 언어를 지원하므로 많은 개발자가 이미 익숙한 프로그래밍 언어에 따라 선택합니다.
- 신속한 개발
크로스 플랫폼 앱을 빌드하는 경우 하나의 코드 세트만 있으면 앱이 여러 운영 체제에서 작동하므로 개발 주기를 단축할 수 있습니다. - 쉬운 개발
하이브리드 앱 개발자는 하나의 기술만 학습하면 되므로 진입 장벽이 낮고 개발 프로세스가 간단합니다. - 잠재 고객 확대
크로스 플랫폼 앱은 두 가지 주요 앱 시장에 걸쳐 제공할 수 있도록 설계되므로 개발자가 Android 사용자와 iOS 사용자 모두에게 다가갈 수 있습니다.
- 사용 편의성 감소
두 가지 주요 운영 체제 모두에서 작동하도록 개발된 앱은 일반적으로 플랫폼 전용 기능을 최대한 활용할 수 없습니다. 따라서 사용 편의성이 저하될 뿐 아니라 네이티브 개발 앱에 비해 실행 속도가 느립니다. - 새로운 기능 출시 지연
새로운 네이티브 기능이 도입되면, 크로스 플랫폼 개발자는 개발 프레임워크가 해당 기능의 호환성을 확보할 때까지 기다려야 합니다. - 커스터마이제이션의 어려움
앱이 네이티브 방식으로 개발되지 않는 경우 앱 커스터마이제이션이 훨씬 어렵고 크로스 플랫폼 프레임워크를 사용하면 완전한 커스터마이제이션이 불가능할 수 있습니다. - 성능 문제
특정 운영 체제용으로 빌드되지 않은 앱에는 커뮤니케이션 문제와 성능 이슈가 발생할 수 있습니다.
모바일 웹 앱
최근 꾸준히 점점 더 많이 사용되고 있는 세 번째 옵션은 모바일 개발에 모바일 웹 앱을 사용하는 것입니다. 이 경우 표준 웹 브라우저를 통해 액세스할 수 있는 웹 애플리케이션을 빌드하지만 이를 모바일 장치에서 사용할 수 있도록 최적화해야 합니다.
이러한 접근 방식은 편법을 쓰는 것처럼 보일 수 있지만 실제로 모바일 웹 앱은 네이티브 개발 애플리케이션만큼 효과적이고 기능적이며 정교할 수 있습니다. 사실 특정 모바일 OS에서 실행 시 네이티브 애플리케이션과 같은 느낌을 주는 모바일 웹 앱을 개발할 수 있도록 설계된 프레임워크가 많이 있습니다. 모바일 웹 앱은 실행되는 모바일 장치의 기능에 결합되어 카메라에 액세스하고 전화를 걸며 위치 데이터를 수집하는 등의 작업을 할 수도 있습니다.
- 유지관리 간소화
모바일 웹 앱은 표준 웹 사이트 프로그래밍 언어 및 규칙을 사용하므로 웹 사이트만큼 빌드와 업데이트에 용이합니다. - 신속한 개발
웹 앱 개발은 하나의 코드 세트만을 사용하기 때문에 개발 프로세스가 빠르고 쉽습니다. 또한 주요 앱 시장의 승인이 필요하지 않기 때문에 훨씬 빠르게 출시될 수 있습니다. - 비용 절감
코딩이 간단하고 개발 주기가 빠르기 때문에 개발 비용이 절감됩니다. - 최적의 접근성
웹 앱은 웹 사이트와 유사한 방식으로 작동하며 표준 웹 브라우저를 통해 액세스할 수 있습니다.
- 인터넷 의존성
웹 앱은 표준 웹 브라우저를 통해 인터넷으로 액세스하기 때문에 온라인 연결이 있어야 작동합니다. Wi-Fi 또는 셀룰러 데이터에 액세스하지 않으면 앱에 액세스할 수 없습니다. - 기능 접근성 제한
웹 앱에는 장치 또는 운영 체제의 네이티브 기능에 대한 액세스 권한이 없기 때문에 기능이 제한될 수 있습니다. - 앱 마켓플레이스에 연결되지 않음
웹 앱은 앱 마켓플레이스에서 구매할 수 없어 관심을 받기가 쉽지 않습니다.
0 개 댓글