이 글은 코드스테이츠 PM부트캠프 학습 과제로 작성했습니다.
배우는 과정에서 작성하다 보니 잘못된 내용이나 부족한 점이 있을 수 있습니다.
부족한 점은 피드백해 주시면 감사하겠습니다.
사실 구동 방식이라기 보다는 개발 환경이라 이야기 해도 좋을까? 어렵군요🤣
요즘 많이 사용하는 React Native를 통해 만드는 웹뷰부터 Swift나 Kotlin을 사용해 만드는 네이티브 앱까지 다양한 방법으로 만들어 집니다.
PC에서 브라우저를 통해 화면을 보듯 모바일에서 브라우저를 통해 서비스를 이용할 수 있습니다. 반응형으로 만들면 한번만 개발하면 됩니다 :)
쉽게 이야기하면 아이폰에서 사파리를 통해 들어가는 사이트라고 생각하시면 됩니다!
장점
1. 만들어 두면 모든 기기에서 이용할 수 있습니다.
2. 유지보수가 용이 합니다.
단점
1. 카메라, 푸시알림 등 휴대폰 자원을 사용할 수 없다.
2. 고객이 자주 사용하기 불편합니다(브라우저를 열고 검색을 해서 들어가야 함)
사실 웹앱이라는 말이 어떤 의미인지 정확하게 이해하기 어려웠습니다🤣. 웹에 앱의 껍데기를 씌운 느낌이라 이야기 하는 글을 보았는데.. 제가 알고 있는 선에서 편의상 pwa(Progressive Web App)를 기준으로 이야기해 보겠습니다.
혹시 web app 과 pwa의 차이를 아시는 분이 있다면 조언 부탁드립니다🙏
장점
1. 네이티브에 비해 개발과 유지보수가 쉽다.
2. 앱과 같이 고객이 디바이스에서 빠르게 접근할 수 있다.
3. 인앱 수수료를 내지 않아도 된다☺️
단점
1. 대중에게 생소한 UX이다. 나도 생소하다
2. 디바이스 자원을 사용하는데 제한이 있다(하지만 점차 다양한 자원을 지원해 주는 흐름인 듯 합니다..!)
네이티브 앱과 웹뷰를 혼합된 앱입니다. 은행권 서비스에서 많이 사용하는 듯 해요!
HTML 기반의 웹 앱에 네이티브 요소를 추가한 형태입니다.
장점
1. 브라우저API와 네이티브 API를 이용할 수 있습니다.
2. 대체적으로 네이티브에 비해 개발 공수가 적게 들어갑니다.
단점
1. 네이티브 앱에 비해 사용가능한 자원이 제한적입니다.
2. 네이티브 앱에 비해 느립니다.
안드로이드나 iOS에 특화된 프로그램을 말합니다. 안드로이드의 경우 Kotlin 또는 Java로 네이티브 앱을 만들 수 있으며 iOS의 경우 Swift 또는 Objective C로 만들 수 있다.
장점
1. 빠르고 안정적입니다.
2. 다양한 디바이스 자원을 사용할 수 있습니다.
단점
1. 안드로이드와 iOS를 따로 개발해야 합니다.
2. 비용과 시간이 많이 듭니다.
3. 관련 전문지식을 가진 개발자가 적습니다(채용에 어려움이 있을 수 있습니다.)
주변에 보면 React Native로 개발하는 경우를 많이 보았습니다.
만들고 싶은 서비스에 따라 적절한 방법을 도입하는 것이 중요해 보입니다 :)