플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

59
  • date post

    22-Jul-2016
  • Category

    Documents

  • view

    226
  • download

    8

description

엘라드 엘롬, 스콧 자누섹, 토마스 유스 지음 | 이철규 옮김 | 임베디드 & 모바일 시리즈 _ 004 | ISBN: 9788992939478 | 38,000원 | 2010년 03월 18일 발행 | 832쪽

Transcript of 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

Page 1: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발
Page 2: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발
Page 3: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

플래시

ON 디바이스

Page 4: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

iv

•목 차•

제1부 모바일 개발 현황

01장 모바일과 디바이스 현황 3단편화에 대응하기 .............................................................................................4

디바이스에 대해 알아보기 ................................................................................6

휴대전화 .......................................................................................................7

모바일 생태계의 미래에 대비하기 ..........................................................10

MID와 UMPC 디바이스 ..........................................................................10

디지털 가전 ................................................................................................11

ARM 기반 디바이스 ..................................................................................12

운영체제와 플랫폼에 대해 알아보기 ............................................................ 12

원어 컴파일 Vs. 인터프리터 언어 ...........................................................13

플래시 플랫폼 이해하기 ...........................................................................14

JAVA ME 플랫폼 이해하기 ......................................................................17

JAVA ME와 플래시 관계 살펴보기 ..........................................................19

심비안 운영체제 이해하기........................................................................19

심비안과 플래시 관계 살펴보기 ...............................................................20

윈도우 모바일 이해하기 ...........................................................................20

윈도우 모바일과 플래시 관계 살펴보기 ..................................................21

어도비 모바일 플랫폼 이해하기 ...............................................................21

브루 이해하기 ............................................................................................23

브루와 플래시 관계 살펴보기 ...................................................................24

아이폰 SDK 이해하기 ...............................................................................25

아이폰과 플래시 관계 살펴보기 ...............................................................27

Page 5: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

v

AOL 오픈 모바일 플랫폼 이해하기 .........................................................27

AOL 오픈 모바일 플랫폼과 플래시 관계 살펴보기 ...............................27

블랙베리상에서 RIM 사용하기 ...............................................................27

블랙베리와 플래시 관계 살펴보기 ...........................................................28

안드로이드 이해하기 ................................................................................28

안드로이드와 플래시 관계 살펴보기 .......................................................29

팜 프리 이해하기 ......................................................................................29

팜 프리와 플래시 관계 살펴보기 ..............................................................29

요약 ................................................................................................................... 30

제2부 플래시 라이트 플랫폼 살펴보기

02장 플래시 라이트 기초 35멀티스크린 사용자 경험의 실현 .................................................................... 35

플래시 라이트 파악하기 ................................................................................. 37

플래시 플랫폼 .................................................................................................. 38

오픈 스크린 프로젝트의 중요성에 대해 이해하기 .................................38

플래시 라이트 플랫폼 살펴보기 .................................................................... 39

플래시 라이트의 시장침투 상황 통계 ......................................................39

플래시 라이트 플레이어 장/단점 평가하기 ............................................41

플래시 라이트 플레이어 아키텍처 ...........................................................43

플래시 라이트 제품, 툴 및 서비스 소개 ...................................................43

SWF 파일 형식 다루기 ..............................................................................48

플래시 라이트 콘텐츠 타입 살펴보기 ......................................................51

플래시 기반 콘텐츠의 기본요소에 대해 배우기 ....................................57

타임라인 애니메이팅하기.........................................................................61

플래시 라이트 버전들 이해하기 .................................................................... 66

플래시 라이트 런타임 버전 소개 ..............................................................66

Page 6: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

vi

플래시 라이트 1.1 살펴보기 ........................................................................... 67

플래시 라이트 1.1 변수, 함수 클립, 의사 배열 다루기 ...........................68

플래시 라이트 1.1 액션스크립트 구문 살펴보기 ....................................70

fscommand2 API 사용하기 .....................................................................82

플래시 라이트 1.1 신택스 자료집 ............................................................84

플래시 라이트 에러 코드 알기 ..................................................................85

플래시 라이트 2.0 살펴보기 ........................................................................... 86

텍스트와 폰트 다루기 ..............................................................................87

압축 SWF 형식 지원 ..................................................................................87

XML 지원 결합 ..........................................................................................87

다이내믹 미디어 로딩 및 재생 ..................................................................88

데이터 지속시키기 ....................................................................................88

디바이스 비디오 실행하기........................................................................88

Drawing API에 접근하기 .........................................................................89

추가 fscommand2 사용하기 ....................................................................89

플래시 라이트 2.0 에러 코드 소개 ...........................................................90

플래시 라이트 2.1 살펴보기 ........................................................................... 91

플래시 라이트 3.0 살펴보기 ........................................................................... 93

플래시 라이트 3.1 살펴보기 ........................................................................... 95

어도비 모바일 클라이언트 살펴보기 ............................................................ 96

액션스크립트 살펴보기 .................................................................................. 97

액션스크립트 1.0 사용하기 ......................................................................97

액션스크립트 2.0 사용하기 ......................................................................98

타임라인 vs. 클래스 이용 개발 ...............................................................100

플래시 라이트 CDK 살펴보기 ..................................................................... 104

플래시 라이트 CDK 소개 .......................................................................104

디바이스 센트럴 CS4 SDK 소개 ............................................................105

플래시 라이트 비주얼 컴포넌트 세트 소개 ...........................................106

플래시 라이트 콘텐츠 패키징 ...................................................................... 107

SWF에 대한 플래시 라이트 패키징 포맷 이해하기 .............................107

Page 7: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

vii

플래시 라이트 콘텐츠를 위한 패키징 파일 포맷과 방법 .....................110

플래시 라이트 콘텐츠의 배포와 수익화 ..................................................... 116

플래시 라이트 콘텐츠 집중사업자 및 제공사 .......................................117

플래시 10과 AIR 애플리케이션을 위한 콘텐츠 수집 ..........................122

소비자 직거래 및 상담 모델을 통해 배포하기 .....................................123

오픈 스크린 프로젝트 펀드 소개 ............................................................123

플래시 모바일과 디바이스 개발 커뮤니티에 참여하기 ............................. 124

요약 ................................................................................................................. 126

03장 플래시 라이트 3 127플래시 라이트 3.0 알아보기 ......................................................................... 128

성능 향상 ..................................................................................................129

비디오 성능 향상 .....................................................................................129

웹 콘텐츠 브라우징 .................................................................................130

플래시 라이트 3.1 알아보기 ......................................................................... 137

모바일과 디바이스 웹 브라우징 향상 ....................................................137

HTML 브라우저 지원 개선사항 ............................................................144

HTML 새 기능 사용하기 .......................................................................146

플래시 라이트 3.x 다루기 ............................................................................. 155

매쉬업 설명 ..............................................................................................155

플래시 라이트 3 비디오 애플리케이션 제작하기 .................................156

어도비 배포용 플레이어 솔루션 살펴보기 ................................................. 172

플래시 라이트 3.1 배포용 플레이어 다운로드 ......................................173

어도비 모바일 패키저 사용.....................................................................173

어도비 디바이스 센트럴 CS4 SDK .............................................................. 177

어도비 디바이스 센트럴 SDK 다운로드................................................178

어도비 디바이스 센트럴 SDK 살펴보기................................................178

샘플 플러그인 인스톨하기......................................................................179

어도비 디바이스 센트럴 CS4 플러그인 활용 ........................................180

요 약 ............................................................................................................... 180

Page 8: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

viii

04장 플래시 모바일 애플리케이션 개발을 위한 팁과 요령 181모바일 인터페이스 최적화 ........................................................................... 181

단순성 유지 ..............................................................................................182

인터랙션 시각화하기 ..............................................................................182

편의성의 고려: 사용자 컨텍스트가 중요한 네 가지 이유 ....................185

모바일 디바이스에 최적화 ........................................................................... 187

메모리 관리 ..............................................................................................187

CPU 성능 향상 .........................................................................................192

모바일 에뮬레이터 사용 테스팅 .................................................................. 195

어도비 디바이스 센트럴 .........................................................................196

디바이스 애니웨어 ..................................................................................197

최적의 실습 튜터리얼 다루기 ...................................................................... 198

영속성 데이터 이용하기 .........................................................................198

인터랙티브 SWF 파일 로딩하기 ............................................................200

요 약 ................................................................................................................ 208

05장 플래시를 이용한 모바일과 디바이스 위젯 플랫폼 209위젯 이해하기 ................................................................................................ 209

데스크톱에서 위젯 실행하기 ..................................................................210

모바일과 디바이스에서 위젯 실행하기 .................................................210

노키아 웹 런타임을 이용한 위젯 개발 ........................................................ 211

WRT의 기초 배우기 ................................................................................213

S60 디바이스용 위젯 개발 준비 .............................................................214

Aptana Studio를 이용한 플래시 라이트 기반 WRT 위젯 구축 ..........219

WRT 위젯 테스팅 ....................................................................................236

노키아 S60 핸드셋으로 테스트 ..............................................................238

WRT 위젯 전개 및 배포 ..........................................................................240

지원 S60 디바이스에 위젯 설치 .............................................................242

첨비 위젯 개발 ............................................................................................... 243

Page 9: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

ix

첨비 소개 ..................................................................................................244

첨비 위젯 개발 준비 ................................................................................248

첨비 인풋 메서드와 센서 API 이해하기 ................................................250

첨비 변수 사용하기 .................................................................................253

첨비 fscommand2 API 사용하기 ..........................................................254

첨비에서 플래시 보안 다루기 .................................................................255

오디오 다루기 ..........................................................................................255

비디오 다루기 ..........................................................................................256

데이터 로딩 및 저장 ................................................................................257

위젯 컨피겨레이터 다루기......................................................................257

첨비 SWF 퍼블리싱하기 ........................................................................258

첨비 위젯에 관한 팁, 요령 및 더 많은 자료 찾기 ..................................259

첨비 위젯 개발을 위한 최상의 관례 활용하기 ......................................259

첨비용 플래시 라이트 위젯 구축 ............................................................260

첨비 위젯 테스트하기 .............................................................................272

첨비 네트워크에 위젯 전개하기 .............................................................277

첨비 플랫폼 개발의 수익화.....................................................................281

요 약 ................................................................................................................ 282

06장 플래시 라이트 UI 컴포넌트와프레임워크 283플래시 라이트 UI .......................................................................................... 284

UI에 있어 플래시 라이트의 이점 ...........................................................284

플래시 라이트 UI 활용하기 ....................................................................285

컴포넌트와 프레임워크를 사용해 플래시 라이트 UI 구축 ....................... 287

플래시 라이트 Feather 프레임워크 .......................................................287

플래시 라이트 BlocketPC LayoutManager ..........................................308

Shriken 플래시 라이트 2.x 컴포넌트 프레임워크 ................................311

Oxygen Toolkit(노키아 디바이스를 위한) ...........................................315

노키아 플래시 라이트 인디케이터와 리스트 컴포넌트 ......................318

Page 10: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

x

포럼 노키아 플래시 라이트 컴포넌트 세트 ...........................................321

어도비 XD 플래시 라이트 UI 컴포넌트 예시 .......................................323

요약 ................................................................................................................. 326

07장 OEM 기반 솔루션을 이용해 모바일과 디바이스의 플래시 확장하기 327

차세대 모바일과 디바이스 API 다루기 ...................................................... 328

디바이스 API로 플래시 라이트 확장하기 .................................................. 329

노키아 S60 플랫폼 서비스로 강력한 플래시 만들기 ................................. 329

S60 플랫폼 서비스 소개 ..........................................................................330

S60 플랫폼 서비스 메서드 살펴보기 .....................................................331

S60 플랫폼 서비스 활용 ..........................................................................333

소니 에릭슨 디바이스에서 플래시 확장 ..................................................... 341

소니 에릭슨 디바이스에서 플래시 시작하기 ........................................342

소니 에릭슨 디바이스에서 가속도계 다루기 ........................................342

디바이스 검출 ..........................................................................................343

가속도계 액세스하기 ..............................................................................344

프로젝트 카푸친 소개 .............................................................................347

자바와 플래시 라이트 간 데이터 전달 ...................................................351

프로젝트 카푸친을 위한 개발 환경 설정 ...............................................354

첫번째 프로젝트 카푸친 애플리케이션 제작 ........................................355

프로젝트 카푸친 예시 다운로드, 추출 및 설치 .....................................356

자바 MIDlet 살펴보기 ............................................................................357

플래시 라이트 UI 살펴보기 ....................................................................359

SWF2JAR로 플래시 라이트 콘텐츠 패키징하기 ..................................361

프로젝트 카푸친에 관한 더욱 자세한 정보 ...........................................365

플래시 라이트 3.1에서 액션스크립트 확장하기 ........................................ 365

플래시 10과 디바이스 API ........................................................................... 366

요약 ................................................................................................................. 366

Page 11: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xi

08장 서드파티 툴을 이용해 플래시 라이트 애플리케이션을 아이폰에 이식하기 369

b.Tween을 이용해 플래시 애플리케이션을 아이폰에 이식하기 .............. 370

eyeGT 소개 ..............................................................................................370

eyeGT 내부 작업 이해하기 .....................................................................371

플래시 애플리케이션을 네이티브 아이폰 애플리케이션으로 변환하기 373

터치스크린 디바이스상의 플래시 ............................................................... 378

터칭 378

터치 기반 UI 디자인하기 ........................................................................379

요약 ................................................................................................................. 380

제3부 여러 스크린과 모바일 인터넷 디바이스를 위한 AIR 애플리케이션

09장 모바일 디바이스상 어도비 통합 런타임 385상위레벨 시각에서 AIR 1.5 플랫폼 살펴보기 ............................................ 386

모바일 디바이스상의 플래시 플레이어 10을 위한 팁과 요령 .................. 390

3D 공간에서 오브젝트 이동 ...................................................................391

그래픽과 연산에 픽셀 벤더 사용하기 ....................................................393

텍스트 레이아웃 프레임워크 활용하기 .................................................406

다이내믹하게 사운드 생성하기 ..............................................................416

비주얼 퍼포먼스 향상 .............................................................................419

향상된 Drawing API 사용하기 ..............................................................423

로컬 파일 읽기 및 쓰기 ...........................................................................424

상위레벨에서 AIR 1.5 성능 살펴보기 ......................................................... 430

HTML과 자바스크립트를 컨테이너로 로딩 ........................................430

로컬 파일 시스템에 액세스하기 .............................................................432

SQLite 데이터 암호화 .............................................................................434

Page 12: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xii

애플리케이션 업데이트와 알림 API 사용 .............................................438

네트워크 변경 감시 .................................................................................438

네이티브 윈도잉과 크롬 컨트롤 변경 ....................................................440

AIR 애플리케이션에 서명하기 .................................................................... 442

디지털 서명 방법 선택하기.....................................................................442

Flex Builder로 애플리케이션 서명 ........................................................443

요약 ................................................................................................................. 445

10장 모바일 디바이스에 AIR 적용 447플랫폼 및 상황 인식의 구현 ......................................................................... 448

시스템 성능 감지 .....................................................................................450

감지 시스템 지원 .....................................................................................452

유저 프레즌스 감지 .................................................................................454

네트워크 연결상태 변화 감지 .................................................................455

HTTP 연결상태 감지 ..............................................................................455

소켓 연결상태 감지 .................................................................................456

로컬 드라이브 감지 .................................................................................457

애플리케이션 윈도우 움직임 감지 .........................................................457

AIR 런타임 버전 및 패치 레벨 가져오기 ..............................................458

설정 및 동작 변형 .......................................................................................... 462

서버로부터 파일 다운로드......................................................................462

HTTP 연결상태 인식 구현화하기 ........................................................465

정보 저장을 위해 데이터베이스 사용하기 ............................................465

모바일 터치와 멀티터치스크린 애플리케이션 .......................................... 478

터치스크린 이해 ......................................................................................479

UMPC 터치스크린 애플리케이션 만들기 ............................................481

심리스(Seamless) 설치 경험 만들기 ........................................................... 487

커스텀 배지 인스톨러 만들기 .................................................................490

요약 ................................................................................................................. 496

Page 13: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xiii

11장 크로스 플랫폼 AIR 애플리케이션 개발 497다이내믹 GUI 기초 소개 .............................................................................. 498

수동적 멀티 뷰 디자인 패턴 이해 ...........................................................500

Passive Multi-view design pattern 구현하기 .......................................505

음악 재생 애플리케이션 개발하기 .............................................................. 512

뮤직 플레이어 API 구축 .........................................................................512

뮤직 플레이어 GUI 만들기 .....................................................................525

뮤직 플레이어 애플리케이션을 위한 GUI 만들기 ..................................... 529

로그인 폼 만들기 .....................................................................................529

GUI 만들기 ..............................................................................................532

스킨 컴포넌트 만들기 .............................................................................538

애플리케이션을 상황 인식 및 적응 가능하게 만들기 ................................ 548

멀티플 뷰에 상황인식 활용하기 .............................................................549

애플리케이션 적응시키기.......................................................................549

요약 ................................................................................................................. 550

제4부 모바일 디바이스상에서 플래시 10을 동작시키는 플렉스 애플리케이션

12장 FLEX 4와 FLASH CATALYST를 사용한 모바일 애플리케이션과 개발 전략 555

플래시 카탈리스트에 대한 이해 .................................................................. 556

카탈리스트의 장점 살펴보기 ..................................................................556

툴 구하기 ..................................................................................................557

플래시 카탈리스트로 프레젠테이션 레이어와 로직 분리 ......................... 557

플래시의 새 개발 사이클 살펴보기 ............................................................. 558

플래시 카탈리스트 시작하기 ....................................................................... 559

새로운 카탈리스트 프로젝트 만들기 .....................................................560

Page 14: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xiv

여러분의 첫 번째 카탈리스트 애플리케이션 만들기 ...........................562

플래시 카탈리스트와 플렉스 빌더로 애플리케이션 만들기 ...............571

카탈리스트와 AIR로 모바일 애플리케이션 만들기 .................................. 577

플래시 카탈리스트 프로젝트 만들기 .....................................................578

그래픽을 컴포넌트로 변환......................................................................580

FXG 그래픽 엘리먼트 추가 ....................................................................581

버튼 스테이트 상호작용 추가하기 .........................................................583

디테일 스테이트 만들기 .........................................................................583

스테이트 간에 상호작용 추가하기 .........................................................585

FXP 프로젝트를 플렉스 빌더 4로 임포트하기 .....................................586

프로젝트를 어도비 AIR 프로젝트로 변환하기 .....................................587

유튜브 비디오 리스트 획득.....................................................................589

플래시 카탈리스트 애플리케이션에 로직 추가 ....................................593

애플리케이션 서명하기 ................................................................................ 597

플렉스 빌더로 애플리케이션 서명 .............................................................. 598

AIR 애플리케이션을 UMPC로 전개 .......................................................... 600

요약 ................................................................................................................. 601

13장 다양한 디바이스에 플렉스 적용하기 603노키아 N810 브라우저를 위한 플렉스 GUI 만들기 .................................. 604

플래시 카탈리스트를 사용하여 역동적인 GUI 만들기 ............................. 605

카탈리스트를 사용해 320×480 픽셀 스크린을 위한 GUI 만들기 .....606

카탈리스트로 530×520 픽셀 스크린용 GUI 만들기 ..........................611

플래시 카탈리스트 GUI를 플렉스 4 SDK로 임포트 ................................. 614

FXP 프로젝트 임포트 ..............................................................................614

Passive Multiview 디자인 패턴 구현 .....................................................615

플래시 카탈리스트 애플리케이션을 위한 로직 만들기 .......................619

요약 ................................................................................................................. 639

Page 15: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xv

14장 테스트 주도 개발(TDD)을 이용한 모바일 애플리케이션 구축 641

TDD 기초에 대한 이해 ................................................................................. 642

FlexUnit을 이용해 단위 테스트 만들기 ...................................................... 644

여러분의 첫 번째 테스트 슈트 및 테스트 케이스 만들기 ....................644

assertion 메서드 사용하기......................................................................651

플렉스 4에서의 FlexUnit ............................................................................. 652

플렉스 4에서 테스트 슈트와 테스트 케이스 만들기 ............................653

비동기식 테스트 작성 .............................................................................662

FlexUnit으로 비주얼 컴포넌트 테스트하기 ............................................... 668

MVC 프레임워크와 TDD ............................................................................ 673

Cairngorm으로 TDD 사용하기 .............................................................674

PureMVC로 TDD 사용하기 ..................................................................694

요약 ................................................................................................................. 702

15장 크로스 플랫폼 비디오 플레이어 제작 및 콘텐츠 최적화 705

초기 전략 선택: 비디오 콘텐츠의 재사용 또는 제작 .................................. 708

휼륭한 모바일 디바이스 비디오 콘텐츠를 만들기 위한 팁 ....................... 708

비디오 코덱 411 ............................................................................................ 713

디바이스와 플래시 비디오를 이용한 재생 ................................................. 715

FLV, 가장 인기 있게 지원되는 비디오 포맷 ............................................... 717

F4V 포맷 ...................................................................................................717

H.264 포맷 ...............................................................................................718

3GP 포맷 ..................................................................................................718

디바이스의 이용 가능한 코덱을 다이내믹하게 발견하기 ......................... 719

플래시 라이트에서 디바이스 성능 감지 ................................................719

플래시 애플리케이션을 위한 비디오 인코딩하기 ..................................... 721

Page 16: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xvi

어도비 미디어 인코더를 이용해 비디오 파일 압축하기 ......................722

스트리밍과 프로그레시브 다운로드 간 차이점에 대한 이해 .................... 727

비디오를 위한 서버 선택의 팁 ...............................................................728

모바일 디바이스용 프로그레시브 다운로드 비디오 플레이어 구축하기 729

플래시 프로페셔널에서 비디오 재생 컴포넌트 만들기 .......................730

플래시 라이트에서 비디오 플레이어 만들기 ........................................732

플래시 10을 위한 비디오 플레이어 만들기 ...........................................736

플래시 10을 위한 비디오 디스플레이 ...................................................743

커넥션 상태 감지 .....................................................................................747

모바일 디바이스를 위한 스트리밍과 최적화 기술..................................... 749

FMS 아키텍처 개관 .................................................................................750

윈도우에 FMS 3.5설치 ............................................................................750

FMS 3.5를 사용해 비디오를 모바일 디바이스로 스트리밍하기 .........753

스마트 버퍼 정책 설정하기.....................................................................756

대역폭 감지 ..............................................................................................758

상이한 비디오 프로필들 간에 다이내믹하게 전환하기 .......................769

플래시 미디어 라이브 인코더 3.0을 사용하는 FMS 3.5 DVR ............770

비디오 테크닉 임베드하기 ........................................................................... 770

플래시 라이트 애플리케이션에서 비디오 파일 임베드하기 ...............771

플래시 10에서 비디오 파일 임베딩하기................................................772

어도비 스트로브와 오픈 비디오 플레이어(OVP) 계획 ............................. 774

비디오 프로필들의 다이내믹 전환 .........................................................774

프로그레시브 다운로드 검색 향상시키기 .................................................. 783

어도비 스트로브 프레임워크 ..................................................................783

요약 ................................................................................................................. 793

찾아보기..............................................................................794

Page 17: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xvii

역 자 서 문

‘1010235’ 이 숫자의 의미를 아는가? ‘열열히사모해’. 90년대 초 무선호출기(일명 – 삐삐)에서 주고받던

숫자의 의미이다. 흑백(또는 녹색) LCD에 단순하게 숫자나 문자가 제한적으로 표시되었었지만 그 당

시만 해도 무선호출기는 대중화된 획기적인 디바이스 중의 하나였다.

현재 국내에는 다양한 모바일 디바이스들이 출시되고 있으며 대다수가 한 개 정도의 개인 소형 디

바이스를 선호하는 형태로 소지하고 있다. 각 제조사들은 사용자에게 풍부한 경험을 제공하기 위해

개선된 기능과 진보된 GUI, 콘텐츠들을 개발하고 출시되는 디바이스들에 추가하고 있다. 사용자의

선호도에 따른 선택폭도 넓어졌으며 이들 디바이스에서 Flash를 사용한 UI나 애플리케이션을 쉽게

접할 수 있게 되었다. 이러한 흐름에서 각 제조사들의 Flash 채택은 Flash Player가 임베디드된 시장

을 지금보다 더 확대시키고 있다. 또한 오프라인에서도 소형 LCD 제품이나 대형 디지털 스크린 같은

곳에서 각기 다른 형태의 Flash 콘텐츠를 볼 수 있다. 역자가 Flash 처음 접한 1998년━Macromedia

Flash 3이 나온 시기일 것이다─만하더라도 Flash는 그저 신기함의 대상이었으며 역자에겐 수익과는

거리가 있던 소프트웨어 중의 하나였다. 하지만 지금처럼 급격히 변화된 환경에서 Flash Lite 개발자

로서 다양한 디바이스들에 대한 이해는 필수가 되었다. 현시점에서 새로운 디바이스들에 대한 고민과

대응이 꼭 제조사들만의 문제는 아니라고 생각한다.

‘플래시 on 디바이스’는 위와 같은 면에서 가이드 역할을 충분히 해주고 있다. 이 책은 경력 Flash

Lite 개발자를 위해 다양한 디바이스에 Flash 배포방식을 단계별로 자세히 설명하고 있다. 국내에

서 Flash Lite 개발자 업무를 수행하며 서드파티 툴을 이용하여 심도 있는 개발(연구) 상황을 접하기

쉽지 않을 것이다. 이 책에는 Flash Player의 개관과 다양한 서드파티 툴을 이용한 여러 디바이스에

Flash를 배포하는 방법 및 Flash Lite의 전반적인 이해와 대응 방법들이 예제와 더불어 기술되어 있다.

Flash와 Flex가 친숙한 개발자라면 모든 내용들이 상당히 매력 있게 느낄 수 있을 것이다. 간혹, 해외

의 경우에 맞추어진 내용이 국내의 실정과 혼동될 수도 있겠지만 Flash의 범용적 활용 면에서 본다면

충분히 훌륭한 내용들임을 확신한다. 모든 판단에 중심은 Flash Lite 개발자 여러분이 직접 테스트하

고 경험해 보는 것이다.

국내의 경우, Flash Lite 개발자가 자신의 Flash 콘텐츠를 직접 모바일 오픈마켓에 판매하는 것은

결코 쉽지 않았다. 하지만 곧 출시될 Adobe Flash CS5로 인하여 모바일 Flash 콘텐츠 시장에 큰 변

화가 있으리라 생각한다. 가장 주목할 부분이 iPhone용 패키저가 포함되어 있다는 것이다. 본문에도

iPhone 관련한 배포방법(제8장 참조)을 다루고 있지만 서드파티 툴을 사용하지 않는다는 점에서 상

Page 18: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xviii

당히 매력적으로 보인다. 이것은 분명 Flash 혹은 Flash Lite 개발자들이 접근하기 어려웠던 모바일 콘

텐츠 시장에 수월히 진입하도록 도와줄 것이며 배포된 콘텐츠 사용자들에 양질의 정보를 제공할 수

있을 것이다.

여러분이 Flash Lite 개발자이거나 앞으로 계획이 있다면 수익화가 가능한 국내 Flash 시장을 충분

히 인식해야 할 것이다.

여름의 끝에서 시작한 번역작업이 어느덧 겨울 한파에 끝을 맺게 되었다. 항상 잦은 투정에도 곁에

서 묵묵히 지켜봐 준 사랑하는 나의 아내와 나의 어머니, 그리고 올해 가을 즈음에 힘차게 태어날 내

아이에게 이 책을 바친다.

이 책이 나오기 위해 강력하게 지원을 해주었던 동생 하대호에게 감사한다.

- 이철규

Page 19: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xix

추 천 의 글

기술이 지금처럼 흥미로웠던 적도, 또 혼란스러웠던 적도 없었다. 어디를 보든 여러분은 친구에게 연

락을 하고 디지털 콘텐츠를 소비할 수 있는 방법들을 찾을 수 있다. 모바일 디바이스, 거실 가전 제품,

PC, 노트북, 넷북 등은 모두 갈수록 연결 지향적으로 진화하고 있으며 풀 웹 경험을 제공할 능력을 갖

추어 가고 있다. 이는 모두 플래시 개발자들에게 매우 좋은 소식들이다. 플래시는 계속해서 개발자와

디자이너들이 다수의 스크린을 위한 깊이 있는 인터넷 애플리케이션을 만들 수 있도록 해주고 있다.

어도비에서 우리는 모바일 디바이스 및 디지털 리빙 룸과 같은 최첨단 분야를 위한 차세대 플래시 플

레이어 작업에 매진해왔다.

플래시 플레이어의 핵심 약속 중 하나는 운영체제나 브라우저에 관계없이 사용자에게 일관된 경험

을 제공하는 것이다. 운영체제뿐 아니라 하드웨어와 스크린 사이즈 등이 모두 다른 세상에서 그 약속

은 더욱 중요하다. 여러분은 고객이 어떤 디바이스를 사용하건 간에 그들이 기대할 만한 수준의 사용

자 경험을 제공하면서 그들에게 다가갈 수 있어야 한다. 어디에서나 작동하는 깊이 있는 콘텐츠의 제

작에는 플래시보다 더 낫거나 효율적인 플랫폼이 없다.

지금까지 플래시 플랫폼의 넓은 범위를 커버하는 책이 없었기 때문에 이 책은 정말 필요하다. 플랫

폼의 폭(breadth of the platform)은 모든 다양한 환경에 전달될 수 있도록 플래시 개발자들이 갈수

록 압력을 받고 있다는 것을 의미한다. 플래시가 웹상에서 스트림되는 비디오의 85퍼센트 이상을 차

지한다는 사실은 전통적 플래시 세계가 다른 미디어와 충돌하고 있으며 플래시 개발자에 대한 기술

요구가 더욱 다양해지고 있음을 의미한다. 파트 디자이너, 파트 개발자, 파트 리치-미디어 전문가, 플

래시 개발자에게는 이용 가능한 툴이 많아야 한다. 이 책은 피어나기 시작하는 모바일 세계, 브라우저

세계, 데스크톱 세계에 대해 충실히 소개해주며, 플래시 플랫폼의 기술과 툴 들의 사용에 대한 팁과

요령들을 훌륭하게 전달한다.

이 책은 훌륭한 집필진을 자랑한다. 엘라드 엘롬은 플래시 개발 세계에서 떠오르는 스타이다. 그는

강력한 배경을 가지고 있으며, 신선한 관점을 도입하고, 플래시 플랫폼의 미세한 측면에 대해 타고난

솜씨를 가지고 있다. 그는 어도비의 아주 초창기 제품에서부터 참여해 왔으며 플랫폼이 최첨단으로

유지되도록 피드백과 아이디어를 제공해 왔다. 플래시 세계에서 스콧 자누섹에 대해서는 소개가 필요

가 없다. 그는 플래시 모바일의 세계에 일찍 뛰어 들었으며 그것이 수회 거듭 반복되며 나아가는 것을

지켜봐 왔다. 그는 현존하는 가장 이목을 끄는 플래시 라이트 데모 중 일부를 개발했으며, 커뮤니티에

서 모바일 디바이스용 플래시에 관한 지속적인 자원이 되어왔다. 그와 같은 사람을 저자로 한 이 책은

Page 20: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xx

모바일 디바이스에서 플래시가 더욱 더 흥미로워지고 있는 현 시점에서 플래시 개발자들에게 널리 추

천될 만하다.

멀티 스크린 경험은 많은 어려움과 기회를 가져온다. 플래시 개발자로서 여러분은 남은 경쟁에서 남

보다 앞서야 한다. 좋은 툴, 훌륭한 서비스 및 강력하고 풍부한 미디어 인프라스트럭처의 조합을 가지

고 있다는 것은 여러분이 차세대 유저인터페이스와 미디어로 디바이스들을 공략할 수 있다는 것을 의

미한다. 이 책은 여러분이 멀티스크린의 바다를 건너고 플래시 플랫폼을 이용해 모바일 개발을 하는

데에 훌륭한 자료가 될 것이다.

- 라이언 스튜어트(Ryan Stewart)

Page 21: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xxi

저 자 소 개

엘라드 엘롬 (Elad Elrom)

엘라드 엘롬은 기술 작가이자 수석 기술자이며 시니어 플래시 엔지니어이다. 기술 작가로서 엘라드

는 플래시 기술에 관한 책들을 집필했다. 그는 액티브 블로그 (http://www.elromdesign.com/blog)

를 유지하고 있으며 몇몇 컨퍼런스에서 플래시 플랫폼과 관련해 발표한 바 있다. 그는 회사가 인기 있

는 프레임워크를 구현하고 빌트 프로세서와 코드 리뷰를 최적화 및 자동화하며 베스트 프랙티스를

따를 수 있도록 XP와 Scrum 방법론을 따르는 데 도움을 주었다. 엘라드는 Viacom, NBC Universal,

Weight Watchers와 같은 대형기업에서부터 MontionBox.com이나 KickApps.com과 같은 신생 기업

에 이르기까지 다양한 분야와 규모의 클라이언트들을 위해 컨설팅해 오고 있다.

스콧 자누섹 (Scott Janousek)

스콧 자누섹은 기술 작가, 소프트웨어 개발자, 트레이닝 강사, 커뮤니티 전도사, 세계적인 연설가

및 CEO이다. 또한 그는 미국, 보스톤 매사추세츠에 위치한 모바일 디자인 및 개발 회사인 Hooken

Mobile의 소유주이다. 스콧은 어도비 인증 플래시 디자이너 및 개발자이며 인지도 있는 플래시 모바

일 전문가이다. 플래시 모바일 작업 외에도 그는 현재 iPhone, webOS 및 Android 플랫폼을 위한 네

이티브 애플리케이션을 개발 중이다. Adobe Flash Mobile User Group, Boston Flash Platform User

Group, Mass Mobile 그리고 Mobile Monday Boston(momoBoston)의 활동 및 공헌 멤버로서 스콧

은 모바일과 디바이스에 열정적이며, 다양한 종류의 디바이스 및 도구상에서의 플래시 플랫폼에 관

심이 많다. 스콧과 그의 최신 모바일 및 디바이스 결과물에 대한 더욱 자세한 정보는 개인 블로그인

http://www.scottjanousek.com/blog/에서 확인할 수 있다.

토마스 유스(�omas Joos)

토마스 유스는 Technical University West-Flanders에서 멀티미디어 및 커뮤니케이션 테크놀러지를

전공한 모바일 컨설턴트이다. 모바일에 대한 그의 열정의 결과, 토마스는 플래시 라이트 개발과 모바

일 콘셉트 및 디자인에 전문가가 되었다. 2008년 12월 그는 Adobe Max Award for Rock Werchter

Page 22: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xxii

Mobile에서 우승했다. 토마스는 클라이언트의 온라인 캠페인, 경험 또는 커뮤니케이션 플랫폼에 가

치를 더할 수 있는 모바일 기회를 항상 모색한다. 모바일 디자인과 콘셉트에 대한 그의 관심과 플래시

라이트에 대한 강력한 지식의 조합이 동력이 되어 토마스는 테크니컬 트레이닝 세션 및 워크숍에서부

터 브레인스토밍 회의에 이르기까지 광범위한 모바일 컨설팅을 제공하며, 그는 꾸준히 클라이언트와

그들의 온라인 전략을 위한 모바일 플랫폼 기회를 찾고 있다. 토마스에 관한 더욱 자세한 정보는 그의

개인 블로그 http://www.thomasjoos.be에서 확인할 수 있다.

Page 23: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xxiii

기 술 감 수 자 소 개

낸시 니콜라이슨(Nancy Nicolaisen)

낸시 니콜라이슨(Nancy Nicolaisen)은 작가, 연구원, 전 컴퓨터 싸이언스 교수이며, 소형 임베디드

모바일 디바이스 기반 솔루션의 개발 및 디자인 전문가이다. 그녀의 세 가지 프로그래밍 책들은 다섯

개 언어로 출판되었다. 그녀는 Jupitermedia, CodeGuru, and Faulkner Information Services 등의

인터넷 기반 퍼블리셔를 위해 기능 및 내용분석을 집필하고 있으며 BYTE, PC Magazine, Windows

Sources, ComputerShopper, Dr. Dobb’s Journal of Software Engineering, Microsoft Systems

Journal, DataBased

Advisor 및 Telecom Advisor등 세계적인 출판사와 McGraw-Hill/DATAPRO Research

Corporation을 위해 수백 개의 기능 설명 글, 컬럼, 분석 등을 집필하였다.

friends of ED에서 2009년 발행할 그녀의 첫 번째 소비자 지향 책인 Getting Started with

Netbooks를 찾아보기 바란다. Getting Started with Netbooks는 여러분의 새 울트라 모바일 컴퓨터

를 가장 잘 쇼핑할 수 있는 방법과 클라우드 컴퓨팅 서비스와 진보된 액세서리들을 이용해 모바일 라

이프 스타일을 어떻게 최대한 활용할 수 있는지 가르쳐주는 평문의 가이드이다.

Page 24: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xxiv

감 사 의 말

이 책은 friends of ED 전체 팀 모두의 노력의 결과이며 비교적 짧은 시간 내에 이 책을 발간하기 위해

헌신적인 노력을 아끼지 않은 팀원 각자에게 감사의 말을 전한다. 특히 이책의 발간에 아이디어를 내

는 데 도움을 준 클레이 안드레스(Clay Andres)에게 감사의 말을 전한다. 클래이가 나의 열정을 공유

하지 않았다면 이 책의 발간은 불가능했을 것이다.

독자의 관심을 지속시키고 책의 품질을 높이는 데 고견을 아끼지 않은 톰 웰시(Tom Welsh)에게도

감사의 말을 전한다. 또한 훌륭한 기술 검토와 제 15장의 도입 몇 페이지에 참여해주고 또 이 책에 관

한 많은 아이디어를 제공해주신 낸시 니콜라이슨에게도 감사의 말을 전한다. 또한 이 책이 방향을 잃

지 않도록 해주고 장애물을 넘도록 도움을 준 소피아 마천트(So�a Marchant)에게도 감사의 말을 전

한다.

또한 어도비 라인의 제품에 대한 변동사항들을 계속해서 알려주고 이 책을 쓰는 동안 영감을 제

공해 준 어도비 전도사 제이슨 넬(Jason Knell), 라이언 스튜어트(Ryan Stewart), 그리고 케빈 호잇

(Kevin Hoyt)에게도 감사의 말을 전하고 싶다.

어도비 스트로브 팀에게 특별한 감사를 드리며, 특히 프레임워크에 관한 전에 본 적 없는 정보를 허

용하고 발간할 수 있게 도움을 준 크리스틴 야로우(Christine Yarrow)와 서머 페인(Summer Paine)

에게 감사하다.

바쁜 스케줄과 개인 생활 속에서도 데드라인을 맞추기 위해 밤낮으로 수고한 공동저자 스콧 자누

섹과 토마스 유스에게 감사의 말을 전하고 싶다.

마지막으로, 이 책의 소재 중 많은 부분의 영감에 도움을 주고 파편화된 모바일 생태 시스템과 지속

적인 교류를 유지하는 모바일과 플래시 커뮤니티에 감사의 말을 전한다.

- 엘라드 엘롬

Page 25: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xxv

알레산드로 페이스, 데일 란킨, 마크 도허티 및 다른 많은 열정적인 전세계 어도비 커뮤니티 독자들에

게 많은 시간 할애해 수 년간 모바일 및 디바이스의 플래시를 전도한 것에 대해 많은 감사를 드린다.

플래시 모바일(특히 플래시 라이트) 커뮤니티는 의견, 자료, 아이디어 및 지식을 공유하는 훌륭한 사

람들로 이루어진 공고하게 결합된 그룹이다. 지난 몇 년간 커뮤니티의 일원일 수 있었던 것을 정말 영

광스럽게 생각한다.

나의 공동저자인 엘라드와 토마스에게 많은 시간 공들여 이 책을 발간한 노고에 감사한다.

또 많은 어려움을 극복하고 책의 전체 과정을 관리하고 독자에게 전달될 수 있도록 노력해준

friends of ED 팀에게 큰 감사를 전한다. friends of ED의 퍼블리싱 팀 최고!

- 스콧 자누섹

고품질 뉴 미디어 관련 교육을 제공하는 Technical University of West-Flanders의 멀티미디어 및 커

뮤니케이션 테크놀러지(MCT) 전체 멤버들에게 감사의 말을 전하고 싶다. MCT에 간 것은 내가 내린

최고의 결정 중 하나였으며 내가 하고 싶은 일을 찾는데 큰 도움을 주었다. 특히 프로젝트나 목표에서

최상의 결과를 얻어낼 수 있도록 언제나 나에게 동기를 부여하고 기운을 북돋워주신 코엔 드 웨겔레

이르(Koen De Weggheleire)에게 감사드린다.

이 책을 훌륭하게 만드느라 너무나도 고생하신 엘라드 엘롬과 스콧 자누섹에게 많이 감사드린다.

더불어 여러분들의 날개 밑에 나를 태워주신 두 분에게 또 한번 감사 드린다. 수 많은 밤샘작업이 있었

지만 나에게는 너무나 훌륭한 경험이었고, 또 결과에 대해서 매우 자랑스럽게 생각한다.

전체 책의 공정을 관리하고 출판해준 모든 friends of ED 멤버에게 감사한다. 여러분과 함께 일하게

되어 정말 기뻤습니다.

- 토마스 유스

Page 26: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xxvi

서 문

이 책을 쓰게 된 아이디어는 엘라드가 공동 집필한 AdvancED Flex3에서 시작되었다. 엘라드는 모바

일 디바이스에 대해 80페이지 분량인 챕터의 책을 썼다. 그 책이 출간되기 전에 팀은 플래시 라이트를

다루는 챕터를 쓰는 것이 Flex 3 책에는 어울리지 않는다고 깨달았고 해당 챕터를 누락시켰다. 맨해튼

에서 클레이 안드레스와 트랜드, 기술, Flex와 모바일에 대해 논의한 후 엘라드와 클레이는 무언가 색

다른 것이 필요하다 생각했고 모바일 디바이스의 플래시 플레이어 10 출시를 고려해 플래시 라이트를

신생 기술들과 혼합하기로 결심했다. 그들은 또한 플래시 라이트에 대한 따라가기 힘든 변화들을 포

함하기로 결정했다.

얼마 지나지 않아, 엘라드는 그의 비전을 공유하고 이 책을 만드는 데 도움을 준 스콧 자누섹 그리

고 토마스 유스와 연결되었다. 이 책은 플래시 플랫폼을 이용해 어떻게 모바일 디바이스를 위한 애플

리케이션을 개발하는지에 대한 이론, 관련 실생활 예시, 전에 본 적 없는 튜토리얼과 정보를 포함한다.

모바일 디바이스는 전 세계적으로 가장 빈번히 사용되는 디바이스이다. 그리고 오늘날 모바일 생태

시스템은 흥미로운 진보를 경험하고 있다. 이런 변화의 한복판에 모바일 디바이스를 위함 플래시 플

레이어 10과 AIR(Adobe Integrated Runtime)의 가용화와 더불어 아이디어를 현실로 이동시키고 있

는 어도비 오픈소스 프로젝트가 있다. 이 흥미로운 변화들은 모바일 개발자들에게 새로운 가능성을

열어주고 있으며, 여러분이 디바이스들 간에 코드가 공유되는 크로스 플랫폼 애플리케이션을 제작할

수 있게 해준다.

이 책은 플래시 플랫폼을 이용한 모바일 개발에 관심이 있는 개발자라면 좋은 출발점이 되어 줄 것

이다. 또, 모바일 개발을 다음 단계로 이동시키고 더욱 고급 주제들에 대해 다루며 모바일 개발이 나

아가는 방향을 이해하는 데에 반드시 참고할 만한 훌륭한 자료이다. 한계점까지 도달해 보고 싶은 플

래시 라이트 개발자로서 모바일 생태 시스템을 더 잘 이해하고 싶은 사람이든 플렉스 개발자로서 그

동안 액션스크립트 2.0에서 코드를 작성하기 싫어 모바일 개발을 위한 애플리케이션의 개발을 피해온

사람이건 간에 많은 개인들에게 도움이 될 것이다. 또한 여러분이 모바일 애플리케이션 개발을 위해

플래시 플랫폼을 전에 사용한 적이 없지만 이 흥미로운 가능성에 도전하고 싶어하는 개발자라면 좋

은 출발점이 될 것이다.

Page 27: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

xxvii

이 책은 여러분에게 보상이 좋고, 복잡하며, 파편화되어 있고, 급속하게 변화되고 있다고 알려진 모

바일 개발 세계에 대한 최상의 통찰을 제공한다. 이 책의 챕터들은 플래시 플레이어 1.1, 2.0, 2.1, 3.0,

3.1, 9.0 및 10.0를 이용한 상이한 버전들의 플래시 콘텐츠를 다룰 것이다. 이 책에서 다루는 주제로는

AIR를 이용한 데스크톱 및 모바일 개발, 데스크톱 및 웹 개발의 차이점, 모바일 개발에서 이 차이점

들을 어떻게 고려할지에 대한 내용 등이 포함된다. 이 책은 전 세계 모바일 생태시스템의 일부인 기존

플랫폼들, 콘텐츠 제공자, 집중사업자들에 대한 정보를 포함한다. 이 책은 또한 플래시를 iPhone에 전

개하기 및 Flash Catalyst, Flex 및 AIR를 사용해 모바일 애플리케이션 개발하기 등의 주제에 대한 흥

미로운 튜토리얼을 제공한다.

우리는 이 책이 훌륭한 자료일 뿐 아니라 모바일 개발의 미래로 가는 창문이 될 수 있다고 믿는다.

이 책은 모바일 개발자들이 오늘날 겪는 어려움뿐 아니라, 모바일 디바이스를 위한 플래시 플레이어

10과 AIR로 애플리케이션을 개발하는 데 겪게 될 어려움들에 대해서도 기술하였다. 우리의 소망은

이 책이 여러분으로 하여금 모바일 디바이스를 위한 애플리케이션을 개발하고 싶은 의욕을 갖게 하

는 것이다.

레이아웃 규정

이 책을 최대한 명확하고 쉽게 따라올 수 있도록 하기 위해서 아래 텍스트 규정이 사용되었다.

코드는 고정폭( ▒ fixed-width) 폰트로 표시되었다.

새로운 또는 변경된 코드는 보통 굵게 표시한 고정폭( ▒ bold fixed-width) 폰트를 사용했다.

의사코드(pseudo code)와 변수 인풋은 이탤릭체 고정폭( ▒ italic fixed-width) 폰트를 사용

했다.

메뉴 코맨드는 ▒ 메뉴 ▷ 하위 메뉴 ▷ 하위 메뉴의 형태로 작성하였다.

여러분의 주목을 요하는 부분에서는 다음과 같이 하이라이트했다. ▒

내가 전에 주의를 주지 않았던가?

간혹 코드가 책의 한 줄에 다 들어가지 않는 경우 다음과 같은 화살표를 사용했다: ▒

public static function getVideoListEventHandler

(event:Object):Void

Page 28: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

Flas

h O

N D

evic

es

Page 29: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

제 1 부

모바일 개발 현황

01 모바일과 디바이스 현황

Page 30: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

2

Page 31: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

3

01모바일과 디바이스 현황

오늘날 모바일 디바이스(Mobile devices)는 네트워크 가입자와 숙련된 디자이너의 급속한 증가로 인해

역동적인 큰 변혁을 겪고 있다. 이와 같은 변화는 터치스크린처럼 더욱 개선된 유저인터페이스(User

Interface, UI)와 하드웨어의 등장을 촉진시키고 있다.

모바일 매거진(Mobile Magazine)에 따르면, 2010년까지 초고속 인터넷 접속을 기반으로 한 3G 네트

워크에 연결된 모바일 디바이스 사용자가 10억 명 이상에 다다를 것으로 전망된다.

모바일 디바이스가 변화함에 따라 모바일 디바이스에 대한 사용자의 기대 또한 향상될 것으로 보

인다.

이러한 변화 중에서도 특히 어도비 오픈소스 프로젝트(Adobe Open Source Project)는 다른 모바일

테크놀러지와의 경쟁을 위해 플래시 플레이어(Flash Player)를 기존의 라이선스 모델에서 오픈소스 모

델로 변화시키고 있다. 모바일 디바이스를 위한 Flash 10과 Adobe Integrated Runtime(AIR)의 이용

가능성에 대한 발표는 모바일 개발자들에게 새로운 도전의 장을 열고 있다.

오늘날 아래 내용을 포함한 다양한 종류의 모바일 디바이스가 이용되고 있다.

▒ 휴대전화는 전 세계에서 가장 일반적으로 이용되는 전자 단말기이다. 휴대전화는 전화통화를

목적으로 시작되었지만, 최근 몇 년간 순수한 음성형태에서 데이터 형태로의 뚜렷한 변화를

보이고 있다. 오늘날 휴대전화는 단순히 ‘전화를 거는 것’ 이상의 다양한 기능을 포함하여 ‘스

마트폰’으로의 변화를 보인다. 스마트폰은 웹이나 데스크톱에서 통상 이용하는 프로그램과 멀

티미디어 등을 지원하기 위한 CPU와 대용량 메모리를 제공한다. 현재까지, 휴대전화는 오직

Page 32: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

4 l 플래시 ON 디바이스

플래시 라이트(Flash LiteL)만을 지원했고, 개발은 ActionScript 1.0 또는 2.0을 이용한 Flash

애플리케이션 제작에 한정되어 있었는데, 이는 기존코드(legacy code)의 이용을 원치 않는 많

은 Flex, AIR, ActionScript 3.0 개발자들에게는 주요 단점으로 지적되어 왔다. 그러나 웹 브라

우저상에 Flash 10을 실행하는 스마트폰 프로토타입이 이미 존재하고, 올해에는 일부 모바일

디바이스가 Flash 10과 Adobe AIR를 지원할 것으로 기대된다.

Ultra-mobile PC( ▒ UMPC)는 노트북 컴퓨터보다 작으며, 무선 접속 기능을 제공한다. 이 디바

이스는 CPU에 따라 Linux, Windows XP, Windows Vista 또는 Windows 7 운영체제를 실행

할 수 있다.

▒ Mobile Internet device(MIDs)는 초소형 멀티미디어 컴퓨터로 무선 인터넷 연결 및 음악, 비디

오, 이미지 등의 재생 기능을 제공한다. 이 디바이스는 UMPC와 휴대전화의 간격을 메워준다.

이 디바이스는 CPU에 따라 Linux, Windows XP 또는 Vista 운영체제를 실행할 수 있다. 비록

이 디바이스가 많이 이용되고 있는 것은 아니나, Flash 10과 AIR 애플리케이션 테스트를 위해

서는 훌륭한 모바일 플랫폼이라 할 수 있다.

▒ ARM 기반 디바이스들은 ARM 아키텍처를 갖고 있으며 휴대전화, 셋톱박스(set-top box),

MID, TV, 자동차 플랫폼, MP3 플레이어와 기타 모바일, 컴퓨팅 기기 등에서 볼 수 있다.

단편화에 대응하기

기술이 진보하면서, 모바일 디바이스는 향상된 CPU와 더 많은 메모리를 갖지만 ‘단편화

(Fragmentation)’ 1 라고 하는 한 가지 미해결 문제가 여전히 남는다.

단편화는 대부분 OEM에 의해 발생하게 되는데 OEM 2 은 무엇이 모바일 디바이스에 들어갈지, 활

성화 또는 불능화되는 것은 무엇인지 그리고 결과적으로 사용자의 손에 최종적으로 남게 될 것은 무

엇인지 결정한다.

단편화는 주로 소프트웨어에서 발생한다. 예를 들어, 모바일 디바이스에 Bluetooth Sync 또는

multitouch 기능이 포함되어 있다고 하더라고 OEM은 이 기능들을 불능화시켜 버릴 수 있다.

1   (옮긴이) : 단편화(Fragmentation)는 어떠한 자료나 공간이 여러 조각으로 나누어져 분포되는 것을 말한다. 이를테면 하드디스크의

경우 파일을 작은 조각(클러스터)으로 나누어 관리를 하는데 이때 단편화가 발생된다. 이러한 이유로 윈도우의 경우 시스템 조각모

음 있다. 이 책에서 단편화는 가령 여러 제조사들로부터 개발된 디바이스들은 고유한 특성을 지니고 있기 때문에 어떠한 소프트웨

어를 배포한다고 할 때 각각의 디바이스 특성별로 소프트웨어를 제작해야 하는 상황을 의미한다.

2   (옮긴이) : 여기서의 OEM은 단말기회사, 예로 삼성 또는 엘지 등

Page 33: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

01 모바일과 디바이스 현황 l 5

또 다른 문제는 각 디바이스가 다른 플랫폼 또는 운영체제를 기반으로 하고 또한 상이한 브라우저

사양과 네트워크를 가질 수 있다는 것이다. 따라서 다양한 플랫폼에서 작동할 수 있는 애플리케이션

의 개발이 고비용의 힘든 과제가 되고 있다.

이 책에서는 다양한 플랫폼에서 작동할 수 있는 애플리케이션을 크로스 플랫폼, 멀티 플랫폼, 멀티

타겟, 또는 멀티스크린 애플리케이션으로 부르도록 한다. 대개 이 애플리케이션들은 다수의 컴퓨

터 플랫폼에서 구현(implement)되고 실행되는데, 이는 다른 종류의 모바일 운영체제일 수도 있고,

PCs, Macs, 또는 웹 클라이언트와 같이 다른 컴퓨터 플랫폼일 수도 있다.

어도비 오픈 스크린 프로젝트(Adobe Open Screen Project, http://www.openscreenproject.org/)는 파트

너 연결과 "Write once, run anywhere"(WORA) 패러다임의 실현을 통해 단편화 문제를 해결하는 데

초점을 맞춘 시작점이라 할 수 있다. 최근 Linux, 32/64-bit, Mac OS X 그리고 Solaris 등과 같은 다양

한 운영체제를 위한 Flash Player 10이 출시됨에 따라 본 프로젝트는 현실화되어 가고 있다. 어도비 오

픈소스 스크린 프로젝트는 Flash Player 10이 로열티 없이 모두에게, 또한 Flash 10과 AIR를 채택한

ARM, 노키아, 인텔과 같은 Open Screen 파트너에게 제공된다고 발표했다.

2장에서는 어도비 오픈 스크린 프로젝트(Adobe Open Screen Project)에 대한 자세한 사항들을 다

루며, 특히 플래시 라이트(Flash Lite)를 어떻게 연결하는지, Flash 10이 모바일 및 타 디바이스에

대한 로드맵이 되는지 등을 다룬다

여러분은 오늘날 혁신적 변화들로 인한 혜택을 얻게 됨에 따라 개발자로서 다양한 디바이스에 대

응할 수 있는 애플리케이션을 Flash 10 환경에서 만들 수 있다.

개발자의 애플리케이션은 더욱 다양해진 플랫폼과 브라우저, 그리고 모바일 제작사 등이 Flash 10

을 지원함에 따라 상이한 플랫폼상에서 사용자들에게 동일한 경험을 제공해 줄 수 있는 형태를 갖추

게 된다. 또한 애플리케이션을 조금만 변경하여도 배포가 가능할 것이다.

그림 1-1은 동일 애플리케이션이 컴퓨터, TV, 노트북, 스마트폰, MID에서 실행되는 것을 보여준다.

Page 34: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

6 l 플래시 ON 디바이스

그림 1-1 | 다양한 디바이스에서 작동하는 동일

애플리케이션을 보여주는 오픈 스크린 홍보 그림

(Open Screen Projcet marketing diagram)

이러한 패러다임은 일부 선도 기업에 의해 벌써 사용되고 있다. 예를 들어, ShifD라 불리는 애플리

케이션의 경우, AIR와 Flex를 이용하여 데스크톱, MID, UPMC 또는 웹상에서 사용자가 정보를 업데

이트할 수 있도록 한다. (그림 1-2 참고)

그림 1-2 | 다양한 디바이스에서의

ShifD 애플리케이션

이처럼 흥미로운 진보 속에서 우리는 현재 차세대 애플리케이션을 개발하고 있지만, 여전히 Flash 10

과 Adobe AIR를 지원하는 모바일 디바이스는 매우 제한적이라는 것을 상기할 필요가 있다. 그러나

플래시 라이트를 이용한 모바일 애플리케이션 개발은 여전히 유효하며 추후에도 적절하게 사용될 것

이다. 플래시 라이트를 잘 습득해 놓으면 향후 일정기간 동안은 최신 기술로 남아 있을 것이기 때문에

매우 유용할 것이다. 따라서 다음 장들 중 상당 부분이 플래시 라이트를 위해 할애될 것이다.

디바이스에 대해 알아보기

다음 절에서는 플래시 라이트를 사용할 수 있는 디바이스들에 대해 알아본다. 각각의 디바이스에 대

한 설명은 해당 보기와 토의를 통해 진행하도록 한다.

Page 35: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

01 모바일과 디바이스 현황 l 7

휴대전화

휴대전화의 진보로 인하여 이제 전화기는 전화를 걸고 받는 것 이상의 용도로 이용되고 있다. 실제로

휴대전화는 더욱 더 개인화되고 있으며 이용자의 편의에 맞추어 진화하고 있다. 이제 개인들은 휴대전

화를 이용해 사회 유대관계를 지속할 뿐 아니라 재미를 느끼기 위하여 음악 업로드, 게임, 비디오 및

사진 열람, 인터넷 쇼핑, 이메일 작성, 사진촬영, GPS 이용 길 찾기 등 다양한 종류의 애플리케이션에

접속할 수 있다.

휴대전화는 단말기의 종류에 따라 이용 가능한 운영체제도 달라지는데 가장 흔한 종류로는 심비안

(Symbian), 윈도우 모바일(Windows Mobile), 아이폰(iPhone), 림(RIM, Research In Motion) 등이 있다.

개발자는 각 운영체제별로 프로그래밍할 수 있는데 보통 Java나 C++(아이폰에서는 Objective C가

이용되는 등 가변적인 경우 포함)일 경우가 많다. 또한 멀티 플랫폼 모바일 애플리케이션을 구축하고

애플리케이션을 다양한 디바이스에 포팅(port)하기 위한 플랫폼을 선택할 수 있다. 모바일 애플리케

이션 개발을 위해 가장 많이 사용되는 두 가지 플랫폼은 현재 Flash Lite와 Java Micro Edition(ME)

이다.

매크로미디어(Macromedia, 현재 Adobe)는 2003년 Flash Lite version 1.0의 출시로 모바일 게임시장

에 일찍 뛰어 들었다. Flash Lite 1.0은 non-PC 디바이스를 지원할 의도로 개발되었고 사용빈도가 급

속히 증가했다. 스트래티지 애널리틱스(Strategy Analytics)에 따르면, 2012년까지 약 14억 대의 전화기

가 Flash Lite를 지원할 것으로 기대된다고 한다(그림 1-3 참고).

우리는 다양한 종류의 휴대전화 운영체제와 플랫폼에 대해 알아보고 그것들이 어떻게 플래시와 소

통하는지, 또 최근 많이 사용되고 있는 단말기들의 에뮬레이터(emulator) 셋팅 방법을 간단히 소개함

으로써 단말기를 구입하지 않고도 애플리케이션을 테스트할 수 있도록 하겠다.

또한 우리는 모바일 애플리케이션을 개발할 수 있는 개발 환경을 갖출 수 있도록 하겠다.

Page 36: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

8 l 플래시 ON 디바이스

일본

일본

중앙유럽

중앙유럽

서유럽

서유럽

중남미

중남미

아시아 태평양

아시아 태평양

미국

미국

그림 1-3 | 2009년 세계 플래시 라이트(Flash Lite) 장착 디바이스 현황

휴대전화 개발 생태계 소개

휴대전화 애플리케이션을 개발할 때의 기업 실무는 데스크톱이나 인터넷 애플리케이션과는 다르다.

따라서 아래 그림 1-4에 나타난 모바일 패러다임 및 다양한 참여자를 확인하고 이해하는 것은 유용

하다.

Handset 제작사 (소니, 삼성)

Handset 사용자

전달 에이전트

운영사(Verizon, AT&T)

호스팅 제공사

모바일 게임, 애플리케이션

발행사(Publisher), 집중사업자(Aggregator)

콘텐츠 제공자

개발자

그림 1-4. 모바일 생태계

Page 37: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

01 모바일과 디바이스 현황 l 9

생태계(ecosystem)는 동식물과 기타 요소들이 함께 조화를 이루어 작용하는 환경이다. 모바일 생태

계는 모바일 콘텐츠 배포에 관해 각기 다른 주체가 함께 협력하여 작용하는 비즈니스 모델을 뜻한다.

이 모델은 다음과 같은 필수과정으로 이루어져 있다 : 모바일 개발자는 애플리케이션을 개발

하여 그것을 판매하든가 아니면 테스트와 판촉을 할 수 있는 발행사(Publisher) 또는 집중사업자

(Aggregator)를 이용할 수 있다. 동시에, 운영사(예를 들어 AT&T, DoCoMo 또는 Verizon) 또는 제작

사(Manufacturer)는 고객에게 휴대전화(단말기)를 판매한다. 콘텐츠는 디바이스에 미리 인스톨되며,

사용자는 운영사(Operator) 또는 전달 에이전트(Delivery agent)로부터 추가적인 모바일 게임이나 기타

다른 애플리케이션을 구매할 수 있다. 콘텐츠가 한 번 구매되면 사용자는 모바일 호스팅 제공사나 서

드파티(third party) 3 가 호스팅하는 서버로부터 애플리케이션을 다운로드할 수 있다. 4

웹이나 데스크톱 애플리케이션의 구축과는 다르게, 보통 운영사(Operator)는 전화기에 배포되는 콘

텐츠에 대한 통제권을 갖는다. 또한, 운영사가 콘텐츠나 디바이스를 제한할 수 있기 때문에 수익 역시

분배된다. 달리 말해, 모바일 생태계에는 많은 주체가 있고, 그중 애플리케이션 개발자는 수익을 나누

어 가져야만 하는 구조인 것이다.

모바일 비즈니스는 비교적 새롭고 변화가 빠르게 일어나는 분야이기에 생태계 또한 빠르게 변화할

수 있다. 예를 들어, 핸드셋 제작사는 독립적인 전달 에이전트(delivery agent)로 기능할 수 있으며, 고객

에게 직접 콘텐츠를 판매할 수도 있다. 가령, 애플사의 walled garden(폐쇄형 생태계) 5 인 iTunes는 모

바일 애플리케이션을 아이폰에 직접 판매하였다.

또 다른 walled garden의 예는 모바일 콘텐츠 교환을 위해 공용 커뮤니티 기반의 생태계를 사용하

는 노키아(현재는 노키아 OVI Store로 변경)의 MOSH(http://mosh.노키아.com/)가 있다.

“Walled garden”은 사용자에게 제공되는 배타적 미디어 콘텐츠를 의미하며, 개념상 오픈소

스 콘텐츠의 정반대라 할 수 있다. Walled garden에서는, 휴대전화 운영사가 통신사 공통 기능

(common carrier function)보다는 개별화된 콘텐츠(custom content)를 제공한다.

3   (옮긴이) 운영사 또는 에이전트에 콘텐츠를 제공하는 회사. 컴퓨터 용어 사전에는 소프트웨어나 주변장치 따위의 제조사

4   (옮긴이) : 국내의 경우 위에서 서술한 개발자는 콘텐츠 사업자(Contents Provider, CP)이며 집중사업자는 종합 콘텐츠 사업자

(Master Content Provider 또는 Main Content Provider, MCP)이다. 운영사는 SKT, LGT, KTF등에 해당한다.

5   (옮긴이) : Walled garden을 직역하면 ‘울타리 내의 정원’이라는 의미를 갖는데, 이는 곧 웹콘텐츠와 서비스에 대해 사용자 접근을 제

한하는 인터넷 환경을 말한다. 월드가든은 미리 엄선된 자료에 대해서만 사용자가 볼 수 있도록 허용하고, 다른 자료에 대해서는

접근을 통제하는 등 특정 지역 내에서 사용자 이용을 감독한다.

Page 38: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

10 l 플래시 ON 디바이스

모바일 개발을 시작함에 앞서 모바일 생태계를 이해하는 것은 필수적이다. 모바일 생태계가 어떻게

운영되는지에 대한 더욱 자세한 사항은 아래 주소의 Adobe’s Developer Connection 사이트의 PDF

파일을 통해 확인할 수 있다.

www.adobe.com/devnet/devices/articles/mobile_ecosystem.pdf

2장에서는 개발을 통한 수익을 창출하는 데 관심이 있는 독자들을 위해 플래시 라이트 생태계와

콘텐츠 배포 구조에 대해 자세히 다루도록 하겠다.

모바일 생태계의 미래에 대비하기

아직 모바일 분야가 거대 기업체에 의해 장악된 상태가 아니기 때문에 많은 기업들은 자신들의 기술

을 촉진시키고 또한 패러다임의 변화를 주도하고자 한다. 예를 들어, 안드로이드와 함께 구글(Google)

은 운영사(Operator)들에게 무보수로 프레임워크(framework)를 제공하며, 또한 모바일 세계가 운영되

어 온 기존의 방식을 재구성하고자 노력한다. 한편, 누구든 고객의 필요를 충족하기 위해서는 Flash

Player를 고려할 필요가 있다. 사용자는 웹에서 서핑하는 것과 동일한 경험을 기대할 것이기 때문이다.

예를 들어, 애플 아이폰은 현재 고유의 So�ware Development Kit(SDK)를 보유하고 있으며, 플래

시 라이트나 Java ME를 지원하지 않는다. 애플은 운영체제에 Flash Lite를 인스톨하고 싶어 하지 않

기 때문이다. 하지만, 어도비는 혼신의 노력으로 아이폰만을 위한 Flash Player 10을 개발 중에 있다

(이 제품은 아이폰만을 위한 추가 API를 포함시키고 자원소모가 심한 API는 제거한 Flash Player 10

의 최적화 버전이라 생각된다).

모바일 SDK는 개발자가 플랫폼상에서 애플리케이션을 개발하는 데 도움을 주는 일련의 툴셋(tool

set)이다. 보통 에뮬레이터와 API들을 포함하며, 통합개발환경(IDE)과 그 밖에 유용한 기능을 제공

한다.

MID와 UMPC 디바이스

MID는 멀티미디어 모바일 디바이스로서 무선 인터넷 접속기능을 제공하며, 스마트폰보다 크고

UMPC보다는 작다. 그림 1-5를 통해 일부 샘플을 확인할 수 있다. MID는 듀얼 코어 프로세서로

Linux 운영이 가능하다. 또한, Windows XP나 Vista 역시 운영이 가능하다. Adobe는 리눅스상에서

동작하는 Flash 10을 출시했다. 따라서, 일부 MID device는 Flex나 AIR 애플리케이션의 실행이 가능

하다.

Page 39: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

01 모바일과 디바이스 현황 l 11

그림 1-5 | 삼성 Q1 UMPC(좌측), Aigo P8860 MID(우측)

디지털 가전

어도비는 가전에 플래시를 활성화하기 위해서 디지털 TV, 셋톱박스, 블루레이, DVD, 그리고 IPTV에

집중하고 있다. 어도비는 칩에 플래시를 활성화하기 위해서 인텔(Intel) 및 브로드콤(Broadcom)사와

협력하여 작업 중에 있다.

인텔 칩과 플래시의 결합

캘소프트랩(Calso� Labs), 인텔, 어도비는 SoC(System on Chip) X86 기반 시스템으로 CE3100이라 불

리는 인텔 캔모어 미디어 프로세서 칩(Canmore media processor chip)을 사용하여 디바이스를 개발하

고자 하는 고객들을 위해 평가 포트(evaluation port)를 개발 중에 있다. 이 칩은 디지털 TV와 같은 가

전제품을 겨냥하여 만들어졌다. 미디어 프로세서는 고화질 비디오, 홈씨어터급 오디오 및 고급 3D 그

래픽 등의 지원을 위해 가전업계 최신기술을 제공한다. 이 칩은 인텔 아키텍처(IA) 하드웨어 및 소프

트웨어와의 수행성, 유연성 및 호환성을 제공한다.

2008년 8월, 인텔과 야후는 TV를 인터넷과 연결하여 위젯(widget)을 사용할 수 있도록 하는 야후

위젯 채널(Yahoo Widget Channel)을 공동개발할 계획이라고 발표했다. 이 소프트웨어는 디지털 TV에

위젯을 추가할 수 있도록 해주는데, 여기서 위젯은 개인 PC에 여러분이 가지고 있는 위젯으로 생각해

보면 이해하기 쉽다.

플래시 라이트(Flash Lite) 모바일과 디바이스 위젯에 관해서는, 5장에서 노키아 S60 런타임 위젯

과 첨비(Chumby) 비휴대용 가전 디바이스를 다루면서 설명하도록 하겠다.

Page 40: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

12 l 플래시 ON 디바이스

삼성전자, 인텔 및 야후는 올해 안에 TV를 인터넷 장착 위젯에 연결시키기 위해 그들의 계획 중 두

가지 핵심요소를 추가했다. 삼성은 2009년 TV들 중 일부 선택된 것에 대하여 TV 내부 기술에 대한

사항을 지원하기로 합의했다. 또한 어도비는 플래시 라이트 기술을 야후 위젯 채널 호환 셋톱박스

(set-top box)의 핵심 구성요소인 인텔 미디어 프로세서 CE3100에 맞추어 버전을 조정하겠다고 했다.

브로드콤 칩과 플래시의 결합

브로드콤은 셋톱박스와 디지털 TV 시장의 주요 사업자 중 하나이다. 브로드콤과 어도비 시스템즈

는 브로드콤의 최신 디지털 텔레비전 및 셋톱박스 SoC(system on a chip) 플랫폼에 플래시를 결합하

기 위해 공동 작업할 것이라고 발표했다. 그 결과로, 브로드콤의 BCM3549, BCM3556, BCM7400,

BCM7405 솔루션에서 Adobe Flash Lite 3.0이 지원될 것이다.

ARM 기반 디바이스

ARM 디자인 아키텍처는 일반 프로세서보다 전력소모가 적은 32비트 Reduced Instruction Set

Computer(RISC) 프로세서의 사용을 기반으로 한다. ARM은 거의 모든 모바일 가전에서 찾아볼 수

있는데, 그 예로 PDA, 휴대전화, MP3 플레이어, 셋톱박스, MID, TV, 자동차 플랫폼, 계산기 및 기타

모바일 컴퓨팅 디바이스 등이 있다. Adobe는 플래시 10과 AIR가 가장 최신 ARM 칩(ARM11)에서

지원될 것이라고 발표했다. 이는 스마트폰에서 플래시 10과 AIR의 첫 출시를 의미하며, 아이폰이 삼

성 ARM1176 프로세서를 사용하기 때문에 아이폰에 대해 전 기능이 지원되는 Flash Player는 애플사

의 요구를 충족시켜 줄 것이다.

운영체제와 플랫폼에 대해 알아보기

오늘날, 개발자가 이용 가능한 휴대전화 운영체제와 플랫폼에는 대형 경쟁사인 Flash, Java ME, 심비

안(Symbian), 윈도우 모바일(Windows Mobile), 블랙베리/림(Blackberry/RMI)과 소형 경쟁사인 아이폰

(iPhone), 브루(BREW), 안드로이드(Android), 팜(Palm) 등이 있다. 현재는 심비안 운영체제가 시장을

장악하고 있다(그림 1-6 참고). 6

6   (옮긴이) 2010년 1월 가트너의 자료에 의하면 심비안 77.7%, 윈도우 모바일 9.5%, 아이폰 4.6%, 림 3.0%, 안드로이드 2.6%, 리눅스

2.1%의 모바일 OS 시장 점유율을 보이고 있다.

Page 41: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

01 모바일과 디바이스 현황 l 13

심비안

윈도우 모바일

블랙베리

기타 심비안

윈도우

기타

그림 1-6 | 2007 Canalys 보도자료에 따른 운영체제별 세계 모바일 출하 비중

(http://www.canalys.com/pr/2008/r2008021.htm)

원어 컴파일 Vs. 인터프리터 언어

애플리케이션은 보통 C나 C++을 이용해서 어떤 운영체제이든지 간에 원어적으로(natively) 개발이

가능하다. 전화기의 원어로 애플리케이션을 개발하면 다음과 같은 장점이 있다. 속도를 향상시키고,

컴파일 파일의 용량을 줄일 수 있으며, 디바이스의 모든 기능에 접근할 수 있다. 주요 단점으로는 콘텐

츠를 다른 플랫폼에 이식할(port) 수 없는 등 이식성(portability)이 약화되는 것과 개발기간이 장기화

되는 것이다. C++ 및 타 코딩 스탠다드의 메모리 관리 요구(Memory Management Requirement)로 말

미암아 C++는 훨씬 더 많은 코드가 요구되기 때문이다.

다른 플랫폼 간 쉽게 애플리케이션을 이식하고 멀티플랫폼 애플리케이션을 구축하기 위해서, 개발

자는 모바일 디바이스의 원어 운영체제 위에서 실행하는 플래시나 Java ME와 같은 플랫폼상에서 개

발을 고려할 수 있다.

다음은 원어에 비해 인터프리터 언어를 사용했을 때의 장점이다.

변경 없이 ▒ 또는 약간의 변경만으로 애플리케이션을 여러 디바이스에 이식할 수 있다.

개발자는 친숙한 IDE로 개발할 수 있으며 새로운 툴을 배울 필요가 없다. ▒

프로그래밍이 쉬워진다. 가령 C와 C++는 메모리 운용이 필요하다. ▒

기존 코드 베이 ▒ 스나 애플리케이션을 활용할 수 있다.

Page 42: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

14 l 플래시 ON 디바이스

플래시 플랫폼 이해하기

스트래티지 애널리틱스(Strategy Analytics)에 따르면, 플래시 라이트는 2009년에 10억대, 2010년 말에

는 25억대 디바이스에 사용될 것으로 전망되는데, 이는 전 세계 유통되는 전화기의 약 46퍼센트에 달

하는 수치이다. (http://www.strategyanalytics.com/default.aspx?mod=ReportAbstractViewer&a0=3727)

또, ARM 디바이스상의 Flash Player 10과 Adobe AIR 이용은 Adobe가 Flash Player 풀버전을 더

욱 더 많은 스마트폰과 기타 가전 디바이스에 적용하는 데 도움을 줄 것이다.

각 단말기는 그 운영체제에 기반을 두고 Flash Player의 이용가능 버전에 따라 플랫폼을 선택한다.

플래시는 일반적으로 아래와 같은 것들을 개발하기 위해 사용된다.

독립체계 애플리케이션(게임 등) ▒

개인화 콘텐츠(바탕화면, 화면 보호기 등) ▒

UI ▒

모바일 웹 콘텐츠(게임, ▒ 광고, 애플리케이션 등)

플래시 라이트 다루기

플래시 라이트는 아래와 같은 일반적인 모바일 플랫폼에서 지원되는 플래시 플레이어의 최적화 버전

이다.

심비안 운영체제 ▒

윈도우 모바일 운영체제 ▒

브루 ▒ (BREW) 플랫폼

또 많은 OEM과 운영사들은 플래시 라이트 이용 가능 디바이스를 출시하고 있는데, 첨비(Chumby),

벤큐(BenQ), 차이나 모바일(China Mobile), 아이리버(iRiver), KDDI, 코닥(Kodak), LG, 모토로라

(Motorola), 노키아(Nokia), NTT DoCoMo, 삼성, 소니 에릭슨(Sony Ericsson), Verizon Wireless 등이

해당된다.

앞서 언급한 바와 같이, 플래시 라이트는 개발에 막대한 가치를 제공한다. 즉, 전 세계 전화기의 약

80퍼센트에 접근할 수 있도록 해주며(그림 1-6 참고), 플래시 라이트 플랫폼을 이용함으로써, 운영체

제 API에 의존하지 않고 “write once, run anywhere”를 구현할 수 있다. 각 운영체제에 맞는 새로운

애플리케이션을 개발하지 않고 거의 모든 경우에 변경 없이도 애플리케이션을 상이한 운영체제에 쉽

게 이식할 수 있기 때문이다.

Page 43: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

01 모바일과 디바이스 현황 l 15

플래시 라이트 아키텍처(그림 1-7 참고)는 플래시의 최적화 버전이며 아래와 같은 구성요소를 포함

한다.

디바이스 API: Flash Lite는 fscommand()와 fscommand2() function을 활용하여 문자나 배 ▒

터리 잔여상태 등 일부 휴대전화 서비스에 대한 액세스를 할 수 있다.

네트워크: 데이터 수집을 위해 getURL()이나 이메일을 위해 mailto와 같은 HTTP 및 ▒

HTTPS call이 사용될 수 있다. 다른 API들에서 가령 loadMovieNum(), loadVariables(),

loadVariablesNum() 등은 런타임 동안 데이터와 미디어를 로드하는 데 사용될 수 있다. XML

과 SWX는 Flash Lite 2와 3에서 모두 지원된다.

Drawing API: 이 API는 벡터 그래픽과 애니메이션의 동적 또는 정적 제작을 가능하게 한다. ▒

Dynamic data: 외부 XML 데이터가 바로 로드 및 분석할 수 있다. 또한 필요에 따라 프록시 ▒

(proxy)를 이용하여 연결(bridge)할 수 있다.

Persistent data: 애플리케이션 상태를 유지하기 위하여 휴대전화의 시스템 디렉터리 내 로컬 ▒

또는 모바일 공유 오브젝트들을 저장할 수 있다.

플래시 라이트에 대해서는 ‘2장 플래시 라이트 플랫폼의 기초’에서 더욱 상세하게 설명할 것이며 플

래시 라이트 플레이어 버전, 플레이어 기능, 툴, 패키지와 플랫폼에 대한 콘텐츠 배포와 생태계에 대해

서도 다룰 것이다.

그림 1-7 | Flash Lite 3.1 아키텍처 (Adobe 시스템 제공)

Page 44: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

16 l 플래시 ON 디바이스

플래시 라이트 확장

문자 메시지나 신호세기 등의 기능에 fscommand()나 fscommand2() 같은 function을 이용하는 방

식으로 여러분은 모바일 디바이스에 액세스할 수 있다. 그러나 이 경우로 모든 전화 서비스에 액세스

할 수는 없지만 다른 플랫폼들에 의해 플래시 라이트 기능을 확장하고 API를 제어할 수 있다. 가령,

여러분이 플래시와 자바를 사용하는 경우 더욱 견고한 개발환경을 만들 수 있으며 모바일 사용자에

게 더 강력한 기능들을 제공할 수 있도록 해준다. 아래는 이와 같은 추가적인 서비스에 대한 예이다.

웹 서비스 지원 ▒

스레딩 ▒ (�reading)

모바일 결제 ▒ (payment)

블루투스를 이용한 네트워크 연결 ▒

보안(예를 들어, 암호화) ▒

카메라, 가속도 ▒ 계(accelerometer), GPS 등의 디바이스 하드웨어에 연결하기 위한 네이티브 디바

이스 API에 대한 액세스

다음은 플래시 라이트에 기능을 더하는 플랫폼의 몇 가지 예이다.

▒ Capuchin: 소니 에릭슨에 의해 개발된 이 브리지(bridge)는 플래시 라이트를 Java ME와 연결

해 준다. 이 플랫폼은 모바일 서비스 API에 접근을 위해 플래시 라이트가 Java ME와 소통할

수 있도록 해주는 API를 포함하며, 다음과 같이 작동한다. 모든 디바이스 이벤트가 플래시 라

이트로 포워딩되고, 그런 다음 개발자는 관심 있는 이벤트에 대한 리스너(listner)를 설정할 수

있다. 플래시 라이트와 Java ME 간의 소통은 요청(request)을 송수신하는 중간단계 클래스를

통해서 이루어진다.

▒ Flyer: Flyer는 Python script와의 연결을 통해 Series60(S60) 플랫폼에 플래시 라이트를 확장

할 수 있도록 해준다. Flyer는 Python과 통합된 Flash Lite 2.1에 기반을 둔다. 이 플랫폼은 카

메라, 블루투스, 데이터베이스, 오디오, 그리고 윈도우 모바일의 Excel과 같은 네이티브 전화 서

비스에 대한 액세스를 제공한다. Flyer를 통해 플래시 라이트는 클라이언트 소켓을 구현할 수

있다. IP 주소와 포트를 함께한 로컬 Python 서버는 특정 IP주소와 포트로 구성된 Python 서

버와의 통신 채널을 제공한다.

Page 45: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

01 모바일과 디바이스 현황 l 17

위와 같은 확장은 퍼스트파티와 서드파티에 의한 것으로 나눌 수 있다. Capuchin은 OEM이 개발

했으므로, 퍼스트파티의 확장판이다. 반면에, Flyer는 Flash Lite 커뮤니티 멤버들이 만들었으므로

서드파티의 확장판이다.

플래시 라이트를 확장하는 플랫폼에 추가하여, Jarpa 7 등과 같은 다른 많은 플랫폼들은 다른 디바

이스에 인스톨될 수 있는 JAR 파일 형태로 플래시 라이트 프로젝트를 패키지화 해주는 기능을 제공

한다.

7장에서는 소니 에릭슨 Project Capuchin과 노키아 플랫폼 등 네이티브 플랫폼에 대해 논의하고

Kuneri Lite, Flyer, SWF2Go, Janus와 같은 서드파티 플랫폼 확장판에 대한 더욱 자세한 정보를 어디

서 구할 수 있는지 설명하겠다.

스마트폰에서 Flash Player와 Adobe AIR 사용

노키아 N810처럼 브라우저에서 Flash Player 풀버전을 제공하는 모바일 디바이스는 이미 존재한다.

앞서 언급한 바와 같이, 오픈 스크린 프로젝트의 지속적 진행에 힘입어 플래시 10과 AIR는 심비안이

나 ARM 프로세서에 기반을 둔 T-Mobile(안드로이드 기반)의 G1이나 윈도우 모바일 등의 고성능 스

마트폰에서 곧 이용이 가능해질 것이다.

JAVA ME 플랫폼 이해하기

J2ME라고도 불리는 Java Micro Edition(ME) 플랫폼(http://java.sun.com/javame/indext.jsp)은 Sun

Microsystems사에 의해 개발되었다.

Java ME는 모바일 디바이스용 게임개발을 위한 API 및 많이 사용되는 플랫폼들로 구성된 오픈소

스 컬렉션이다. 이 플랫폼은 강한 시장 침투력을 갖는데, 이것은 플랫폼이 심비안 내에 구축되어 있어

대규모 시장에 즉시 이용이 가능하기 때문이다. 그림 1-8에 나타난 바와 같이 JAVA ME 아키텍처는

두 가지 요소로 구성되어 있다.

Connected Limited Device Con�guration ▒ (CLDC)

Mobile Information Device Pro�le ▒ (MIDP)

7   (옮긴이) Jarpa(Java Packaging for Flash Lite Developers) : Flash Lite 개발자가 개발한 콘텐츠를 Java ME 어플리케이션과 전달 또는

확장할 수 있는 구조로서 만들어진 플래시 패키지. http://code.google.com/p/jarpa/에서 다운로드할 수 있다.

Page 46: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

18 l 플래시 ON 디바이스

Profile Layer

KVM

Configuration Layer

Profile Layer

MIDP

CLDC

Jave ME Architecture

그림 1-8 | Java ME 아키텍처

CLDC는 K Virtual Machine(KVM)을 작동하기 위한 최소의 환경설정과 라이브러리 세트을 포

함하며 KVM, configuration layer, profile layer로 구성되어 있다. 이 아키텍처의 장점이자 단점은

KVM이 각 pro�le에 설정된다는 것이다. 이것은 다양한 디바이스와의 유연성을 제공하지만 개발자

는 아무 디바이스에나 단순히 애플리케이션을 이식할 수 없으며 때로는 수정이 필요한 경우도 있다.

다음은 세 layer에 대한 몇 가지 기술적 세부사항이다.

▒ KVM : 이 레이어는 Java Virtual Machine(JVM)의 구현 레이어로서 특정 디바이스의 운영체

제에 맞추어 커스터마이즈된다. 이 레이어는 특정 Java ME con�guration을 지원한다. KVM

의 용량은 작고(50-80KB), 메모리를 적게 소모하고 멀티스레딩(multithreading)과 가비지 컬렉

션(garbage collection)과 같은 기능을 갖춘 모바일 프로세서를 위해 설계되었다.

Configuration: ▒ 이 레이어는 모든 모바일 디바이스에서 이용 가능한 최소 API를 포함하며,

profile 레이어에 의해 사용된다. Java Specification Requests(JSRs)는 연결 디바이스 설정

(CDC) 세부사항에 대한 최신정보를 정의한다. 모든 JSR의 리스트는 http://jcp.org/en/jsr/all

에서 찾아볼 수 있다.

Profile: ▒ CDC pro�le 레이어는 정해진 그룹의 디바이스에서 사용 가능한 최소 API를 포함한

다. Pro�le은 특정 con�guration에 맞추어 구축되고, 애플리케이션은 특정 pro�le에 맞게 만

Page 47: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

01 모바일과 디바이스 현황 l 19

들어진다. 디바이스는 많은 pro�le을 지원할 수 있고, 애플리케이션은 해당 pro�le을 지원하

는 아무 디바이스에나 이식될 수 있다.

MIDP는 UI 및 데이터베이스나 네트워킹 같은 영속 데이터(persistence data)를 다루는 JAVA API의

집합이다. MIDP는 CLDC 위에 위치한다.

JAVA ME와 플래시 관계 살펴보기

모바일 시장에서 JAVA ME와 플래시는 게임과 같은 특정 개발분야에서 경쟁 관계에 있다. 이 둘은 많

은 면에서 비슷한데, 한 가지 예로 둘 다 멀티 플랫폼 애플리케이션 구축을 지원한다. 하지만, 각 플랫

폼은 고유의 장단점 또한 갖고 있다. 우리는 UI, 게임, 멀티미디어 애플리케이션의 구축에 있어, 플래

시 라이트가 우위에 있고 반면, 코딩이나 디바이스 서비스에 있어서는 Java ME가 더욱 강력하다고 생

각한다.

Project Capuchin은 앞서 언급한 바와 같이 Flash Lite와 Java ME를 연결해 주며 플래시 라이트가

Java ME API에 액세스할 수 있게 해주어 개발자가 양쪽 세계를 모두 즐길 수 있게 한다. 개발자는 플

래시 라이트로 웹, 모바일 및 데스크톱 환경에 동일한 코드를 이용할 수 있으며, 모바일 디바이스 하드

웨어 및 소프트웨어 대부분에 액세스를 제공하는 Java ME의 강력한 API를 이용하여 고품질 그래픽,

멀티미디어, 애니메이션 등을 개발할 수 있다.

심비안 운영체제 이해하기

심비안 운영체제는 현재 모바일 시장에서 선두의 위치에 있으며 전 세계 유통되는 모바일 디바이스

의 약 67퍼센트에 인스톨되고 있다(그림 1-6 참고). 심비안은 framework 세트와 오픈 운영 시스템으

로 구성되어 있다. 심비안은 초기에 소니 에릭슨, 노키아, 모토롤라, Psion 간의 합작으로 개발되었다.

2008년 노키아가 심비안 전체를 매입하여 계열 비영리 재단에 넘겼고(http://www.symbianfoundation.

org) 소프트웨어는 로열티 없이 이용이 가능하게 되었다. 심비안은 ARM, 32bit 절전형 CPU를 기반으

로 하며, 멀티태스킹(multitasking)과 메모리 프로텍션(memory protection)을 포함하고, MVC(Model,

View, Controller) 디자인 패턴을 따른다. 현 시점에서 모든 일본 디바이스 제작사는 심비안을 사용한

다. 심비안 운영체제를 사용하는 모바일 디바이스를 생산하는 제작사로는 삼성, 소니 에릭슨, LG, 샤

프 및 모토롤라 등이 있다.

Page 48: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

20 l 플래시 ON 디바이스

다음은 심비안을 이용한 개발에 따르는 주요 장점이다.

▒ 배포범위의 광대화: 심비안의 재무제표에 따르면, 2008년 1/4분기 3억대에 가까운 심비안 장착

휴대전화가 출고되었다.

▒ 유연한 플랫폼: 심비안은 많은 개발자들에게 사용하기 쉬운 유연한 운영체제이다. 심비안 운

영체제는 많은 플랫폼들을 지원하며 개발자는 Flash Lite, Java ME, OPL, Python, Visual

Basic, Perl 등 다양한 플랫폼을 이용하여 애플리케이션을 개발할 수 있다. 뿐만 아니라, Visual

Studio, Eclipse, Java Wireless Toolkit 등과 같은 다양한 종류의 IDE도 사용할 수 있다.

주요 단점은 애플리케이션이 반드시 전자서명되어야 한다는 것이다. 심비안 version 8.1은 일부 API

에 대하여 제한하고 전자서명에 기반한 애플리케이션의 설치를 허용한다. 심비안 전화는 한때 많은

해커들로부터 먹잇감이 되어 적지 않게 바이러스 공격을 받은 적이 있다.

현재 심비안 version 9.x 이후로 사용자는 자신의 애플리케이션을 운영체제 API에 접근시키기 위해

서 비용을 지불하고 심비안의 프로그램을 이용하여 전자서명을 해야 한다.

심비안과 플래시 관계 살펴보기

심비안은 플래시를 채택했고 향후 출시되는 심비안은 플래시 10과 Adobe AIR를 포함할 것이다. 오늘

날, 심비안 운영체제를 구동되는 많은 전화들이 Flash Lite 2.1이 설치된 채로 출시되고 있다.

플래시 라이트가 심비안의 모든 API에 대한 액세스가 가능한 것은 아니지만, Kuneri Lite과 같은

일부 서드파티 개발 툴과 플랫폼은 플래시의 기능을 확장해줄 수 있다. 노키아 S60 플랫폼 서비스는

더욱 최신의 S60 심비안 기반 디바이스에서 플래시를 확장하는 또 다른 방법이다(7장에서 더 자세히

설명한다).

다수의 심비안 기반 노키아 S60 디바이스가 Adobe Distributable Player Solution을 지원하여

Flash Lite 3.1 플레이어의 설치를 가능하게 한다(플래시 라이트 애플리케이션과 연동하여). 이에

대해서는 3장에서 Flash Lite 3.1의 특징과 기능을 다룰 때 더욱 자세히 설명하기로 한다.

윈도우 모바일 이해하기

윈도우 모바일 운영체제는 Microso� Win 32 API에 기반을 두고 있다. 현재 버전의 윈도우 모바일 6.x

는 O�ce Mobile(Internet Explorer와 Outlook, Excel, Word 등이 포함)과 같은 Microso� 제품과

Page 49: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

01 모바일과 디바이스 현황 l 21

의 통합을 포함한다. 모바일 에디션 또한 Microso� SQL 2005, Windows Live 및 기타 데스크톱 제품

을 모바일 디바이스에 맞게 소형화, 최적화하여 제공되고 있다. Microso�의 CEO 스티브 발머(Steve

Balmer)에 따르면 2007년에 1100만대 그리고 2008년에는 약 2000만대의 윈도우 모바일 디바이스가

출시되었다고 한다. 그림 1-9는 Microso� Mobile을 사용하는 HTC 스마트폰의 모습이다.

그림1-9 | 윈도우 모바일 운영체제를 실행하는 HTC Advantage X7501 Quaband GSM

윈도우 모바일과 플래시 관계 살펴보기

Flash Lite 2.1은 윈도우 모바일 5 출시 때부터 지원되고 있다. 향후 윈도우 모바일은 Adobe MAX

2008에서 선보였던 것처럼 Flash Player 10과 Adobe AIR을 포함할 것이고 윈도우 모바일에 대해서

작동 가능한 버전의 Flash Lite 3.1이 이미 존재한다.

상당수의 윈도우 모바일 디바이스가 Adobe Distributable Player Solution을 지원하는데, 이는

플래시 라이트 콘텐츠의 일부와 연계되어 Flash Lite 3.1 플레이어가 설치되도록 해준다. 자세한

사항은 ‘3장에서 Flash Lite 3.1의 특징과 기능’을 다룰 때 설명한다.

어도비 모바일 플랫폼 이해하기

어도비의 자체 모바일 플랫폼(http://www.adobe.com/mobile/platform/index2.html)은 운영사,

OEM, 콘텐츠 제공사가 멀티플랫폼 모바일 콘텐츠를 전달하고 수익을 창출하는 데에 도움을 주기 위

해서 구축되었다. 모바일 플랫폼은 기본적으로 가공되지 않은 상태여서 제공사가 그들의 정확한 필요

에 맞게 제품을 특성화하고 다듬을 수 있다.

Page 50: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

22 l 플래시 ON 디바이스

어도비 모바일 플랫폼 솔루션은 어도비에서 나온 전체 플래시 모바일 플랫폼 중에서 특별한 경우에

해당한다. 이 플랫폼은 기본적으로 퀄컴(Qualcomm)의 브루 모바일 플랫폼에서 사용된다. 이 플랫

폼은 심비안에서 실행되는 플래시 라이트 플랫폼이나 2장 8절에서 다루게 될 플랫폼들과 다르다.

이 책에서 어도비 모바일 플랫폼은 다루지 않으나, 그에 관련한 사항은 자매 웹사이트인 http://

advaced.flashmobilebook.com 에서 토의가 가능하다.

플랫폼은 프론트엔드(front end) 8 와 백엔드(back end, 클라이언트와 서버)로 구성된다. 현재, 모바일

플랫폼은 두 가지 애플리케이션의 통합을 허용한다.

▒ Adobe Flash Home은 역동적인 홈스크린 9 을 위해 제작되었다. 이 제품으로 개별화 및 개인

화하여 운영사나 콘텐츠 제공사가 생생한 데이터를 전달하고 수익을 창출할 수 있도록 한다.

▒ Adobe Flash Cast는 가끔 연결하는 데이터 모델에 콘텐츠를 밀어 넣음으로써 풍부한 콘텐츠

의 전달을 가능하게 하기 위해서 제작되었으며 가입자가 뉴스, 이미지, 비디오 게임 등의 자료

에 접속할 수 있게 하는 클라이언트와 서버 기능을 포함하고 있다.

어도비 모바일 플랫폼은 현재 운영사와 OEM에 의해 이용이 가능하다. 이 플랫폼에 대한 콘텐츠를

개발하기 위해서 개발자는 콘텐츠 제공사와 협력해야 한다. 하지만 이 플랫폼에 대한 기술은 여전

히 틈새용이어서 많은 업체에 의해 사용되고 있지는 않다.

Flash Home과 Flash Cast는 그림 1-10의 Adobe Mobile Experience Suite의 일부이며 가입 기반

서비스의 개발을 가능하게 하여 모바일 이용자가 채널에 가입하도록 해준다. 각 채널은 사용자의 요

구에 맞게 개별화할 수 있으며 음악, 뉴스, TV쇼 등 다양한 데이터와 멀티미디어를 포함할 수 있다. 또

한 어도비는 기술지원, 사용자 맞춤(customization), 교육 등의 프로페셔널 서비스를 제공한다.

Verizon Wireless는 Flash Cast를 이용한 포털 대시보드(DashBoard)를 제작했다. Verizon Wireless

는 새로운 전화가 시장에 많이 출시됨에 따라 대시보드가 더욱 많이 이용되기를 기대한다. 개발자와

사업자는 기본적으로는 위젯의 집합인 채널을 만들어 콘텐츠 제공사 또는 바로 Verizon에 제출할 수

있다.

그림 1-11 참고. 더 자세한 사항은 http://www.adobe.com/devnet/devices/verizon.html에서 확인

할 수 있다.

8   (옮긴이) 여기서는 사용자 화면(GUI)

9   (옮긴이) 기본 메뉴 또는 사용자가 설정한 아이콘이 포함된 휴대폰의 초기화면

Page 51: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

01 모바일과 디바이스 현황 l 23

애플리케이션들은 멀티플랫폼이며 다른 운영체제들을 지원한다. 사용자들은 공중신호를 통해 각

애플리케이션을 업데이트할 수 있으며 디바이스에 카탈로그를 제공받을 수 있다.

Flash Cast Flash Home

Mobile Client

Mobile Server

고객 맞춤화,통합 및지원

Adobe 전문서비스

모바일 제작 도구

디자이너 도구

개발자 도구

Adobe 모바일 애플리케이션

Adobe 모바일 플랫폼

문서 및교육

그림 1-10 | Adobe 모바일 익스피어리언스 계층도(Adobe Mobile Experience Suite)

그림 1-11 | Verizon Wireless 대시보드 콘텐츠

브루 이해하기

BREW는 퀄컴에 의해 개발되었으며, Java ME처럼 운영체제 위에 위치한 플랫폼으로 시작되었다. 이

기술은 운영체제에 필요한 모든 기능을 제공함으로써 독립적인 운영체제로 진화했다. 브루는 개발자

가 자신의 애플리케이션을 모든 종류의 Code Division Multiple Access(CDMA) 디바이스 및 Global

System for Mobile communications(GSM)과 같은 타 무선 인터페이스에 이식할 수 있도록 해준다

(즉, 멀티플랫폼화한다). 브루의 원어는 C/C++이며, Flash Lite와 Java ME를 모두 지원한다. 그림

1-12는 브루 아키텍처를 나타낸다.

Page 52: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

24 l 플래시 ON 디바이스

모바일 무선 인터페이스는 이동 기지국(mobile station)과 활성 기지국(active base station) 간

라디오 주파수(RF) 통신 링크이다. 가입자가 시스템상의 한 지점에서 다른 지점으로 이동하면 활성

기지국이 변화한다. 이같이 변화하는 것을 핸드오프(handoff)라고 알려져 있다. 무선주파수(RF -

Radio Frequency)의 질은 지형이나 철골구조물 같은 장애물 등 많은 변수에 의존한다.

그림 1-12 | 브루 아키텍처

브루를 사용하는 데에 따르는 주요 장점은 그것이 무선 인터페이스에 독립적이라는 것이다. 애플리

케이션과 디바이스의 운영체제 사이에서 브루가 동작하기 때문에 개발자는 시스템 수준의 인터페이

스로부터 독립적으로 고급 애플리케이션을 제작할 수 있다.

브루의 주요 단점은 애플리케이션이 반드시 전자서명되어야 한다는 것이다. 이 플랫폼은 개발자가

개발한 애플리케이션을 테스트하기 위해 전자서명을 해야 함으로써 통신사가 콘텐츠에 대한 통제권

을 갖도록 허용해 버린다. 게다가 전자서명 획득에 대한 비용이 많이 들고(개당 약 $400) 통신사가 애

플리케이션을 승인할지 보장하지도 못한다.

브루와 플래시 관계 살펴보기

플래시 라이트는 브루에서 활용 가능하며 만약 디바이스에 미리 설치되어 있지 않다면 공중파 무

선신호(OTA)를 통해 다운로드가 가능하다. 플래시 라이트 개발자로서 여러분은 브루 청구 시스템

(billing system)을 이용하여 각 다운로드에 대한 수익을 받게 될 것이다. 수익은 운영사, 개발자, 그리

고 기타 참여자간 분배된다. 현재 브루는 Flash Lite 2.1을 지원하며 Verizon Wireless를 통해 미국에

서만 이용 가능하다.

Page 53: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

01 모바일과 디바이스 현황 l 25

공중파 무선신호(OTA) 메커니즘은 모바일 디바이스에 자동 업데이트를 가능하게 한다. 이러한 기

능을 지원하기 위해서는 디바이스 소프트웨어 및 하드웨어가 요구되는데 디바이스는 반드시 OTA

기능을 갖고 있어야 한다. OTA와 관련해서 많은 용어가 사용되는데, 그 예로 모바일 펌웨어 업데

이트에 대해서는 “Firmware over the air(FOTA)”로 나타내며, 서비스 세팅의 변경에 대해서는

“over-the-air parameter administration(OTAPA)로 나타낸다.

브루 전화기에 Flash Lite 콘텐츠를 담을 수 있는 방법에는 두 가지가 있다.

직접: 브루 개발자의 자격으로 애플리케이션에 전자서명한다. 약 $400 소요 ▒

간접: Atom Entertainment, Smashing Ideas나 Zed(Mobigamez라고도 알려짐)와 같은 콘텐 ▒

츠 제공사(발행사 또는 집중사업자)와 협력하여 콘텐츠를 배포 및 판매한다.

어도비 모바일 플랫폼 솔루션은 퀄컴이 자신들의 브루 모바일 플랫폼에 사용하는 차세대 기술이

다. 브루용 Flash Lite 2.1은 어도비 모바일 플랫폼 솔루션의 일부인 어도비 모바일 클라이언트와

기술적으로 다르다. 어도비 모바일 클라이언트는 플래시 라이트가 아니라, 특수화된 모발일 Flash

Player 모델을 사용한다.

아이폰 SDK 이해하기

소니 에릭슨과 윈도우 모바일과 같은 많은 전화기 제조사 및 운영체제가 자신들의 영업 목표에 도달

하는 데 어려움을 겪는 동안, 어도비는 아이폰의 출시로 휴대전화 업계에 일대 혁신을 가져왔다. 아이

폰은 패션 액세서리화되어 가고 있으며 사용하기 쉬운 대형 터치스크린 UI를 제공한다(그림 1-13 참

고).

Mac OS X와 같은 아이폰 운영체제는 Mach kernel에 기반을 두며 원어는 Objective-C를 사용한

다. Objective-C는 역동적 타이핑 스타일의 메세징(Smalltalk로 알려짐)이 추가된 C라 할 수 있다. 아

이폰 UI는 Mac OS X version 10.5와 PowerVR MBX 3D 하드웨어로부터 코어 애니메이션을 이용하

여 제작된다. 아이폰 애플리케이션은 iTunes Store로부터 직접 구매 가능하다.

Page 54: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

26 l 플래시 ON 디바이스

인터넷 연결에 따라서 볼 때, Apple 아이폰에는 두 가지 버전이 있다. 10

Wi-Fi 또는 GSM/EDGE 네트워크를 통한 2G 인터넷 연결 ▒

3세대 UMTS/HSDPA를 통한 3.6MB/sec의 3G 고속 인터넷 연결 ▒

다음은 아이폰 사용에 따른 장점들이다.

▒ 인기도: 애플은 2008년 4월까지 약 570만대의 아이폰을 판매하

였고(MacWorld 2008년호의 스티브 잡스에 의하면), 이는 모바

일 시장에서 그다지 큰 수치는 아니다. 하지만, 아이폰은 계속

인기를 얻고 있으며 기대를 넘어서고 있다.

▒ 멀티터치스크린 인터페이스: 아이폰은 멀티터치스크린을 지원

하며, 이를 이용하여 전화기의 기능 대부분이 제어될 수 있다.

▒ 개발자 책정 애플리케이션 가격: 개발자가 애플리케이션의 가격을 책정하게 되며, 애플리케이

션 판매 이익의 70퍼센트를 갖는다.

다음은 타 디바이스와 비교한 아이폰의 단점들이다.

▒ 제한된 확장성: 아이폰은 현재 자체 SDK를 갖고 있는데, 지금 시점에서는 Flash Lite나 Java

ME를 지원하지 않는다. 플래시를 지원하지 않는 결과 브라우저 구현이 불완전하다. 또한

아이폰은 많은 YouTube 비디오를 지원할 수 없다. 왜냐하면, 오직 10,000개의 비디오가

H.264codec이고 나머지는 FLV이기 때문이다.

iTunes에 대한 의존도: ▒ 아이폰의 운영체제에서 iTunes Store로부터 구입되지 않고 애플로부

터 승인되지 않은 소프트웨어는 실행할 수 없다. 비록 JailBreak(http://www.iphonehacks.com/

jailbreak_iphone/)와 같은 소프트웨어 애플리케이션이 미승인된 애플리케이션을 설치하도록

해준다고 하더라도 전화기의 업데이트와 함께 작동을 멈출 수 있다.

▒ 잠금 해제와 활성화: 아이폰은 모든 통신사와 함께 사용될 수는 없다. 왜냐하면, SIM이 잠겨

있으며 오직 승인된 통신사에 의해서만 활성화될 수 있기 때문이다. 이러한 제약을 해결하기

위한 불법적 방법들이 존재하지만 여전히 주류사업자가 되는 데에 장애가 된다.

10   (옮긴이) : UMTS/HSDPA를 통한 7.2MB/sec의 고속 인터넷 연결, 현재 3GS 버전도 나와 있다.

그림 1-13 | 아이폰 3G

Page 55: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

01 모바일과 디바이스 현황 l 27

아이폰과 플래시 관계 살펴보기

현재 어도비는 전에 언급한 애플의 요구사항을 만족시킬 수 있는 아이폰을 위한 Flash Player 버전을

개발 중이다. 아직까지 출시된 버전은 없지만, Enhance Your Experience Graphical Toolkit(eyeGT)

와 Adobe 및 애플 외의 서드파티 개발 툴인 b.Tween 프레임워크를 결합해서 플래시 콘텐츠를 아이폰

에 이식할 수 있다.

b.Tween 프레임워크는 액션스크립트 기반 애플리케이션을 C/C++ 애플리케이션으로 변환한다. 변

환에는 액션스크립트 코드에 대해 극소수의 변경만이 요구되며 운영체제 런타임은 요구되지 않는 방

식으로 애플리케이션들이 아이폰에서 실행될 수 있도록 한다.

플래시 라이트 애플리케이션을 아이폰에 등록하기 위해 변환하는 방법에 대해서는 4장에서 다루

도록 한다.

AOL 오픈 모바일 플랫폼 이해하기

AOL 오픈 모바일 플랫폼(http://dev.aol.com/api/openmobile)은 2008년 소개되었으며 개발자가 애플리

케이션을 구축하여 브루, Java, Linux, RMI, 심비안, 윈도우 모바일 등 다양한 모바일 디바이스 운영

체제에 배포할 수 있도록 하는 새로운 개발 플랫폼을 목표로 하였다.

이 플랫폼은 XML 기반 마크업 언어(markup language), 최적화 디바이스 클라이언트, 애플리케이션

서버 등 3가지 파트로 구성된다. AOL은 배포(deploy)에 필요한 툴 및 소스 코드를 제공할 것이다.

개발자들은 AOL의 오픈 API, AIM, AOL Mail, AOL Video, MapQuest 등 서드파티 API를 이용

해 애플리케이션을 통합하고 플랫폼을 구축할 수 있을 것이다. AOL의 플랫폼 A 광고 플랫폼을 통해

애플리케이션을 배포함으로써 수익화할 수 있다.

AOL 오픈 모바일 플랫폼과 플래시 관계 살펴보기

발표 후, 기타 다른 정보는 없었기 때문에 플랫폼이 어도비 플래시를 포함할지는 확실하지 않다.

블랙베리상에서 RIM 사용하기

림(RIM) 운영체제는 독점적이며 일부 기능은 개발자가 애플리케이션을 림과 전자서명하기 전에는 이

용할 수 없다. 개발자가 애플리케이션을 전자서명할 때 림은 코드의 보안 품질에 대해서는 확인하지

않기 때문에 개발자에게는 제약이 없다. 이 운영체제는 Java ME와 모바일 디바이스를 위한 기타 API

를 지원한다.

Page 56: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

28 l 플래시 ON 디바이스

Wireless Application Protocol(WAP)은 Open Mobile Alliance (http://www.openmobile

alliance.org)에 의해 제공되는 표준이며, 휴대전화와 웹의 중간에 위치한 WAP gateway proxy

를 이용해 웹을 모바일 디바이스로 가져온다.

Wireless Markup Lanauage(WML)는 WAP를 위한 XML 마크업(mark-up) 언어이다. 이것은 모

바일 디바이스의 HTML이며, 프로토콜 스택(protocol stack)과 인터넷 브라우징을 위한 애플리케이

션 환경을 설정한다.

WAP을 통해 인터넷 연결이 가능하며 개발자는 WML로 카드(페이지)를 제작할 수 있다. WAP은

일반 사이트를 브라우저상에 구현하기 전에 WML로 변환할 것이다.

블랙베리와 플래시 관계 살펴보기

현재, 블랙베리 디바이스가 Flash Lite 3와 Flash 10을 지원할 것이라는 소문이 있지만 아직까지 플래

시는 지원되고 있지 않다.

안드로이드 이해하기

안드로이드는 모바일 시장의 신규 진입자로서 플랫폼과 리눅스 커널(Linux kernel) 기반 운영체제로

구성되어 있다. 안드로이드는 구글이 주 멤버인 오픈 핸드셋 얼라이언스(Open Handset Alliance)에 의

해 개발되었다. 안드로이드는 거의 모든 소스를 공개하나, 안드로이드 SDK의 일부분은 폐쇄되어 있

다. Google 안드로이드를 운영한 최초의 휴대전화는 2008년 9월에 출시된 T-Mobile의 G1이다. 그림

1-14 참고.

그림 1-14 | 안드로이드 운영체제

를 갖춘 T-Mobile의 G1

Page 57: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

01 모바일과 디바이스 현황 l 29

안드로이드 플랫폼의 주요 장점은 휴대전화 제작사와 애플리케이션 개발자 모두에게 무료로 제공

된다는 것이다. 전에 설명한 바와 같이, Google과 Open Handset Alliance는 현 모바일 생태계를 재

구성함으로써 안드로이드가 타 운영체제에 비해 우월한 경쟁력을 갖추게 되기를 바란다.

안드로이드의 주요 단점은 완전 공개된 소스가 아니라는 점이다. 안드로이드 SDK의 일부 API는 비

공개이다.

안드로이드와 플래시 관계 살펴보기

현재, 안드로이드 플랫폼에 플래시가 설치되어 있지는 않지만, Adobe Max 2008에서 Adobe는 Flash

10이 작동되는 G1을 선보였다. YouTube나 Google Videos와 같은 Google의 자체 사이트들은 FLV

형태의 콘텐츠를 상당수 보유하고 있는데 이러한 콘텐츠는 Flash Player에 의해서만 재생된다. 따라

서, 향후 Google이 Flash Player 10을 포함시킬 것으로 생각된다.

팜 프리 이해하기

팜 프리(Palm Pre)는 팜사가 제공하는 멀티터치 스마트폰이다. 현시점에서 아직 출시되지는 않았지만

사용자들과 리뷰어들 모두에게서 매우 긍정적인 평가를 받았다. 팜 프리는 webOS라 불리는 새로운

운영체제를 사용하는데, 이 운영체제는 Linux 기반으로 애플리케이션들을 멀티태스킹(multitasking)

하는 능력이 탁월하다. 멀티태스킹은 디바이스가 멋진 기능들을 제공할 수 있도록 해주는데, 가령 아

이폰처럼 tab들을 이미지 샷으로 보여주는 것이 아니라 진짜 애플리케이션처럼 보여준다. Pre는 인터

페이스나 터치스크린 등 아이폰과 동일한 많은 기능들을 선보이며, ARM 600MHz Cortex A8 CPU

및 Texas Instruments OMAP3430 마이크로 프로세서와 이미지 프로세서를 탑재했다. 또한 7.4GB

의 저장용량과 클라우드 서비스를 사용한다. 더불어, 프리는 무선으로 전화기 충전을 가능케 하는 전

자기 유도 방식을 사용한 1세대 스마트폰이 될 것이다.

팜 프리와 플래시 관계 살펴보기

2009년 바르셀로나에서 열린 Mobile World Congress에서, 어도비는 팜이 Open Screen Project에

동참했다고 발표했다. Pre는 모바일 디바이스용 어도비 플래시 10을 지원할 것으로 기대되나, 출시일

은 아직 정해져 있지 않다.

Page 58: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

30 l 플래시 ON 디바이스

요약

어도비 오픈 스크린 프로젝트가 현실화됨에 따라 여러분은 동일 애플리케이션을 각기 다른 플랫폼들

상에서 제작할 수 있는 기회를 갖게 되었으며 이러한 변화에 동참하여 멋진 애플리케이션을 개발할

수 있다.

다양한 참여 주체, 툴, 하드웨어, 플랫폼 및 운영체제 등 모바일 분야의 전체구조에 대한 이해는 여

러분이 애플리케이션을 개발하는 데 도움을 줄 것이다. 지금이라도 여러분은 다양한 플랫폼에서 작

동하는 애플리케이션을 제작하고 그대로 또는 일부 변경만으로 새로운 디바이스에 배포될 수 있는 기

반을 마련해 놓을 수 있다.

이번 장에서는 모바일의 세계에 대한 소개와 모바일 생태계에 대해 알아보았다. 또한, 전화기, 스마

트폰, MID, UMPC, 디지털 텔레비전, 셋톱박스, ARM 기반 디바이스 등 이용 가능한 디바이스들에

대해 설명하였다.

또, 주요 모바일 운영체제 및 플랫폼에 대한 소개와 그것들이 플래시와 맺는 관계에 대해 설명하

였다. 플래시 플랫폼, Java ME, 심비안, 윈도우 모바일, Adobe Mobile, 브루, 아이폰, AOL Open

Mobile, 림, 안드로이드, 팜 프리 플랫폼에 대해 다루었다.

그림1-15 | 팜 프리 디바이스와 Safari 카드

Page 59: 플래시 ON 디바이스 : 플래시 라이트와 플래시 10을 이용한 모바일 개발

01 모바일과 디바이스 현황 l 31

다음 장에서는 플래시 라이트의 모든 버전들과 각 버전별 이용 가능한 기능들에 대해 자세히 알아

보도록 하겠다. 또한 어도비 모바일 플랫폼과 디바이스 플랫폼을 구성하는 툴, 제품 및 서비스들에 대

해서도 다룰 것이다. 다음 장의 마지막까지, 여러분은 모바일과 디바이스를 겨냥한 플래시 애플리케

이션을 구축하고 테스트해보게 될 것이다.