티스토리 툴바


안드로이드펍 가기

예전에 다니던 회사에 세미나 하러 가면서 미들웨어나, 프레임워크등을 제공하는 회사가 안드로이드에서 가질수 있는 기회에 대해서 정리해봤습니다.
------------------
모바일 어플리케이션을 만드는 회사, 서비스를 하는 회사들은 앱스토어, 안드로이드 마켓으로 달라진 비지니스 모델 달라진 시장기회를 향해 달려가고 있는데. 미들웨어, API, SDK등을 공급하는 기반 기술을 가져있는 회사들은 전통적인 비지니스 모델에서 달라지는 것이 없는 것일까요? 

새로운 시장 기회를 획득하기 위해 기술을 공급하던 회사가 자신의 기술을 결합한 어플리케이션을 개발하려고 애써야 할까요? 아닙니다. 안드로이드에서는 라이브러리를 안드로이드 마켓에 공급할 수 있습니다!

안드로이드 마켓이 처음 열렸을때 Text-To-Speech Library 라는 것이 들어있었습니다. 그 자체로서는 아무 역할도 하지 않지만, 다른 어플리케이션이 텍스트를 전달하면 음성으로 바꿔서 소리를 내주는 역할을 합니다. 안드로이드 SDK 안에 들어가있는 것이 아니고 별도로 안드로이드 마켓에 올라가 있다는 것이 재미있습니다.

기존 비지니스 모델이 라이브러리를 개발자한테 판매하고, 개발자는 라이브러리를 이용해서 어플리케이션을 개발한 후 소비자한테 판매하는 모델이었다고 한다면, 새로운 모델에서는 라이브러리도 직접 소비자에게 판매하는 모델이 됩니다. 

소비자에게는 어떤 이득이 있나요? 하나의 라이브러리를 사용하는 어플리케이션 A, B, C가 있을 때 예전에는 각각의 어플리케이션을 사기 위해서 하나의 라이브러리에 대해서 중복적으로 가격을 지불했다고 한다면 이제는 라이브러리에 대한 가격을 중복없이 한번만 지불하면 됩니다.

그럼 라이브러리 판매자는 손해를 보는 것인가요? 유용한 라이브러리의 경우 어플리케이션이 쉽게 채택하여 사용할수 있다는 점에서 더 많은 어플리케이션이 다양한 용도로 라이브러리를 사용하게 되므로 실제적으로 더 많이 판매할 수 있게 됩니다.

안드로이드 플랫폼에 내장되어있지 않은 모바일에서 미들웨어로 활용될 수 있는 기술은 무궁무진 합니다. 그런 기술을 가지고 있다면 지금 진입하셔야 하니다. 웹에서와 같은 플랫폼적인 사고가 통하는 곳이 바로 안드로이드 개발공간입니다. 이런건 네트워크 형성의 법칙에 따라 무조건 먼저 들어가는 것이 유리합니다. 최대한 밑바닥에 들어가서 버티고 확장해나가는 것을 찾아내는 것이 가장 큰 성공이 될수 있습니다. (저도 사실 이런거 하고 싶었는데, 저는 기술과 돈이 받쳐주지 않기에 힘들다는 것을 알고 지금은 포기했습니다.)

PC 시장에서 우리는 수직적 모델에서 하드웨어, 운영체제, 어플리케이션이 분리된 수평적 모델로 바뀌면서 엄청난 혁신을 가져오는 것을 목격했습니다. 기존에 운영체제와 어플리케이션 정도로 나눠지던 소프트웨어를  더욱더 나누어서 자유롭게 구성될수 있도록 한 것이 바로 안드로이드입니다. 요즘 오픈, 개방이라는 말이 너무 흔하고 아무데나 사용이 되서 감이 덜오기도 하고, 개방이 더 많은 혁신을 가져온 다는 것에 대해서 요즈음 아이폰과 블랙베리를 보면서 의문을 가지게 되기도 합니다. 하지만 안드로이드는 분명 새로운 차원의 수평적 소프트웨어 모델이라는 것은 주목할 필요가 있습니다.

- 아참 그리고 하나 기존 보유 기술들 거의 다 C/C++로 가져 계실텐데요, Android 1.5 Cupcake에서는 JNI 공식 지원할 예정입니다. JNI예제 소스 다 포함되었습니다. 

- 새로운 차원을 볼려면 어쨌거나 안드로이드가 초기 시장에서도 어느 정도 성공을 해야할텐데, 그러려면 UI, UX좀 개념좀 잡고 가야할텐데 말이지요. 

- 어플리케이션의 경계가 없는 안드로이드에 이어 난이도가 높은 이야기를 하나 더 꺼내봤습니다. 유료 안드로이드 마켓이 열리지 않아서 아직은 정확한 어떤 모습을 하게 될지 알수 없습니다. 여기서 꺼낸 이야기는 안드로이드 프레임웍, Cupcake, 마켓, 라이브러리등을 보아오던 순수한 저의 의견이오니, 의문이 생기는 부분은 확인해보실 필요가 있습니다. 어쩌면 제 예측이 틀릴수도 있습니다. :)

안드로이드펍 가기
Add to Google Reader

댓글을 달아 주세요

  1. 커니 2009/01/31 11:38  댓글주소  수정/삭제  댓글쓰기

    요즘 안드로이드용 어플 개발도 개발이지만, 기본부터 확실히 다져야겠다 생각해서 소프트웨어 스택이라든지, 라이프사이클부터 시작해서 API, SDK들에 대한 것들도 보고는 있는데,,
    아직까지 API, SDK, 라이브러리 이런 것들에 대한 "명쾌한 정의" 를 내리기가 어렵네요. API, SDK, 라이브러리에 대해서 쉽게, 간단히 설명해주실 수 있을까요?

    • 회색 2009/02/01 09:51  댓글주소  수정/삭제

      API는 함수나 클래스들의 인터페이스를 말하는 것이구요. 라이브러리는 실제 구현된 코드를 담고 있는 모듈을 말할 것이고. SDK는 API, 라이브러리와 함께 개발을 할때 필요한 도구들을 모두 포함하는 것입니다.

      보통 다음과 같이 구분되긴 하는데
      -API만 제공하는 경우 (OpenGL처럼)
      -API와 구현을 제공하는 경우 (라이브러리)
      -API와 구현과 툴을 제공하는 경우 (SDK)

      뭐 그냥 대충 섞어서 말하기도 하니 문맥에 따라 잘 이해하면 되겠지요.

      안드로이드에서 보면 개개의 기능에 접근하기 위한 클래스의 인터페이스, 예를 들어 Location Class(http://code.google.com/android/reference/android/location/Location.html)의 메서드나 데이터구조를 언급할 때 Location API라고 말을 사용하면 될것이고,

      에뮬레이터, 이클립스 ADT 플러그인, adb등을 모두 포함하는 개념으로 Android SDK라는 말을 사용하면 되겠지요.