티스토리 뷰
네이티브앱, 모바일앱, 하이브리드 앱 장단점 비교
- 네이티브앱
- 네이티브앱의 장점 : 특정 모바일 OS로 맞추어져 있어서 가장 빠르고 UI 등, 앱 제작에 필요한 다양한 요소가 패키지화 되어 있습니다. 편리한개발툴과 라이브러리를 제공하여 개발이 쉽고 유지보수도 쉽습니다.
- 프로그램 구동시에 매우 빠르고, 안정적임
- 네이티브앱의 단점 : 플랫폼 별로 어플리케이션을 별도로 개발해야합니다.
( Android 와 IOS)
- 모바일 웹의 특징
모바일 웹은 데스크탑 웹브라우저에서 실행되는 웹 애플리케이션을 모바일 스크린 크기로 줄여 놓은 것을 말합니다. 다른 말로 모바일 웹사이트 라고도 합니다. HTML, CSS,Javascript, JSP, PHP, ASP, ASP.NET 등 일반적인 웹 기술로 개발되고 모바일 브라우저에서 실행됩니다.
모바일 웹은 풀 브라우징(Fulll Browsing) 방식으로 페이지를 이동하는데 풀 브라우징방식은 화면 일부분이 변경될때 화면 전체 내용을 서버에서 새로 받아오기 때문에 속도가 느립니다. 뿐만아니라 모바일 기기의 특성상 이동 중에 서버 접속 장애가 발생하기 쉽습니다.
현재 모바일 브라우저에서 볼수 있는 대부분의 앱이 모바일 웹입니다. 네이버 모바일 사이트(m.naver.com)가 대표적인 예입니다.
- 모바일 웹의 장점 : 웹사이트 개발방식과 거의 동일하여 별도의개발방식이 필요하지 않습니다. 모바일 플랫폼 별로 각각 앱을 개발하지 않아도 됩니다.
- 모바일 웹의 단점 : 모바일 브라우저에서 실행되므로 모바일기기의 고유 정보(주소록, 파일)을 사용할수 없고, 하드웨어(카메라, 각종 센서)를 제어할수 없습니다.앱스토어에 등록해서 판매할 수도 없습니다.
- 모바일 웹앱의 특징
모바일 웹앱은 모바일 웹 보다는 모바일에 더 최적화되고 네이티브 앱화된 것을 말합니다. 웹앱은웹+앱이 결합한 것인데 모바일 웹의 특징을 가지고 있으면서 네이티브 앱의 특징도 갖고 있다는 뜻에서만들어진 신조어 입니다.
모바일 웹앱 역시 HTML, CSS, Javascript, JSP, PHP, ASP, ASP.NET 등일반적인 웹 기술로 개발되고 모바일 웹브라우저에 의해 실행되지만, 풀 브라우징 방식이 아닌 단일 페이지모델을 사용해서 화면을 전환합니다. 그렇기 때문에 모바일웹 보다는 실행 속도가 빠릅니다.
첫 페이지는 웹으로부터 풀 브라우징 방식으로 받고, 그 이후부터는 AJAX 통신으로 모든 것을 처리하는데, 화면 전환시 애니메이션 효과, 사용자 터치 이벤트 처리, AJAX 통신, HTML5 로컬 저장소를 이용하여 네이티브 앱과 유사한 실행 환경과 사용자 경험을 제공합니다.
◉ 모바일 웹앱의 장점 : 각 모바일 플랫폼 별로 각각 앱을 개발해야하는 번거로움이 없어져서 비용이나 시간을 훨씬 절감할수 있습니다. 앱을 등록하고 심사하는 과정을 거치지않아도 됩니다.
◉ 모바일 웹앱의 단점 : 모바일 웹과 마찬가지로 모바일 웹브라우저에서실행되므로 모바일 기기의 고유 정보(주소록, 파일)을 사용할수 없습니다. 하드웨어(카메라, 각종 센서)를 제어할수 없고 앱스토어에 등록해서 판매할 수도 없습니다. 사용자가 앱을 실행하기 위해서 웹브라우저를 열고 URL로 접근해야하는불편함이 있습니다. 매번 서버로부터 첫 페이지를 로딩해야 하므로 무선 네트워크 상황이 좋지 않다면 첫화면이 나오기까지 오랜동안 지연될수 있습니다.
- 하이브리드 앱의 특징
모바일 웹앱의 단점을 해결하기 위하여 네이티브 앱으로 모바일 웹앱을 포장하는 기술을 하이브리드 앱이라고 부릅니다. 모바일 웹앱을 하이브리드 앱으로 변환해주는 툴로는 폰갭, 앱스프레소, 티타늄 등이 있습니다.
그래서 하이브리드 앱의 외부 형태는 네이티브 앱이지만 실제 내부는 모바일 웹앱으로 실행이 되어 모바일 웹앱 첫 페이지와 UI 파일, 이미지 등 실행에 필요한 모든 리소스가 설치시 모바일파일 시스템으로 저장되어서 서버에서 따로 받을 필요가 없다는 것입니다.
그리고 기기의 고유정보(주소록, 파일)를 읽고 변경할 수 있으며 하드웨어(카메라, 센서)를 제어할 수가 있고 앱의 기본골격인 네이티브 SDK(안드로이드 SDK 또는iOS SDK)를 이용해서 만들기 때문에 앱스토어에 등록해서 판매할 수 있습니다.
- 하이브리드 앱의 장점 : 구동속도가 모바일 웹 보다 빠릅니다. 하나의 소스로 모든 모바일 플랫폼에서 실행 가능합니다. 하드웨어기능을 사용할수 있습니다. 앱스토어를 통해 배포되나 한번 다운받은 앱은 항상 고정되어 변하지 않는 요소들을앱으로 만들어서 사전에 배포하고 변동되는 컨텐츠만 그때 그때 다운로드 받으면 됩니다.
- 하이브리드 앱의 단점 : 모바일 플랫폼이 제공하는 모든 기능을사용하지는 못합니다. 네이티브 앱 보다는 속도가 떨어집니다.
네트워크가 필요 없는 앱을 Standalone 앱이라 부른다
React Native
React는 Facebook에서 만들고 있는 뷰(MVC 에서의 View)에 해당하는 부분을 컴포넌트로 만들기 위한 라이브러리이다.
특징으로는 Virtual DOM 이라는 구조체를 가지고 있으며, 해당 구조체의 전후 상태를 비교하여 변경이 필요한 최소한의 요소만 반영한다.
JSX(Javascript + XML) 라는 확장 마크업 언어를 통해 자바스크립트 코드 안에 XML 스타일의 구문을 작성할 수 있다.
React Native는 위에서 설명한 React의 UI 작성 접근 방법을 모바일로 확장하는 라이브러리이다.
기존의 웹앱(하이브리드앱)에서와 다르게 웹뷰를 통한 인터페이스 구축이 아닌, 네이티브 위젯으로 인터페이스를 구현하는 방식이다.
자세한 내용은 http://facebook.github.io/react-native/ 참고 하시거나, google 검색해보시면 좋은글 많습니다
'IT 알짜정보 > 웹,앱 ' 카테고리의 다른 글
2018 DB 점유율 랭킹 (0) | 2018.03.09 |
---|