개발자로 살아 오면서 이거 저거 만지작 거리다 보니, 모바일 플랫폼쪽 개발을 자주 해보게 됐습니다. 윈도즈 모바일(Windows Mobile), 아이폰( iPhone)  , 안드로이드(Android) 로 이거 저거 만들어 봤습니다. 본의 아니게 자주 접하다 보니 이거 저거 장단점을 비교하게 되더군요.

나름 세개를 비교하는 오만을 저질를려고 하니 자신의 생각과 다르다고 하더라도 '이 사람은 이렇게 생각하는 구나' 하고 봐 주세요.

결론부터 이야기 하자면 개발자의 입장에서 가장 좋은 것은 안드로이드 라고 봅니다.

개인 개발자 측면에서 2가지만 이야기 하겠습니다. 추후에 상업화해서 돈을 얼마나 벌 수 있는 가에 대해서는 언급하기가 힘듭니다. 저 역시 그런 것으로 돈을 벌어본 적이 없어서요.

저는 그래서 개발자 측면에서 중요한 점을 돈과 개발 효율성 에 두고 있습니다.

첫째 돈에 관해서 입니다. 안드로이드는 개발하는 데 추가로 드는 비용이 전혀 없습니다.

Windows Mobile 개발할려면 돈이 듭니다. 다른건 모르겠지만 개발툴이 무지하게 비쌉니다. 모바일 개발 기능까지 포함한 Visual Studio 살려고 들면 몇백만원 이상으로 돈이 들 것입니다.

아이폰의 개발툴인 XCode 는 무료 입니다. 애플에 개발자 등록을 하면 바로 다운 받을 수 있습니다. 다만 개발을 하기 위한 OSX 가 깔려 있는 컴퓨터를 사야 합니다. 맥북 싼거부터 비싼 맥까지 가격은 천차 만별이지만, 맥 컴퓨터의 특성상 비쌉니다. 그리고 저 사양에서 개발은 쉽지가 않은 편이고요. 또한 맥북이 있다 하더라도 아이폰에 프로그램을 설치 하려면 '인증서'가 있어야 합니다. 개인 자격이니 1년에 10만원씩 인증서를 갱신하는 비용을 제공을 해야 아이폰에 자신이 개발한 프로그램을 설치 할 수가 있습니다.

"얘는 확실히 무료 입니다"



안드로이드는 사용하고 있던 피씨에 멀티 부팅으로 '우분투(Ubuntu)' 를 설치해주고, 이클립스(Eclipse) 를 설치하고, 안드로이드 SDK 를 설치해주면 개발 세팅 완료 입니다. 더구나 피씨 말고 전부 무료 입니다. 보통 피씨 없는 개발자는 없겠죠? 따라서 추가로 들어가는 돈은 전무 합니다. 개발을 잘 하기 위해서 새로 시스템을 갖추지 않는 경우에는 말이죠.

"개발 툴의 끝판 왕이라 불리는 이클립스"




둘째 개발 효율성 측면 입니다. 이것 역시 자바를 베이스로 하는 안드로이드의 압승입니다. 사실 돈 쓰는 것 이상으로 중요한 부분이기도 합니다.

윈도즈 모바일은 C/C++ 로 개발하게 되어 있습니다. (지금까지는 그래왔었습니다) C/C++ 은 개발 속도가 느리기 때문에 대부분의 개발자 들이 좋아하지 않는 언어로도 유명합니다.

아이폰은 C 에다가 Object Oriented 개념을 섞은 Object-C 라는 언어로 개발합니다. 엎어치나 메치나 제가 보기에는 C/C++ 계열입니다. 원래 인기 없는 언어였는데 아이폰 때문에 인기가 급 상승을 하고 있는 언어입니다.

안드로이드는 Java 로 개발을 합니다. 기존에 쓰고 있던 자바와는 좀 다르다고 하나 모바일 특성에 맞춘 것 외에는 일반적인 자바와 비슷합니다.

결국 개발할 때 세가지 플랫폼에서 가장 큰 차이는 포인터라고 볼 수가 있습니다.

저는 개발자로 살아온 인생 거의 모두를 C/C++ 개발하는 데 쏟았습니다. 저는 C/C++ 이 아주 몸에 익었기 때문에 포인터(Pointer)를 잘 이해하고 실전(?)에서도 자주 쓰는 편입니다. 그런데 이 포인터라는 것이 안 쓰다 보면 아주 귀찮아 지는 종류 입니다. 개발을 3년 넘게 쉬었다가 아이폰쪽 개발을 할 때 간만에 만나는 포인터가 저를 당황케 하더군요. 그런 의미에서 자바는 아주 훌륭하더군요. 가비지 컬렉션이 되는 것만으로도 이리 쉽게 프로그래밍을 할 수가 있구나. 라는 것을 느꼈습니다.

Java 나 Object-c 나 제 입장에서는 처음 배우는 언어인 데도 여타 다른 프로그래머 분들과 마찬가지로 자바쪽이 훨씬 쉽습니다.오죽하면 미국 버클리대에서 프로그래밍 기초 신청하는 학생들이 포인터 진도 나갈 때 60% 가 수강 철회를 하느냐는 말도 나오지 않겠습니까?

포인터를 완벽하게 이해하고 있으면 '전산형 인간' (Homo Computeres) 으로 기존의 사람들과 종이 다르게 분류되도 할 말은 없겠네요. 

간단하게 개발자 측면에서만 살펴 봤습니다. 하지만 오픈 마켓이 아이폰이 잘 되어 있지 않느냐는 말을 정말 많이 들었습니다. 그렇습니다 "왜? 개발을 하는가"도 중요하기 때문입니다. 결국 프로그램을 만들면 팔아서 돈을 벌어야 하는데 그런 제반 환경이 아이폰쪽이 잘 되어 있습니다. 하지만 굳이 팔려고 프로그래밍을 안하더라도 자신의 폰에 자신만의 프로그램을 만들어서 넣어보려는 용도로도 개발자들은 움직입니다. 그리고 그런 용도라면 정말 안드로이드를 추천합니다.

마음 편히 시작하고 아니다 싶으면 바로 접을 수도 있습니다.




+ Recent posts