참조 : [구로]효율적인 iPhone App 개발을 위한 최적화 기법(야간)

어제(12월 12일)부터 아이폰 앱 개발 과정을 수강하고 있습니다.
위 강좌 내용을 보면 아시겠지만 재직자 재교육 목적의 강좌라 따로 비용이 들지 않는 교육입니다.

어제 난생 처음으로 아이맥을 사용해봤더랬죠.
이 빌어먹을 것이 ㅠ.ㅠ 전원 버튼을 찾는데도 한참 걸렸답니다.
겨우 겨우 전원을 찾아 파워온 했더니 windows가 부팅이 되더군요.
옆에 분에게 물어서 부팅시 옵션 키를 누르면 OS를 선택할 수있다는 사실을 알게 되었습니다.
어려운 점은 여기까지 였습니다.
 
그 다음부터는 "헐~"의 연속.

익숙한 윈도우에 비해 가볍게 느껴졌습니다.
안드로이드 개발을 위해 이클립스와 애뮬레이터를 띄워 사용하면 느려빠진 속도에 답답할때가 참 많은데
아이폰 앱 개발을 하면서는 그런 점을 전혀 느끼지 못했습니다.
일단 제가 경험한 한도내에서는 아주 가볍고 쾌적한 개발 환경이었습니다.

또한 강사님께서 딱 제 눈높이에 맞는 강의를 해주셔서 좋았습니다.
(단축키를 너무 사용하지 않으시는 것만 빼고) 

2주, 10일, 30시간 강의중에서 2일, 6시간 강의들 경험과 결과는 아주 만족스럽습니다. 
좀 더 익숙한 안드로이드를 버릴까라는 고민이 들 정도네요.
하지만 지금까지는 안드로이드의 전망이 아이폰의 전망보다 밝을거라 예상하고 있어서 쉽지 않네요.

강의가 끝나고 연말에 고민을 좀 해야겠습니다. 


참고로 제가 원래 듣고 싶었던 강좌는  한국소프트위어기술진흥협회(KOSTA)의 안드로이드 게임 강좌였는데
한시간 빨리 퇴근해야 한다는 점때문에 망설이고 있는동안 강좌가 없어져버렸습니다. 
(NFC를 이용한 물류 관련 강좌도 있었는데 같은 이유로 포기했었답니다.)
KOSTA 홈페이지에는 2012년 강좌가 올라오지 않고 있네요.
2012년에 안드로이드와  아이폰 관련 중.고급 강좌를 들을 수 있었으면 좋겠습니다.





저는 요즘 일과 후 한국소프트웨어기술진흥협회의 안드로이드 기반 스마트폰 어플리케이션 개발과장을 수강중입니다. 10일 과정 중 벌써 5일이 끝났네요.  6시 30분부터 10시 30분까지 하루 4시간씩 10일 40시간 교육인데 중소기업에 재직중일 경우 교육비용이 들지 않습니다. 
 

교육목표

- 기본적인 안드로이드 애플리케이션 개발 방법 습득
- 안드로이드 OS의 기본적인 이해와 지식 습득
- 스마트폰의 올바른 멘탈모델과 이를 적용한 개발방법 이해
- 네이티브 애플리키에션과 하이브리드 애플리케이션의 차이점과 활용 방안 습득

1 강 - 4 시간
안드로이드 개요
- 안드로이드 OS 개요 및 환경설정
- 안드로이드 개발 시작하기

2 강 - 4 시간
레이아웃
- 뷰의 레이아웃 이해와 활용

3 강 - 4 시간
입출력위젯 / 매뉴
- 이벤트, 뷰의 이해
- 메뉴 활용

4 강 - 4 시간
리소스/어댑터뷰
- 리소스의 활용
- 어댑터뷰를 이용한 리스트 뷰 이해

5 강 - 4 시간
자료관리/액티비티
- 로컬 데이터베이스 활용
- 액티비티의 주기 이해

6 강 - 4 시간
다이얼로그/스레드
- 다이얼로그 사용 방법 이해
- 스레드 활용

7 강 - 4 시간
네트워크
- 서버와 통신 방법 이해
- 와이파이와 블루투스 활용방법 이해

8 강 - 4 시간
공지
- 안드로이드 내부의 통지 방법 이해

9 강 - 4 시간
실습
- 트위터 API를 활용한 실습

10 강 - 4 시간
하이브리드어플리케이션
- 하이브리드 앱 소개
- sencha, jquerymobile 소개
- 스마트폰의 멘탈모델 이해


현재 모집중인 과정을 보면 수강 신청을 해서 듣고 싶은 과정이 제법 많이 있습니다. 우선 현재 듣고 있는 안드로이드 기본 과정이 끝나면 안드로이드 기반의 증강현실 어플리케이션의 구현[3차] 과정을 듣고 싶네요. 문제는 현재 근무지(가산디지털)에서 거리가 먼 송파라는 점과 주간 교육이이라는 것입니다. 거의 포기 상태네요.

UML2.x 와 시스템 구축 ___ 2011/06/07 ~ 2011/06/17 ___ 야간 18:30 - 22:30
<주간> HTML5 & Jquery 기반 웹표준 ___ 2011/06/13 ~ 2011/06/17 ___ 주간 09:00 - 18:00
클라우드에서 PaaS(GAE) 기반 SaaS 개발 ___ 2011/06/20 ~ 2011/07/01 ___ 야간 18:30 - 22:30
Eclipse 플러그인 개발 ___ 
2011/07/04 ~ 2011/07/15 ___ 야간 18:30 - 22:30
스크럼(scrum)기반 Agile 프로젝트 실습 ___ 2011/07/18 ~ 2011/07/22 ___ 야간 18:30 - 22:30

가산디지털에서 진행되는 교육만 봐도 상당히 흥미로운데 상파까지 함께 보면... 진짜 대박이 아닌가 생각합니다. 문제는 강의 시작 시간이겠네요. 거의 정시 퇴근을 해야하는데 그럴 수 있는 사람이 많지 않을 것 같으니까요. 

아이폰 앱 교육 과정은 왜 없을까?하고 생각을 해봤더니 아이폰 개발을 위해서는 맥이 있어야 하나 보더군요. 아쉽네요. 근무 여건이 좋을때 이런 저런 교육을 받고 싶은데 말이죠.  

제 블로그의 유입키워드 중에서 첫번째가 "
앱 만들기"입니다. 혼자 독학해서 깨치는 것도 가치있는 일이지만 보다 수월한 방법이 있으니 한번 관심을 가져 보는 것도 좋을 듯 합니다.





사실, 안드로이드 개발 환경을 구축하고 Hello World를 출력해본건 열번도 넘을 것 같네요. 그 다음으로 진도를 못나간게 문제이긴 하지만, 얼마전에 PC를 포맷한 관계로 다시 한번 환경구축을 해봅니다. 4월달에 해봤던 것으로 기록이 남아있으니 벌써 반년전이군요. 그때 좀 깊이있게 팠더라면... 아니면 학원이나 다녔었다면 참 좋았을걸 하는 생각이 듭니다. ^^ 후회 맞습니다 ㅋㅋ
 

1.JDK(Java Deveopment Kit)가 필요합니다. 다운로드 받아서 설치합니다. (JDK 6 Update 22 )
   (JDK를 다운받기 위해 오라클을 방문해야하는게 어색하고 감정적으로 이해가 되지 않습니다. ㅠ.ㅠ)

2. eclipse를 다운로드 받아서 특정 위치에 압축을 풉니다.
   (Eclipse Galileo Sr2 Packages 버전 Eclipse IDE for Java Developers, (92 MB)을 받았습니다.)
   설치경로 : C:\android\ide\android-sdk_r07-windows

3. 안드로이드 SDK를 다운로드 받아서 특정 위치에 압축을 풉니다.
   (android-sdk_r07-windows.zip을 다운 받았습니다.)
   설치경로 : C:\android\ide\eclipse-java-galileo-SR2-win32

안드로이드 관련 설치경로는 c:\ 밑으로 잡았습니다. 일반적으로 c:\ 디렉토리에는 프로그램 설치만 하는데...

안드로이드 SDK는 프로그램을 받아서 압축을 풀면 그것으로 설치는 끝납니다. 하지만 앱을 개발하기 위해서는 AVD(안드로이드 버추얼 디바이스)라는 가상 폰이 필요한데 SDK는 기본적인 AVD를 가지고 있지 않은 관계로 관련 부분에 대해서 설정을 해줘야 합니다. 
저의 경우, C:\android\ide\android-sdk_r07-windows 밑에 SDK Manager가 있습니다. 이것을 실행합니다. 그러면 콘솔창이 하나 뜨고 아래의 이미지와 같은 Android SDK and AVD Manager창이 뜹니다. 여기서 어떤 버전의 안드로이드를 개발할 것인지 선택을 하게 되는데, 전체를 선택한다면 (조금 과장해서) 오전에 출근해서 시작한다해도 퇴근할때까지도 받지 못할지도 모릅니다. 무지 느립니다. 해서 2.1과 2.2 관련 패키지만 받으면 되지 않을까 생각합니다. 우린 어차피 학습용으로 설치를 하는거니까요.

기본 실행화면

선택한 패키지

위와 같이 선택을 하는것이 호환성 보장에 있어 어떤 영향을 미치는지에 대해서는 잘 모르겠습니다. 의심이 가시는 분은 좀 더 연구해보시길 바랍니다. 현 상태에서 인스톨을 합니다. 다시 한번 말씀드리지만 무지 오래 걸립니다. (14시 36분 시작)

설치 과정

설치되고 있는 과정입니다. 2.2부터 설치를 하는군요. 설치되는 과정중에 C:\android\ide\android-sdk_r07-windows 하위에 temp라는 디렉토리가 만들어집니다. android-2.2_r02-windows.zip이라는 다운 받고 다운이 완료되면 해당 파일을 압축을 풀어서 특정 디렉토리로 이동을 시킵니다. (C:\android\ide\android-sdk_r07-windows\platforms\android-8와 같은 식으로 말이죠.)

현재 두권의 안드로이드 책을 함께 보고 있는데, 확실히 일본번역서가 쉽게 쓰여져 있습니다. 이는 이번에만 느낀게 아니고 개발관련 서적 중 일본책이 10여권 있는데 90% 이상이 그런 것 같습니다. (지금 인스톨 중이라 잡설 중...) 책을 보다보면 "이게 중요한 역할을 하는 거구나"하고 알게되는데 특정 단어에 대해 좀 더 이해를 하기위해 일본책 번역서를 봅니다. 사전처럼 말이죠. 그럼 쉽게 이해가 됩니다.  그래서 지금 1,100 페이지짜리 책을 보고 있는 셈이지요.

삼성이 현재 안드로이드 관련 개발자를 2만명을 가지고 있다는 얘기를 들었습니다. LG는요? 1,400명 정도를 가지고 있고 2,000명까지 늘릴 계획이라고 하더군요. 뻥이거나 아니거나, 맞는 말이거나 틀린 말이거나 갤럭시S가 그냥 나온건 아니라는 생각을 이제서야 하게 됐습니다 ㅡㅡ;;

15시 05분, 드디어 설치가 끝났군요. 

이번엔 이클립스 관련 설정을 해볼까요?
이클립스를 최초 실행한다면 workspace를 선택하는 창이 나옵니다. 저는 C:\android\workspace로 경로를 설정했습니다.

이클립스를 처음 실행하면 나타나는 웰컴화면입니다. 탭을 닫게되면 아래의 화면과 같은 구성의 이클립스를 보게 됩니다.

위 두 이미지에서는 현재는 안드로이드 관련 내용이 보이지 않습니다. 이클립스로 안드로이드 개발을 보다 수월하게 하기 위해서는 ADT 이클립스 플러그인을 설치해야 합니다. ADT 플러그인은 애플리케이션을 보다 빠르고 쉽게 만들고 테스트하고 디버그 할 수 있게 해줍니다.

설치방법은 이클립스 메뉴 > Help > Install New Software...를 선택합니다.
work with 텍스트 입력 박스에 https://dl-ssl.google.com/android/eclipse/를 입력합니다. 계속 refresh가 되서 입력이 잘 안되더군요. 해서 메모장에 위 주소를 적어서 복사 후 붙여넣었습니다. 주소를 입력하고 옆의 Add 버튼을 클릭합니다.

Add Site라는 창이 뜨는데 적당히 이름을 입력하고 OK 버튼을 클릭합니다.

위와 같이 선택하고 Next 버튼을 클릭합니다.

다운로드 된 플러그인을 확인하고 Next 버튼을 클릭합니다.

라이선스 계약 조건을 읽고 ㅡㅡ;; 승인한 뒤 Finish버튼을 클릭합니다.


인스톨을 시작합니다.


ADT 플러그인은 서명이 되어 있지 않습니다. OK 버튼을 클릭해줍니다.

요거는 뭔지 잘 모르겠습니다. 저는 그냥 선택하고 OK 버튼을 클릭했습니다.


설치가 완료됐습니다. 업데이트를 적용하기 위해서 재시작을 해야합니다. Yes 버튼을 클릭합니다.


이클립스 메뉴 > window > Preferences 메뉴를 클릭해서 안드로이드 SDK 관련 설정을 해줍니다.

SDK Location 텍스트 입력 창에 Browse 버튼을 이용해서 sdk를 설치한 경로를 선택합니다.

우측 하단의 Apply 버튼을 클릭합니다. 사용 가능한 SDK의 타깃이 표시됩니다. OK 버튼을 클릭합니다. 이상으로 개발을 위한 환경 설정은 완료되었습니다.


안드로이드 SDK가 발전함에 따라 ADT 플러그 인의 업데이트도 꾸준히 일어나고 있습니다. 해서 기존에 설치된 플러그인을 업데이트를 해야 합니다. 
이클립스 메뉴 > Help > Check for update 메뉴를 클릭합니다.




지금은 업데이트 대상이 없다는군요. 이제 정말 안드로이드 앱개발 환경 설정이 완료됐습니다. 

처음엔 별거 아닌 환경 설정도 무지 어려웠지요. 그래도 자바 개발잔데 말예요. 오늘 밤에는 Hello World를 찍어봐야겠습니다. 에뮬레이터도 확인해봐야 하구요. 영원히 익숙해질 것 같지 않은 액티비티, 인텐트, Manifest File등에 대해서도 알아보고 정리를 해야겠습니다. 일단 일독을 하고서는 (돈이 될것같은) 제일 고급스킬을 파야겠습니다.



  1. BlogIcon 머니 2010.11.02 17:03

    ㅎㅎㅎ 대단하시네요. 전 이런거 손도 못대는데

  2. BlogIcon 36.5 몽상가 2010.11.02 19:06

    참 복잡하네요. 뭐가 뭔지 도통 모르겠습니다. ^^

    • BlogIcon 알통 2010.11.02 20:29 신고

      아무래도 이런거 하는 사람이 아니면 어렵겠죠?
      사실 저도 어려워서 진도가 ㅠ.ㅠ
      하다보면 어떻게 되겠죠?

  3. Amuse 2010.12.19 23:28

    앱 에 관심이 있는터에 좋은 글을 발견 했네요 감사합니다.
    그런대 위 설치 과정중 <C:\android\ide\android-sdk_r07-windows 하위에 temp라는 디렉토리가 만들어집니다.> 에서 < android-2.2_r02-windows.zip이라는 다운 받고 다운이 완료되면 해당 파일을 압축을 풀어서 특정 디렉토리로 이동을 시킵니다. >
    라고 하셨는데, android-2.2_r02-windows.zip 파일은 따로 다운을 받아야 하나요?
    아니면 설치 과정중 자동으로 temp 에 다운 되는 파일 인가요???
    여하튼 좋은내용 글 감사 합니다~

  4. 2011.01.20 18:21

    비밀댓글입니다

    • BlogIcon 알통 2011.01.20 20:41 신고

      안드로이드 계열은 자바를 배우고
      아이폰은 C를 배워야 합니다.
      게임앱이 일반 앱보다 어렵다고 알고 있습니다.
      뭐.. 14살 된 아이도 만들어 내니 ㅡㅡ;; 불가능하지는 않겠죠 ^^
      머뭇거리며 망설이는 것보다 도전하고 후회하는 편이 좋은 것 같습니다.

  5. 111 2011.01.22 21:32

    저기요...제가 다운받았는데android-sdk_r07-windows으로안뜨고
    android-sdk_r08-windows 이라고 뜨는데 어떻할까요?

    그리고 저기위에 ㅇ이클립스에서 apply누르는단계에서

    android표시가 안뜸니다 위에있는데 님이한거 그대로 했씁니다.
    따라하는건잘해서 말이죠......kevin7328@naver.com 으로 답변좀 보내주세요

  6. 111 2011.01.22 21:35

    위에댓글쓴사람입니다

    아그리고

    설치가 완료됐습니다. 업데이트를 적용하기 위해서 재시작을 해야합니다. Yes 버튼을 클릭합니다.
    라고 써있는부분에서 yes누르는거 나오기전에 띠딩하면서 에러 같은거 났었고


    yes누르는거나와서 yes눌렀는데 안꺼져서 제가 껏습니다

  7. 신종일진 2011.04.27 23:03

    좋은글봅니다 이걸로 앱스를 만들 수 있을까요 만들 수있다면ㅋㅋㅋ어떤걸로깔아야하나여