iOS와 안드로이드

아이폰은 국내 출시전부터 만져왔고, 최근에는 일, 취미로 안드로이드를 만지고 있다. iOS와 안드로이드 두 운영체제를 만지면서 느껴지는 가장 큰 차이점은 두가지다.

  1. iOS의 UI의 디테일함은 안드로이드에 비해 2-3년은 앞서있다.
  2. 안드로이드는 인텐트와 서비스를 이용하여 구조적인 설계가 되어있다.

iOS의 UI는 아주 미묘한 룩앤필과 동작들까지 세밀하게 설계가 되어 있다. 1 당장 몇년 내 구글이 UFO를 줍지 않는 한 UI의 격차를 바꾸기는 힘들 것이고, 5년이 지나도 안드로이드보다 iOS의 UI가 좋을 것이다. 안드로이드가 이 영역을 추월하긴 힘들다. 하지만 지금도 안드로이드 폰이 사용자에게 좋은 반응을 얻고 있고 격차는 조금씩이나마 계속 줄어들 것.

안드로이드는 인텐트를 통해 많은 어플리케이션과 서비스가 협동한다.2 지속적으로 동작해야 하는 부분이 서비스로 되어 백그라운드로 돌아가고 있고, 여러 어플리케이션들이 서로 인텐트라는 도구를 통해 대화하며 협력한다.3 각 서비스와 어플등이 작은 모듈을 구성하고 그것이 합쳐져 하나의 운영체제를 이룬다. 구글이든 휴대폰 벤더든지 사용자가 얼마든지 확장할 수 있다. 확장하기 편한 구조이고 변경에 안전한 구조이다. 지금의 아이폰이 호환성을 포기하는 수준의 변경을 결정하지 않는 한 구조적인 부분에서 따라 오기 어려울 것으로 생각된다.

앞으로의 운영체제 경쟁에서 어떤 부분이 강점이 될까? 나는 안드로이드의 구조적인 측면이 압도적인 강점이 될 것이라 예상한다. iOS는 하드웨어의 발전에 따라 보여줄 수 있는 부분이 한계가 있다. 어플리케이션이 어떤 결합을 할것인가? 서비스를 어떻게 확장할 수 있을 것인가? 안드로이드는 더 많은 기능들이 유기적으로 연결되어 새로운 경험을 제공할 것이다. 인텐트와 어플리케이션 서비스가 그런 역할을 할 수 있기 때문이다. 쿼드 코어와 다양한 환경이 되면 이런 장점이 더 큰 영향을 발휘할 것이다. iOS는 타블렛에서든 넷북에서든 티비에서든, 어떤 환경이 되었던 간에 그냥 커다란 아이폰일 것이다.


  1. 애플은 UI의 디테일에서 거대한 성을 만들었다. Little big details을 참고하라. 

  2. 안드로이드는 하나의 어플리케이션이 사용자 UI(엑티비티)와 어떤 기능을 제공하기 위한 서비스로 묶여질 수 있다. (따라서 서비스도 운영체제 자체의 서비스와 어플리케이션에서 만든 어플리케이션 서비스로 나눌 수 있다.) 그 UI와 서비스는 안드로이드 자체나 다른 어플리케이션에서 호출될 수 있는데 그 호출을 인텐트라고 부른다. 안드로이드 자체도 다양한 서비스를 가지고 있고 새로운 어플리케이션은 인텐트로 그 서비스를 사용할 수 있다. 

  3. 아이폰에서 다른 어플과 협업을 하는 방법이 있긴 하다. x-callback-urlhandleOpenURL을 참고하라. 

Notes

  1. khrismizer reblogged this from dalinaum-kr and added:
    내가 처음 Android 플랫폼을 접했을 때 “Intent를 제대로 쓰는놈들이야말로 존나 성공할거야 시발!” 이라고 생각했었다. 그러나 몇 년이 지난 지금 애플리케이션 제작자들이 Intent를 제대로, 잘...
  2. dalinaum-kr posted this