좋은 글인데 두 플랫폼 모두 개발하신지 얼마 안되셔서 그런지 표면적인 부분만 짚으셨네요(저도 공부하는 입장에서 이런 말을 해도 될런지 모르겠지만 ㅋㅋㅋ ^^)

링크타고 블로그 가봤는데, 블로그 답들에도 반론들이 좀 많네요.

제가 보기엔 아이폰 개발은  UI 좀 띄어 보고 쉽군...하고 넘기신거 같은데..ㅋㅋ 제 착각 일 수도..
(apple이 인터페이스 빌더를 잘 만들어 놔서 UI틀 만드는게 쉽기는 한데..VC에서 resource editor로 UI껍대기 다 만들었다고 프로그램 개발 완료 되는거 아니잖아요? ㅋㅋㅋ)

암튼 약간은 편향된 의견이 있는 것 같아서 살짝 반론을 제기해서 균형을 맞춰 봅니다.




우선 아이폰 SDK는 개발하기 쉽다고 하시는데, 애플이 제공하는 기본 룰 을 따라 가는 정도는 조금 편하지만,

다양한 모델과 자료 구조가 필요한 어플을 짜다 보면, 메모리 관리가 쉽지 않습니다. 한마디로 잘 죽는다는 거죠.

일반 사용자는 모르는 kill switch 라는 어플이 백그라운드로 동작하고 있습니다. 이 어플은 자신만의 기준으로 앱들을 감시하고,

사용성을 해칠만한 이유가 앱에 발생하면 해당 앱을 죽입니다 ^^;; 무섭죠? 안드로이드도 유사한 기능이 있습니다.

그리고 안드로이드 SDK가 특이한 개념을 가지고 있어서 익히기 까다롭지만, 응용프로그램개발 경험이 있다면 그렇게 어렵지는 않구요,

오히려 익힌다고 하더라도 이번 세미나에서도 언급 되었듯이 JAVA의 한계가 있습니다.

빠른 사용성을 위해서는 NDK(native c) 개발을 할 수 밖에 없다고 하는군요.




머 각설하고, 개발자로서 이런 모바일 개발을 시도 해면서 얻는 것은 크게 네가지 정도 인 것 같습니다.

1.자아실현
2.공부..
3.인터넷 플랫폼 변화의 적응
4.재미?








1.자아실현은 잘 모르겠습니다. 머 앱이 성공하거나 유명해지면 좋겠죠 뭐...ㅋㅋ



2.공부의 측면에서 보면,

아이폰, 안드로이드 모두 모바일 환경과 사용자 손에 착 달라 붙는 UI 제공을 위해서,

SDK를 공부하게 되구요, SDK에는 특정한 프로그래밍 패턴들이 적용되어 있습니다.(아이폰 같은 경우는 delegate pattern이 전반적으로 적용됩니다) #참고 : http://camorlab.tistory.com/15

네 패턴 공부 됩니다~^^ 단순하게 SDK만 사용하려면 copy & paste& run & test 를 무한 반복 하면 어플은 어떻게는 만들겠죠?.ㅎㅎㅎ

그리고 안드로이드, 아이폰 모두 unix OS 위에  UI를 얹었습니다.

얼마전에 아이팟 터치를 해킹했는데 시스템을 훤히 들여다 볼 수 있더군요, killswitch의 존재도 ps로 확인하고 남은 용량도 df 로 확인하고, 유닉스 환경 그대로 더군요.

그렇습니다. 현대 OS 구조에 대한 실용적인 접근으로 또한 공부가 가능합니다. 그리고 어떻게 유닉스 환경에서 UI와 연결되는지에 대한 공부도 가능합니다(예전에 linux에서 X관련 개발을 시도하다가, "이걸 어따써..." 하면서 포기했었는데 이제는 좀 할만 하겠네요)



3.인터넷 플랫폼 변화의 적응

네...머 미래의 인터넷 환경의 주인이 모바일이 될지, 모바일이 된다고 해도 어플리케이션이 될지 브라우져가 될지, 아직은 서로 박터지게 싸우고 있으니, 알 수가 없죠. HTML5같은 하드웨어 지원을 포함하는 표준들이 자리를 잡으면, 어플리케이션 개발의 상당 부분을 흡수 하겠죠?..하지만 하드웨어와 밀접하게 연결되는 부분은 HTML5가 지원하기 어려울 수 있구요.그냥 준비한다는 차원에서 이것저것 해보는 거죠. ^^



4.재미...
해보니...재미가 있네요. 손안에 실현되는 아이디어...손안에서 인터넷을 타고 국가의 장벽을 넘어 서로 연결되는 네트웍과 정보...그안에서 뭉실뭉실 떠오르는 또 다른 아이디어..
암튼 재미가 있습니다. ^^.




 

크리에이티브 커먼즈 라이센스
Creative Commons License
2010/02/26 11:30 2010/02/26 11:30

댓글을 달아 주세요