Notice
Recent Posts
Recent Comments
Dharma
개발자 측면에서의 모바일 개발환경 비교 본문
개발자로 살아 오면서 이거 저거 만지작 거리다 보니, 모바일 플랫폼쪽 개발을 자주 해보게 됐습니다. 윈도즈 모바일(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) 으로 기존의 사람들과 종이 다르게 분류되도 할 말은 없겠네요.
간단하게 개발자 측면에서만 살펴 봤습니다. 하지만 오픈 마켓이 아이폰이 잘 되어 있지 않느냐는 말을 정말 많이 들었습니다. 그렇습니다 "왜? 개발을 하는가"도 중요하기 때문입니다. 결국 프로그램을 만들면 팔아서 돈을 벌어야 하는데 그런 제반 환경이 아이폰쪽이 잘 되어 있습니다. 하지만 굳이 팔려고 프로그래밍을 안하더라도 자신의 폰에 자신만의 프로그램을 만들어서 넣어보려는 용도로도 개발자들은 움직입니다. 그리고 그런 용도라면 정말 안드로이드를 추천합니다.
마음 편히 시작하고 아니다 싶으면 바로 접을 수도 있습니다.
나름 세개를 비교하는 오만을 저질를려고 하니 자신의 생각과 다르다고 하더라도 '이 사람은 이렇게 생각하는 구나' 하고 봐 주세요.
결론부터 이야기 하자면 개발자의 입장에서 가장 좋은 것은 안드로이드 라고 봅니다.
개인 개발자 측면에서 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) 으로 기존의 사람들과 종이 다르게 분류되도 할 말은 없겠네요.
간단하게 개발자 측면에서만 살펴 봤습니다. 하지만 오픈 마켓이 아이폰이 잘 되어 있지 않느냐는 말을 정말 많이 들었습니다. 그렇습니다 "왜? 개발을 하는가"도 중요하기 때문입니다. 결국 프로그램을 만들면 팔아서 돈을 벌어야 하는데 그런 제반 환경이 아이폰쪽이 잘 되어 있습니다. 하지만 굳이 팔려고 프로그래밍을 안하더라도 자신의 폰에 자신만의 프로그램을 만들어서 넣어보려는 용도로도 개발자들은 움직입니다. 그리고 그런 용도라면 정말 안드로이드를 추천합니다.
마음 편히 시작하고 아니다 싶으면 바로 접을 수도 있습니다.