이제 만 두 살이 되어가는, 빈 페이지에서 시작했던 웹서비스가 무럭무럭 자라 많은 곳에서 선보여지고 있다. 모든 스크린 사이즈에 대응 가능한 반응형 모바일 웹으로 제작되었는데, 현장에서 앱을 찾는다는 얘기가 꾸준히 들려온다. 새로운 기획은 쏟아져나오고, 현재 기능들의 유지 보수도 챙겨야 하고, 리소스는 한정된 상황. 이러한 인적, 시간 경제적, 타겟 유저 등등의 환경을 고려해서 방향을 찾고 있었다.
내부적으로 PWA를 적극 검토하고 있던 와중, 외부 관계자의 도움으로 flutter 를 통해 앱패키징까지 해주실 수 있다는 연락을 받았다. 올레! 그래서 그 분과의 협력 하에 하이브리드앱을 만드는 것으로 얘기가 급진전-
모바일웹, 웹앱, 하이브리드앱, 네이티브앱 등 다양한 용어가 있었는데 찾아보고 크게 Web, Hybrid, Native 세 가지로 축약했다. 장단점을 포함한 특징과 함께 정리하면 이렇다.
웹 브라우저에 기반한 모든 소프트웨어 어플리케이션. 반응형 웹앱, 모바일 웹앱 등
Android 또는 iOS와 같이 특정 플랫폼을 위해 만들어진 소프트웨어 프로그램
Android 모바일앱은 Kotlin 또는 Java 로, iOS 는 Swift 또는 Objective C 를 사용하여 만든다. 기기와 플랫폼에 맞춰 개발되는 만큼, 최적화된 성능과 최신 기능을 빠르게 적용할 수 있다.
Native app 의 shell 에 쌓인 Web app
내부 동작은 Web app 과 유사하나, Native app 처럼 설치할 수 있다. 기본적으로 내장된 API (GPS, 카메라 등) 에 접근할 수 있다. 잘 알려진 Yelp 와 인스타그램도 하이브리드 앱이다.
Hybrid app 역시 각 플랫폼에 맞는 코드를 작성해야 한다는 점에서 Native app 과 비용 차가 크지 않다고 하나, 일반적으로 4-6개월내 개발되어야 하는 경우 더욱 빠르게 만들 수 있는 하이브리드앱이 선호된다고 한다.
그 외 개발팀 내부에서 앱과 함께 찾아오는 것들(?)도 함께 챙겨봤다. 👀
인앱결제를 할 경우, 플랫폼에 지불되는 수수료도 함께 챙겨봐야 하지만 우리는 그런 모델이 아니므로 패쓰- 그리고 애플은 릴리즈 심사가 까다롭다고 하니.. (심사가 거절되어도 어디서! 왜! 거절되었는지 안 알려주고, 어떤 항목을 위반했다고만 알려온다고.. 😨) 스토어 배포 지침서에서 언급하는 Native 구현 요구 조건 등을 잘 살펴보고 만족하도록 준비해야겠다. 첫 릴리즈 이후에는 배포를 최소화하는 금융권 어플을 모방하면 어떨까 한다.
[참고자료]