남자의 옷장 어플리케이션 개발기 #7

Google Analytics 왜이럼?? 개발할 때는 잘 작동하더니만 어플리케이션 등록할려고 빌드를 하면 뭐라뭐라 나오면서 빌드가 실패한다….

구글링을 해보니 아이폰 5s부터 arm64 아키텍쳐가 도입되었는데, 구글이 이를 지원하는 버전을 내놓지 않아서라는 답변이 있다. 하지만 이건 3개월 전에 올라온 답변이라 신뢰도가 그리 높지 않아 보이지만 아무튼 빌드가 안되니 별 수 있나. 이거 해결하느라 릴리즈를 늦추느니 차라리 이 코드를 빼고 가는 게 나은 방법인 듯. 나중에 Flurry를 사용하는 것도 생각해 봐야 하겠다.

어쨌든 이렇게 해서 iOS는 개발을 진짜로 완료했다. 보통 검수 기간이 1주일 정도 걸리니까 다음주 초쯤에는 검수가 완료되겠지?

 

이제 안드로이드 차례.

안드로이드는 개발자 입장에서 참 별로다.

iOS는 제공되는 API만 갖고도 충분히 성능 좋고 아름다운 어플리케이션을 만들 수 있지만 안드로이드는 제공되는 API만 사용하게 되면 그냥 작동만 하는 어플리케이션이 만들어진다.

특히 남자의 옷장 같이 다수의 이미지를 스크롤뷰 안에서 보여 주는 어플리케이션의 경우는 스크롤 성능이 정말 참담한 수준일 뿐 아니라, 이미지가 메모리를 잡아 먹어서 어플리케이션이 종료되는 경우도 허다하게 발생한다. 오죽하면 안드로이드 개발자가 이 부분에 대한 튜토리얼을 따로 만들어 안드로이드 개발자 센터에 등록을 해 놨을까.

하지만 돌이켜 생각해 보면 약 2-3년 전 iOS에서도 비슷한 일이 이슈가 됐던 것 같기는 하다. 이미지로 구성된 테이블의 스크롤 성능을 향상시키는 방법에 대해 여러 개발자들 결과물을 올려 놓고 토론했던 것 같은데, 어느새 iOS는 이 부분을 OS가 알아서 해결해 주도록 변경한 것 같다.

안드로이드의 스크롤 성능이야 젤리빈 이후 버전에서는 많이 좋아졌다고는 하지만, iOS에 비하면 아직 갈 길이 멀어 보이는 것은 사실이다.

거기다 안드로이드가 아무리 업데이트를 해서 성능을 올려 놓아도 국내에선 진저브레드 사용자가 30%가 넘는다고 하니 백약이 무효한 실정….

참 답답하다. 제조사가 OS를 커스터마이징하기 때문에 구글에서 업데이트를 아무리 해봐야 제조사가 이를 뒷받침해주지 않으면 사용자는 새로운  버전의 OS를 사용하지도 못하는.. 에휴.

 

안드로이드는 기본적으로 스크롤은 상하로만 작동되도록 설계가 되어 있다. 물로 좌우로 스크롤되는 뷰도 존재하긴 하지만 이는 나중에 끼워 넣은 것이고, OS의 기본 설계는 상하 스크롤을 지향하는 것 같다. 그래서 상하로 스크롤되는 뷰 안에 좌우로 스크롤되는 뷰를 넣으면 성능은 정말 최악으로 치닫는다. 남자의 옷장에서 아이템별로 세부 정보를 보는 페이지가 이렇게 구성되어 있는데, 아무래도 안드로이드에서는 레이아웃을 다르게 가져가야 할 것 같다.

좌우로 스크롤되는 뷰를 넣는 대신 더보기 버튼을 두어 이 버튼을 클릭하면 다시 상하로 스크롤되는 뷰가 보이도록 해야겠다.

이게 예전부터 생각해오던 바인 다수의 플랫폼을 지원할 때 꼭 모든 플랫폼에서 동일한 UX를 추구하기보다는 각각의 플랫폼에 맞고, 각 플랫폼 사용자들이 익숙한 UX로 구성해야 한다는 내 생각과도 부합하는 것 같기는 하다.

 

이렇게 됐든 저렇게 됐든 안드로이드 개발은 iOS 개발보다 별로 재미는 없다.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s