앱 개발보다 앱 출시가 더 어려운 이유

홈페이지를 개발하는 사람들은 종종 앱 개발도 비슷할 것이라고 생각합니다. 하지만 실제로는 전혀 다릅니다. 홈페이지는 개발이 끝나면 서버에 업로드하는 순간 바로 서비스가 가능합니다. 반면 앱은 개발이 끝난 후에도 넘어야 할 과정이 많습니다. 홈페이지는 내가 결정한다 홈페이지는 개발자가 수정하고 서버에 업로드하면 바로 반영됩니다. 문제가 있으면 다시 수정해서 업로드하면 됩니다. 누군가의 승인을 받을 필요도 없습니다. 앱은 스토어가 결정한다 앱은 개발이 끝났다고 바로 공개할 수 없습니다. Apple App Store와 Google Play Store의 심사를 통과해야 합니다. 개발자가 보기에는 아무 문제가 없어도 심사 과정에서 수정 요청이 들어올 수 있습니다. 경우에 따라서는 기능 삭제나 정책 변경이 필요할 수도 있습니다. 개발보다 심사가 더 오래 걸릴 수 있다 특히 최근 구글 플레이 신규 개인 개발자 계정은 비공개 테스트 절차까지 거쳐야 합니다. 제가 최근 출시한 앱의 경우는 개발보다 출시 절차에 더 많은 시간이 소요되었습니다. 내부 테스트, 비공개 테스트, 프로덕션 심사, 스토어 반영까지 거치다 보니 실제 정식 출시까지 약 20일 정도가 필요했습니다. 출시 후에도 끝이 아니다 정식 출시가 완료되면 모든 것이 끝날 것 같지만 그렇지 않습니다. 실제 사용자가 앱을 사용하기 시작하면 다양한 의견과 수정 요청이 들어옵니다. 문구 수정, 안내 메시지 변경, 사용 방법 개선 등 작은 요청들이 이어집니다. 개발자는 수정뿐 아니라 테스트와 검증도 함께 진행해야 합니다. 그래서 앱은 홈페이지와 다르다 홈페이지는 개발이 끝나면 바로 공개할 수 있습니다. 하지만 앱은 개발이 끝난 후부터가 진짜 시작이라고 해도 과장이 아닙니다. 심사, 출시, 운영, 유지보수까지 모두 포함해서 생각해야 하기 때문입니다. 그래서 많은 개발자들이 "앱 개발보다 앱 출시가 더 어렵다"는 말을 하게 되는 것 같습니다.

서버(Server)와 클라이언트(Client)의 쉬운 이해

클라이언트(Client)란?

서버에 일정 서비스를 요구하는 자로서 컴퓨터에 앉아있는 "나"로 보시면 됩니다.


서버(Server)란?

클라이언트가 요청하는 정보를 제공해주는 컴퓨터 또는 정보 제공에 참여하는 컴퓨터 프로그램이라고 할 수 있습니다.


서버(Server)와 클라이언트(Client)의 관계

구글에서 내가 원하는 정보를 얻고자 하는 경우의 예를 들어보겠습니다.

찾고자 하는 정보가 "2022년 월드컵"이라 했을 경우 클라이언트인 나는 구글에 "2022년 월드컵"이라 타이핑 하겠죠? Enter 키를 치는 순간 서버는 아마도 열심히 일을 할 것입니다. 이 과정이 구글 서버 쪽에 내가 원하는 정보를 달라고 요구하는 것입니다. 그러면 구글은 정보를 담고 있는 컴퓨터에서 일정 프로그램에 의해서 클라이언트가 요구한 데이터를 검색하고 정리하여 내 컴퓨터로 보여줍니다.


즉, 클라이언트는 웹 문서, 동영상, 사진, 각종 사이트 등 원하는 서비스를 요청하는 고객이고 서버를 이러한 서비스를 만족 시킬 수 있는 정보나 처리 시스템을 가지고 있는 회사(?), 상인(?) 따위로 풀어 보면 쉽게 답이 나올 듯 합니다. 이래도 어렵나요?


이제 클라이언트나 서버라는 말이 나오면 너무 어렵게 생각하지 말고 내가 시장 가서 물건 산다고 가볍게 생각하고 컴퓨터에 앉아보세요~^^ 서버(Server)와 클라이언트(Client)

댓글