[Daily Contents] 앱? 웹? 어떤 플랫폼으로 개발할까?
웹? 앱? 고민된다면 우리 서비스의 특징과 우리 팀의 역량을 살펴보자!
플랫폼 고민
- 모바일? 웹? 하나만? 같이? 모바일은 IOS? 안드로이드? 크로스 플랫폼?
웹의 특징
장점
- 브라우저만 있으면 어디서든 접속 가능
- 모바일 앱은 배포하기 위해 마켓에 등록해야함
- 모바일 앱의 사용자는 다운받고 실행받아야하는 불편함
- 웹 페이지가 업데이트된 후 배포 속도가 빠름
- 모바일 앱은 사용자마다 배포되는 때가 다름
- 플랫폼 환경에 제약이 없음
- 모바일 앱과 다르게 안드로이드, ios 등 따로 개발할 필요가 없음
단점
- 모든 것을 다운받아야하기 때문에 속도가 느림 (페이지 전환되는 느낌)
- UI 사용성이 앱보다 좋지 않음
- 연결 위해서 URL 입력해야함
모바일 앱의 특징
장점
- 앱마켓 사용 가능 : 다양한 수익 창출
- 앱을 만들었다면 꼭 마켓에 배포해보기
- 푸시알람, 주소록, 카메라, GPS 등 스마트폰 기능 사용 가능
- 이런 리소스를 사용하는 것이 필요한 서비스라면 앱 추천
- 사용자들의 서비스 실행 편함 : 아이콘 클릭으로 서비스 시작 가능
- 스마트폰에 최적화 됨 = 속도 빠름
- 메모리 적인것, UI등이 최적화 되어있어 성능 좋음
- UI 사용성이 스마트폰에 최적화 되어 있음
단점
- 마켓 등록 위해 개발자 등록 해야함
- 사용자가 앱을 다운 받아야하는 불편함
- 받았다가 바로 삭제하는 경우 많음
- IOS, AOS 모두 개발 필요
- 앱이 수정되면 마켓에 새로 배포해야함 = 배포까지 시간 오래걸림
- 사용자가 사용하는 디바이스에 OS 따라 버전을 관리해야함
예시) 카카오톡
- 사용자가 서비스에 자주 접속 = 접속 간편해야함
- 메세지 왔을 때 빠른 확인 필요 = 알람 필요
- UI 매우 중요 = 최적화 필요
- 간편한 인앱 결제 기능 필요 = 이모티콘, 기프티콘 등
- 반대 예시) 네이버 = 굳이 사용자가 앱으로 메일 확인할 필요 없다면…
일반적인 서비스의 구성
- 백(REST API), 프론드(Web + 모바일 앱)
- 백(REST API), 프론드(Web)
개발의 현실
- 새로운 개발 프로젝트에 딱 맞는 인원 배치 어려움
- 해본 사람이 세팅하고 리드하는 동안 경험 없는 팀원이 공부를 조금 더 하고 시작
- 정해진 시간 안에 완성해야함 = 모든 기능 넣기 어려움
- 프로젝트 : 정해진 자원과 한정된 기간 내에 최대한 완성도를 높이는 것
타협 방법
- 공통의 목표 정하기
- 백엔드 안해봤는데 공부해서 결과물 만들고 싶어 등
- 우리가 구현하고자 하는 핵심 기능 명확히 정의하고 개발자 배치
- 공부해서 앱할래, 현실과 타협해서 웹할래?
- 우리 팀의 역량 객관화
- 서비스 구현하는 것 뿐만 아니라 서비스 구현까지 개발자의 역할
Q&A
Q. 하나의 서버로 웹과 앱 모두를 동시에 서비스할 수도 있나요?
A. 웹페이지, 모바일 두 개 다 모두 프론트엔드임. 동일한 프론트가 같은 서버에 API를 요청하면 안될까?
댓글남기기