본문 바로가기
Product_Manager

[코드스테이츠 PMB 7기] 몇몇가지 앱의 형태(네이티브 앱, 크로스 플랫폼 앱, 웹앱, PWA, 하이브리드)의 특징 정리

by 매드포지 2021. 7. 16.
728x90
반응형

 

생각을 시작하며...

  몇 년 전까지만 해도 앱을 개발하기 위해서는 Android나 iOS의 네이티브 언어를 할 수 있는 개발자들을 각각 고용하거나 정말 비싼 돈을 주고 외주를 맡겨야 했다. 문제는 외주나 혹은 네이티브 앱 개발자를 둔다고 하여도 기존 개발자나 회사의 직원들이 앱을 유지 보수할 수 있는 방법이 거의 전무했기 때문에 누구도 네이티브 앱 개발자에게 '개선 사항을 반영해주세요'라는 말을 쉽게 못 할 정도로 힘(?)이 막강했다. 그리고 최고의 방어 수단인 '여기선(앱에선) 그게 안돼요, (앱에선 구현이) 힘들 거 같아요'라는 말은... 기획의 흐름을 끊어버리는 맥 커터(?)의 역할을 톡톡히 했다고 할 수 있다. (물론 이건 내가 경험한 극단적인 케이스이다. 이런 사람보다는 좋은 네이티브 개발자들이 훨씬 더 많다.)

  하지만 이제는 네이티브 앱을 고수하지 않고 취사선택이 가능할 정도로 여러 가지 방법이 나와있으며 또한 웹앱이나 모바일 웹 방식을 통해도 기능 구현이 잘 되는 정도로 기술이 발전하였다. 또한 PWS(Progressive Web App)나 AMP(Accelerted Mobile Pages)을 통해서 웹에서 시작했지만 점차 발전하여 APP의 기능까지 구현할 수 있는 방식이 나오고 있는 가운데 우리는 각각의 특징을 공부해야 하고 사업모델과 서비스의 성격에 맞게 선택해야 할 것이다.


 

네이티브 앱


  네이티브 앱의 경우는 Android, iOS를 위한 고유 언어로 개발된 앱이라고 할 수 있다. 플랫폼이 2개이기 때문에 Android, iOS 각각 개발자가 있어야 하며 특히 스마트 기기(스마트폰, 타블릿, 스마트 TV, 스마트 시계 등)와의 호환이 잘 되어서 그 기기들의 고유 기능(카메라, 푸쉬알림, GPS 등)들을 활용한 서비스를 구축할 수 있다.

만들기 위해서

  • Android - Kotlin(요즘)/Java(예전)
  • iOS - Swift(요즘)/Objectiv-C(예전)

장점

  • 속도가 빠르다.
  • 각각의 기기에 최적화가 잘 되어있다.
  • 직관적이고 상호작용이 잘된다.
  • 스마트 기기의 기능들을 모두 사용할 수 있다. (카메라, GPS, 센서 등)

단점

  • 두 가지 플랫폼 (Android, iOS) 모두 출시를 해야 한다.
  • 앱 심사에 차이가 있어서 동시 출시일을 맞추기 어렵다.
  • 구현을 위해서 특정 언어를 학습해야 한다.
  • 개발, 유지, 관리가 어렵다. (언어, 비용, 앱 스토어 업데이트 등)

네이티브 앱을 사용하는 서비스

  • Youtube (유튜브)
  • Facebook
  • Skype
  • 네이버 (APP)

크로스 플랫폼 애플리케이션 (Cross-Platform Application)


  요즘은 이러한 단점들을 보완하기 위해 크로스 플랫폼 애플리케이션(Cross-Platform Application)으로 개발을 하는 추세라고 한다. 불편했던 각각의 플랫폼으로 개발을 하는 것이 아닌 새로운 방식으로 개발을 하여 양쪽의 플랫폼에서 이해할 수 있는 언어로 변환(컴파일)을 해주는 것이다. 또한 크로스 플랫폼 애플리케이션의 경우 결과물 자체는 Native App과 같다고 볼 수 있다고 한다.

만들기 위해서

  • React Native - JavaScript
  • Flutter - Dart
  • Xamarin - C#

장점

  • 한 번의 개발로 Android, iOS 모두 호환 가능하다.
  • 개발 속도가 빠르다. (Native App에 비해)
  • 비용적인 측면에서 비교적 저렴하다.
  • 관리가 쉽다.

단점

  • 스마트 기기들의 기능들을 아직은 Native App처럼 완전히 사용할 수 없다.
  • 네이티브로 만들어진 앱에 비해서 앱 무게가 크고 속도가 느릴 수 있다.

크로스 플랫폼 애플리케이션으로 만들어진 서비스

  • 페이스북 애드 매니저
  • 에어비앤비
  • 우버 이츠
  • 디스코드
  • 인스타그램 (하이브리드)
  • 라프텔

웹앱 (모바일 웹) - Web Apps/Mobile Websites


  웹앱의 경우 App자체가 없이 URL로 구성되어 앱과 비슷한 경험을 주는 것을 의미한다. 웹앱과 모바일 웹을 구분할 수는 있겠지만 그 구분이 너무 모호하며 또한 지금의 기술에 있어서는 두 가지를 굳이 나눌 필요는 없을 듯하다. 그래서 웹앱은 앱이 없이 인앱의 브라우저(Safari, Chrome, Firefox 등)를 통해 앱처럼 보여주는 것을 뜻한다고 할 수 있다. (그래서 앱이지만 url 주소가 있어 컴퓨터 브라우저에서도 구동이 가능하다.)

만들기 위해서

  • HTML/CSS/JavaScript

종류

  • 반응형
  • 적응형

장점

  • Native App보다 만들기 쉽다. (HTML/CSS/JS)
  • 관리하기 쉽다.(기본의 개발자 + host를 하기 쉽다)
  • Web 기반이기 때문에 언어, 기술을 공유할 수 있다.
  • 만들기도 관리하기도 가장 가격적인 측면에서 싸다.
  • 하나를 만들어서 모든 플랫폼 (iOS, Android) 모두 사용이 가능하다. (인앱의 브라우저 작동이 가능하다면.)

단점

  • 구동을 하는데 브라우저가 필요하다. (URL을 사용자가 직접 쳐서 들어가야 할 수도 있다.)
  • Native App보다 속도가 느리다. (Native App의 경우에는 그 기기에 맞게 최적화가 잘 되어있다.)
  • Native App보다 스마트 기기에서 사용하는 기능들을 사용할 수 없다. (GPS, 카메라 등)
  • Native App보다 덜 직관적이다.

웹앱을 사용하는 서비스

  • 네이버(브라우저를 통한 모바일 웹)
  • 페이스북(브라우저를 통한 모바일 웹)
  • 인스타그램(브라우저를 통한 모바일 웹)

PWA (Progressive Web Application)


  PWA의 경우에는 웹앱의 진화판으로 웹에서도 앱처럼 구동을 할 수 있게끔 하게 해주는 방식이다.
Native App에서만 사용할 수 있었던 기능들의 일부를 PWA에서는 사용할 수 있게 만들어주고 궁극적으로 APP 수준으로 발전해 가는 웹을 지칭한다.
  그래서 PWA의 경우에는 일반 웹앱의 기능들이 발전해 가면서 일정 수준으로 APP처럼 구동을 하게 되면 PWA라고 하게 되는데 Android의 경우에는 APP처럼 구글 플레이 스토어에서 다운로드할 수 있다. PWA는 위에서 언급했었던 크로스 플랫폼 애플리케이션과 비슷하게 웹앱을 보완하기 위해 나왔지만 결과물은 APP이 아닌 Web으로 구현이 된다고 할 수 있다.

장점

  • 개발이 빠르다.
  • 일정 부분이지만 Native App에서 사용하는 기술들을 사용할 수 있다.
  • Android의 경우에는 플레이스토어에서 다운로드할 수 있게 해 준다.
  • 기능에 따라서 app의 아이콘처럼 핸드폰 화면에 꺼내놓고 사용할 수 있다. (일일이 브라우저를 통하지 않아도 된다.)
  • 계속해서 기능들을 추가할 수 있다.

단점

  • 스마트 기기들의 기능들을 아직은 Native App처럼 완전히 사용할 수 없다.

PWA의 서비스

  • Twitter
  • Starbucks
  • Pinterest
  • The Wachington Post
  • Trivago
  • Flipboard
  • Spotify
  • Uber
  • AliExpress
  • Tinder
  • Goggle Maps
  • Noon
  • Forbes

하이브리드 앱 (Hybrid Mobile Apps)


  말 그대로 하이브리드는 2가지를 합쳐놓은 뜻으로 app과 web을 합쳐놓은 것이라고 볼 수 있다. 기본은 네이티브로 만들고 기능들을 web으로 구현해 놓은 형태라고 할 수 있다. 이렇게 web으로 구현해 놓은 부분을 web view라고 하여 브라우저를 보여주는 것이다.

만들기 위해서

  • Native app에서 web view를 구동

장점

  • 개발이 쉽고 빠르다. (HTML/CSS/JavaScript) - Angular/Ionic 같은 프레임워크 이용
  • Native App보다 개발 비용이 적게 든다. (고용, 관리)
  • 한 번의 개발로 모든 플랫폼의 적용이 가능하다.
  • 브라우저가 기본 구동에는 필요 없다. (결과물이 APP이기 때문)
  • 스마트 기기의 기능들을 대게 사용할 수 있다. (카메라, GPS, 센서 등)

단점

  • Native App보다 느리다.
  • Web apps보다는 유지비용이 비싸다. (데스크탑에서의 구동이 중요하면 하이브리드 앱보다는 웹앱을 선택할 수 있지만 대부분 하이브리드 앱으로 개발을 하는 게 나을 수도) 
  • Native App보다 상호작용이 덜하다. (버튼, 플러터, 토스트 등)

하이브리드 앱을 사용하는 서비스

  • Gmail (지메일)
  • App Store & iBooks (앱스토어, 아이북스)
  • Instagram (인스타그램)
  • Evernote (에버노트)
  • Baskin-Robins (베스킨라빈스)
  • 11번가
  • 쿠팡

생각을 마치며...

  사실 서비스들을 찾아보면서 어떤 형태의 앱인지 구분하는 것이 이제는 힘들았다. 그만큼 각각의 방식이 비슷한 형식을 띄고 있고 또한 기능들의 구현도 어떤 형태이던지 간에 Native App과 비슷하게 발전을 하고 있는 듯하다.
  또한 이렇게 정리를 하다 보니 결국 Native App을 만들기 어렵기 때문에 이런, 저런 방법으로 돌려 Native App과 비슷한 기능을 구현하려는 노력인 것처럼 보인다. 물론 충분한 자본력으로 2개의 플랫폼 각각을 개발할 수 있는 여건이 되지 않는다면 사실 하이브리드나 PWA로 개발을 하는 것이 좋을 듯하다. 물론 서비스의 특성에 따라서 앱이 필요한지 필요하지 않은지를 확실히 결정을 하는 것이 선행이 돼야 하겠지만 말이다.

 

참고자료

1. Mobile Apps - Web vs. Native vs. Hybird

2. PWA가 뭔가요? (+모바일 앱의 종류)

3. 20+ PWA Examples That Will Inspire You to Build Your Own

 

20+ PWA Examples That Will Inspire You to Build Your Own

Have you ever wondered what the next biggest web development trend is? Since 2015, the web community has been buzzing around progressive web apps. Such websites look and feel like native apps while operating inside regular browsers. It became easier to con

onilab.com

 

제가 공부하고, 이해해본 PM에 관련된 내용을 포스팅으로 남깁니다.
잘못된 생각이나 혹은, 이견, 참고자료 등은 댓글로 남겨주세요.
감사합니다

 

728x90
반응형

댓글