제가 iOS 개발쪽은 경험해 보지 못했지만 확실히 iOS 대비 안드로이드 개발이 노력이 많이 들어가는거 같아서


펍에 계신분들은 어떤 생각을 가지고 계신지 경험담? 같은걸 듣고자 하는데요


제가 그동안 경험한 바로는 최소 120% 에서 많게는 200%까지의 노력 및 개발기간이 들어가는거 같습니다.


특히 UI 부분에서 동일한 품질을 내기 위해서는 뼈를깍는 노력이 필요한듯 싶습니다. 이렇게 해도 사실 동일한


품질까지 가면 다행이고 다소 떨어지죠..



개발쪽에서 iOS 대비 장점이라고 한다면 컨텐트 프로바이더등이 AdapterView와의 연계가 좋아서 업데이트 코드등을


넣을 필요가 없기에 이런 데이터 다루는 부분은 확실히 iOS대비 좋다고 느꼈습니다. 






그외 iOS 대비 노력이 많이 들어가는 부분은 여러가지가 있지만 특히나 화면 크기가 고정되지 않았다는 점에서 흔히 말하는


통짜이미지 사용시에 drawable을 구분해서 리소스를 관리하거나 어떨때는 layout을 따로 작성해줘야 한다는점등이 있고


애니메이션 같은 경우는 아직 3.x 대 이상에서 나온 PropertAnimator를 쓰기에는 하위호환 문제가 있기 때문에


TweenAnimation으로 최대한 구현을 해야 되는 상황인데 아시다 시피 TweenAnimation이 단순히 장면 이동이라서 


뷰의 상태까지 반영하려면 AnimationListener로 뷰의 상태를 제어해줘야 하기때문에 이걸로 iOS와 동일한 수준의


애니메이션을 구현하는게 여간 힘든게 아니더군요 


폰트를 써야 될 경우 폰트바인딩도 제법 문제가 되는게 xml에서 지정해 줄 수 없고 이탤릭, 볼드 등을 묶을 수 없기때문에


assets에서 로딩한다음 뷰에 직접 일일히 설정해줘야 하죠 액티비티내에서 동일한 폰트만을 쓰는 경우라면 액티비티의


최상위 뷰부터 최하위 뷰까지 돌면서 TextView만 instanceof 검사해서 넣어주면 되지만 이럴경우는 사실 드물죠


마지막으로 이건 안드로이드 사용의 장점이라고 할 수 있는 부분이 개발시에는 엄청난 작업량으로 돌아오는 경우인데요


SD카드를 사용하여 파일을 저장하고 제어해야 하는 경우 사용자가 USB 이동식 디스크로 만들거나 혹은 파일매니저


프로그램으로 파일을 지워버리거나 할 경우가 있고 혹은 사용중에 unmount 시킬경우 또는 sd카드를 빼버릴 경우등을


다 고려해서 개발해야 되더군요 사실 이런부분은 굉장히 드물긴하나 발생하면 제법 치명적인 문제가 발생하여 앱이


꼬여서 다시 설치해야 하거나 하는 경우도 불러올 수 있기 때문에 처리를 안하고 넘어 갈 수 있는 부분도 아니더군요 


그렇다고 폰 데이터로 모조리 저장하자니 넥서스원 같은 폰들이 문제구요 sdcard로 설치하겠금 만들어도 일단 패키지


크기가 크면 사람들이 꺼리는 습성이 생겼더군요 그래서 sdcard에 저장할 수 밖에 없죠..



가장 문제는 심리적으로 느끼는 자괴감입니다. 같이 개발을 시작했는데 저쪽보다 더디고 이러니 환경적인 여건을 제쳐두고


느끼는 상실감이 제법 크게 느껴지더군요 iOS로는 저만큼 만들었는데 나는 아직 여기까지 밖에 못했네 이런부분요