[Daily Contents] 앱? 웹? 어떤 플랫폼으로 개발할까?


웹? 앱? 고민된다면 우리 서비스의 특징과 우리 팀의 역량을 살펴보자!

플랫폼 고민
 - 모바일? 웹? 하나만? 같이? 모바일은 IOS? 안드로이드? 크로스 플랫폼?

웹의 특징

장점

  • 브라우저만 있으면 어디서든 접속 가능
    • 모바일 앱은 배포하기 위해 마켓에 등록해야함
    • 모바일 앱의 사용자는 다운받고 실행받아야하는 불편함
  • 웹 페이지가 업데이트된 후 배포 속도가 빠름
    • 모바일 앱은 사용자마다 배포되는 때가 다름
  • 플랫폼 환경에 제약이 없음
    • 모바일 앱과 다르게 안드로이드, ios 등 따로 개발할 필요가 없음

단점

  • 모든 것을 다운받아야하기 때문에 속도가 느림 (페이지 전환되는 느낌)
  • UI 사용성이 앱보다 좋지 않음
  • 연결 위해서 URL 입력해야함

모바일 앱의 특징

장점

  • 앱마켓 사용 가능 : 다양한 수익 창출
    • 앱을 만들었다면 꼭 마켓에 배포해보기
  • 푸시알람, 주소록, 카메라, GPS 등 스마트폰 기능 사용 가능
    • 이런 리소스를 사용하는 것이 필요한 서비스라면 앱 추천
  • 사용자들의 서비스 실행 편함 : 아이콘 클릭으로 서비스 시작 가능
  • 스마트폰에 최적화 됨 = 속도 빠름
  • 메모리 적인것, UI등이 최적화 되어있어 성능 좋음
  • UI 사용성이 스마트폰에 최적화 되어 있음

단점

  • 마켓 등록 위해 개발자 등록 해야함
  • 사용자가 앱을 다운 받아야하는 불편함
    • 받았다가 바로 삭제하는 경우 많음
  • IOS, AOS 모두 개발 필요
  • 앱이 수정되면 마켓에 새로 배포해야함 = 배포까지 시간 오래걸림
  • 사용자가 사용하는 디바이스에 OS 따라 버전을 관리해야함

예시) 카카오톡

  • 사용자가 서비스에 자주 접속 = 접속 간편해야함
  • 메세지 왔을 때 빠른 확인 필요 = 알람 필요
  • UI 매우 중요 = 최적화 필요
  • 간편한 인앱 결제 기능 필요 = 이모티콘, 기프티콘 등
  • 반대 예시) 네이버 = 굳이 사용자가 앱으로 메일 확인할 필요 없다면…

일반적인 서비스의 구성

  • 백(REST API), 프론드(Web + 모바일 앱)
  • 백(REST API), 프론드(Web)

개발의 현실

  • 새로운 개발 프로젝트에 딱 맞는 인원 배치 어려움
    • 해본 사람이 세팅하고 리드하는 동안 경험 없는 팀원이 공부를 조금 더 하고 시작
  • 정해진 시간 안에 완성해야함 = 모든 기능 넣기 어려움
  • 프로젝트 : 정해진 자원한정된 기간 내에 최대한 완성도를 높이는 것

타협 방법

  • 공통의 목표 정하기
    • 백엔드 안해봤는데 공부해서 결과물 만들고 싶어 등
  • 우리가 구현하고자 하는 핵심 기능 명확히 정의하고 개발자 배치
    • 공부해서 앱할래, 현실과 타협해서 웹할래?
  • 우리 팀의 역량 객관화
  • 서비스 구현하는 것 뿐만 아니라 서비스 구현까지 개발자의 역할

Q&A

Q. 하나의 서버로 웹과 앱 모두를 동시에 서비스할 수도 있나요?
A. 웹페이지, 모바일 두 개 다 모두 프론트엔드임. 동일한 프론트가 같은 서버에 API를 요청하면 안될까?

댓글남기기