반응형

 여러분들이 컴퓨터라는 하드웨어를 쓰기 위해서 Windows라는 운영체제를 사용하듯이 스마트 폰이라는 하드웨어를 사용하기 위해서 운영체제가 필요합니다. "안드로이드"라는 것은 바로 이 스마트폰 용 운영체제를 말합니다. 여러분들이 안드로이드 어플을 개발한다는 것은 안드로이드 운영체제 상에서 구동되는 응용프로그램을 만든다는 것이지요.

 

 이 응용프로그램을 개발 할 때 사용하는 프로그램 언어가 java라는 것이지요. 이를 사용하지 않으면 안드로이드가 못 알아듣는 겁니다.

 쉽게말해 미국에서는 영어를 사용하고 한국에서는 한국어를 써야 한다는 것이지요. 안드로이드 운영체제는 자바 언어로 만들어진 코드를 이해한다 정도로 보시면 됩니다. 사실 미국에서도 한국어 통역사를 대동한다면 한국어로 말해도 알아듣게 할 수 있게죠. 그래서 요즘은 안드로이드 어플을 개발할 때 C계열 언어를 사용할 수도 있습니다. 물론 그에 따른 개발 환경(일종의 통역사)이 구축되어야 합니다.  뭐..이런저런 방법을 통해 어플을 개발 할 수도 있겠지만 일단 기본적인 방법을 사용할 수 있게 된 다음에 하는 것이 사상누각이 되지 않는다고 생각합니다. 고로 우선 Java로 개발하는 것을 먼저 하는게 좋다고 생각합니다.

 

 국가  :  언어          운영체제              :     프로그래밍 언어

============        ==============================

 미국  :  영어         애플  ios                       Object-C 

 한국  :  한글         구글 안드로이드               Java

 중국  :  한자         MS 윈도우                      C#  

 

 안드로이드는 거의 매년 업그레이드를 하고 있어서 어플 개발 공부를 시작할 때의 버전이 끝마칠 때 쯤 바뀌는 경우가 있습니다. 뭐. 약간의 추가사항만 바뀌면 상관없는데 초기 프로젝트 생성과정의 모습이 달라져서 학습자로 하여금 당황스러운 상황을 만나게 합니다. 그렇다고 프로그램을 작성하는 코드의 내용이 바뀌는 것은 거의 없으니 버전에 대한 염려는 크게 하지 않으셔도 됩니다. 제가 이 이야기를 하는 이유는 본 강좌의 안드로이드 버전을 현재 가장 최신인 4.1 젤리빈을 사용하겠다고 말씀드릴려는 것인데 사실 처음 강좌를 시작하려고 마음 먹을 당시만 해도 4.0 아이스크림 버전을 사용하려 했었거든요. 그 짧은 사이 새로운 버전이 나와서 이런 식이라면 강좌를 진행하다가 새로운 버전이 또다시 나오는 상황이 발생할 것 같아서 인데요. 만약 새로운 버전이 나오더라도 가급적 현재 젤리빈을 그대로 사용하려 합니다. 원래 저는 아이스크림 버전이 더 익숙한 사람입니다. 저도 젤리빈은 요사이 조금 만져보는 정도라 다소 신경 쓰이지만 뭐.. 코드설명 위주의 강좌를 진행 할 예정이니 크게 문제될 것 같지는 않습니다. 여러분들도 새로운 버전이 나오네 마네.. 그에 따라 지금 배우는게 영향을 받지 않나 하는 걱정을 하지 말라는 취지에서 말씀드립니다.

 

 참고로 안드로이드 버전은 아래와 같이 발전하였습니다. 누구의 아이디어 인지는 모르겠지만 버전 이름은 디저트 이름에서 따왔습니다. -_-

 

Apple pie..1.0 ver.(2008.09.23) 애플파이
Bananabread..1.1 ver.(2008.09.23) 바나나브레드


Cupcake..1.5 ver.(2009.04.30) 컵케이크 / 안드로이드 최초정식 버전 / 한글지원


Donut..1.6ver.(2009.09.15) 도넛 / 카메라 및 캠코더 등의 인터페이스탑재.



Eclair..2.0ver./2.1ver.(2009.10.26/2010.01.12) 이클레어 / 멀티터치, 블루투스2.1지원 /


Froyo..2.2ver.(2010.05.20) 프로요 / 최적화와 배터리타임등 대부분의 성능개선


Gingerbread..2.3ver.(2010.12.06)진저브레드 / 인터넷 접속을 통한 os업데이트


Honeycomb..3.0ver./ 3.1ver.(11.02.03/2011.05.10) 허니콤 / 홀로그래픽UI / usb기기지원


Icecream sandwitch..4.0ver.(2011.05.10) 아이스크림샌드위치 / 태블릿pc와 스마트폰 공용os


Jellybean..4.1ver.(2012.06.28)
Key lime pie OS 코드명은 K로 시작되는 키 라임 파이(Key lime pie)

2012년 06월 28일, 구글은 미국 샌프란시스코에서 열리는 개발자 회의 '2012 구글(Google) IO'를 통해 안드로이드 4.1 젤리빈과 그 레퍼런스, 넥서스7을 공식 발표했다.

[출처] 궁금한 안드로이드 버전 이름들|작성자 엔돌핀 

 

  안드로이드 버전에 대한 정보는 워낙 인터넷이 많이 있으니 검색해 보시기 바랍니다.

안드로이드 어플 개발자는 본인의 어플을 만들 때 버전에 대한 생각을 분명히 하셔야 합니다. 아직 설명을 드리지 않았지만 여러분들이 어플을 만들 때 어떤 버전으로 만들지를 결정하도록 되어 있습니다. 추가로 최소 어떤 버전 이상부터 본인의 어플이 실행될 수 있다는 것도 명시하도록 되어 있습니다. 여러분들이 아무리 멋진 어플을 개발하였다 하더라도 그 걸 다운받아 실행하는 스마트폰의 버전이 맞지 않으면 그 어플은 성공할 수 없겠죠. 현재 국내 스마트폰의 버전별 분포도는 안드로이드 디벨로퍼 사이트 에서 확인할 수 있습니다. 가급적 많은 유저가 사용할 수 있도록 최소 버전을 잘 선택하셔야 합니다.

 

 

 

2012.09.27 현재 아직도 진저브레드가 가장 많네요.

안드로이드 개발자 사이트 : http://developer.android.com

위사이트에서 About Android -> DashBoards 메뉴에서 확인할 수 있습니다.

사이트의 메뉴가 바뀌더라도 위 메뉴를 찾아보시면 확인할 수 있습니다.

 

 

 

 안드로이드의 프로그래밍 개발 영역은 크게 3가지로 구분할 수 있는데요.

 

1. 안드로이드 앱 개발 (Android App)

 - 앱(App)는 어플리케이션의 줄임말로서 특정한 목적을 수행하기 위해 개발된 소프트웨어라고 보시면 됩니다. 즉, 안드로이드라는 운영체제상에서 실행되는 각종 편의/ 생산 프로그램들을 말하는 것이지요. 여러분들이 흔히 프로그램을 깐다/ 설치한다. 라는 표현을 하는 프로그램들을 모두 어플리케이션이라고 합니다.  앱이나 어플이나 같은 말이지요.

   ex) 지하철 노선도 보기, 가계부 어플, 일정관리 어플 등등..

 

2. 안드로이드 웹 개발(Web)

 - 웹(Web)은 모두 아시다 시피 인터넷과 연관된 프로그램 이라고 생각하시면 됩니다. 무슨 말이냐면, 여러분들이 지금 사용하시는 컴퓨터에서 네이버 홈페이지를 열어보시면 보이는 구조가 있을 겁니다. 뭐. 검색창보이고 메인광고 보이고 기사들 보이고 그 밑으로 쭉~ 이런저런 내용들.. 그런데 이 화면을 여러분의 조그만 스마트 폰 화면으로 본다고 생각해 보세요. 우리가 쓰는 모니터는 대부분 17인치 이상이실텐테 이 화면을 4인치짜리로 본다면.. 눈이 아플정도로 작은 글씨와 이미지로 보이겠죠. 이러면 누가 스마트폰으로 인터넷을 하겠습니까. 그래서 이렇게 작은 스마트폰의 환경에 적합한 구성으로 화면을 구성(UI/UX라고 합니다.)시켜서 웹 사이트를 만드는 것을 안드로이드 웹 개발이라고 합니다. 다들 아시겠지만 스마트 폰에서 네이버 접속하면 화면구성이 다르죠? 그렇게 만드는 것을 말합니다.

  ex) PC환경의 네이버 : www.naver.com         Mobile환경에서의 네이버 : m.naver.com 

 

3. 안드로이드 게임 개발( 사실 앱 개발의 범주에 들어갑니다.^ ^;)

 - 이건 제가 임의로 구분한건데요. 사실 게임 개발은 어차피 앱 개발에 포함되는 용어입니다. 단지 제가 강좌로 소개하려는 내용이 일반 어플은 제외하고 게임 개발만을 목적으로 할 것이기 때문에 억지로 나눈겁니다.(-_-). 일반 어플 개발과 다소 차이가 있다면 일반적으로 간단한 앱 개발은 안드로이드에서 기본적으로 제공하고 있는 위젯(Widget 강좌에서 설명)을 많이 사용하지만 게임 개발은 위젯을 잘 사용하지 않는 다는 겁니다. 프로그램 코드상으로 거의 대부분의 작업을 한다는 것이 일반 앱 개발과 차이가 있는 부분이지요. 그래서 제 강좌는 다른 안드로이드 강좌와 다르게 위젯은 별로 설명하지 않고 코드의 설명을 위주로 이어나갈 예정입니다. 위젯에 대한 학습은 다른 강좌를 참고하시기 바랍니다.

   ex) 앵그리 버드, 룰더 스카이 등등....

 

위 게임정도는 아니지만 그래도 열심히 만들어서 마켓에 괜찮은 게임 하나 올려보자는 목표를 가지고 열심히 합시다.

혹시 아나요. 앵그리 버드 처럼 대박 게임 하나 만들 수 있을지....^ ^

 게임은 화려한 프로그래밍 기법으로 성공하는 것이 아니라고 봅니다. 아주 단순한 게임이라도 중독성 강한 게임은 얼마든지 성공할 수 있다고 봅니다. 웬만한 캐주얼 게임은 그렇게 화려한 기법을 사용하지 않으니 여러분도 미리 할 수 있다 없다 고민하지 말고 도전하시기 바랍니다.



반응형

+ Recent posts