하이브리드앱 협업기록 #1단계: 도입검토

Minjae Kwon·2022년 10월 25일
0

 🍉   Learning Journal

목록 보기
36/36

Prologue

이제 만 두 살이 되어가는, 빈 페이지에서 시작했던 웹서비스가 무럭무럭 자라 많은 곳에서 선보여지고 있다. 모든 스크린 사이즈에 대응 가능한 반응형 모바일 웹으로 제작되었는데, 현장에서 앱을 찾는다는 얘기가 꾸준히 들려온다. 새로운 기획은 쏟아져나오고, 현재 기능들의 유지 보수도 챙겨야 하고, 리소스는 한정된 상황. 이러한 인적, 시간 경제적, 타겟 유저 등등의 환경을 고려해서 방향을 찾고 있었다.

내부적으로 PWA를 적극 검토하고 있던 와중, 외부 관계자의 도움으로 flutter 를 통해 앱패키징까지 해주실 수 있다는 연락을 받았다. 올레! 그래서 그 분과의 협력 하에 하이브리드앱을 만드는 것으로 얘기가 급진전-

🦒 앱 형태

모바일웹, 웹앱, 하이브리드앱, 네이티브앱 등 다양한 용어가 있었는데 찾아보고 크게 Web, Hybrid, Native 세 가지로 축약했다. 장단점을 포함한 특징과 함께 정리하면 이렇다.

Web app

웹 브라우저에 기반한 모든 소프트웨어 어플리케이션. 반응형 웹앱, 모바일 웹앱 등

Native app

Android 또는 iOS와 같이 특정 플랫폼을 위해 만들어진 소프트웨어 프로그램

Android 모바일앱은 Kotlin 또는 Java 로, iOS 는 Swift 또는 Objective C 를 사용하여 만든다. 기기와 플랫폼에 맞춰 개발되는 만큼, 최적화된 성능과 최신 기능을 빠르게 적용할 수 있다.

  • 다양한 네이티브 기능을 사용할 수 있다. (GPS, 카메라, 마이크, 푸쉬알람, swipe gesture 등등)
  • 안정적이고 반응이 빠르다.
  • 각 OS의 유저 경험에 잘 맞는 UI 제공이 가능하다.
  • 플랫폼간 호환이 되지 않으므로 별도로 제작해야 한다.
  • 그래서 비용이 많이 들고 빌드하는데 오래 걸린다.

Hybrid app

Native app 의 shell 에 쌓인 Web app

내부 동작은 Web app 과 유사하나, Native app 처럼 설치할 수 있다. 기본적으로 내장된 API (GPS, 카메라 등) 에 접근할 수 있다. 잘 알려진 Yelp 와 인스타그램도 하이브리드 앱이다.

  • 하나의 코드베이스로 멀티 플랫폼에서 동작한다.
  • 안드로이드나 아이폰 등 각 디바이스의 특정 기능을 사용하는 데는 제약이 있다.
  • 비용, 시간, 유지보수 측면에서 용이하고 기본 API까지 사용할 수 있다.
  • 오프라인에서 동작하지 않는다.

Hybrid app 역시 각 플랫폼에 맞는 코드를 작성해야 한다는 점에서 Native app 과 비용 차가 크지 않다고 하나, 일반적으로 4-6개월내 개발되어야 하는 경우 더욱 빠르게 만들 수 있는 하이브리드앱이 선호된다고 한다.

🐆 검토 ETC

그 외 개발팀 내부에서 앱과 함께 찾아오는 것들(?)도 함께 챙겨봤다. 👀

  • 테스트 범위 증가 - 앱전용 기능, 웹뷰 테스트, 모바일 기기 테스트
  • 유지보수 난이도 증가 - 테스트 & 배포를 위한 개발 언어 및 환경의 다양성
  • 평점 관리 - 출시 퀄리티와 유지하기, 그리고 리뷰 CS
  • 가이드 준수 - 심사 reject 를 최소화 하기 위한 가이드 지침 준수 및 추후 가이드 변경에 대한 지속적 모니터링

인앱결제를 할 경우, 플랫폼에 지불되는 수수료도 함께 챙겨봐야 하지만 우리는 그런 모델이 아니므로 패쓰- 그리고 애플은 릴리즈 심사가 까다롭다고 하니.. (심사가 거절되어도 어디서! 왜! 거절되었는지 안 알려주고, 어떤 항목을 위반했다고만 알려온다고.. 😨) 스토어 배포 지침서에서 언급하는 Native 구현 요구 조건 등을 잘 살펴보고 만족하도록 준비해야겠다. 첫 릴리즈 이후에는 배포를 최소화하는 금융권 어플을 모방하면 어떨까 한다.



[참고자료]

profile
Front-end Developer. 자바스크립트 파헤치기에 주력하고 있습니다 🌴

0개의 댓글