12
Android vs iOS 앱 개발 2012.3.19. 채원석 콘텐츠서비스연구팀 차세대콘텐츠연구소 한국전자통신연구원

Android vs iOS 앱개발 - 부산모바일앱센터bmac.kr › Upload › Education › y5qwg21r.pdfAndroid 와iOS 개발비교 진입장벽 초기비용 개발장비(Android: Mac,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Android vs iOS 앱개발 - 부산모바일앱센터bmac.kr › Upload › Education › y5qwg21r.pdfAndroid 와iOS 개발비교 진입장벽 초기비용 개발장비(Android: Mac,

Android vs iOS 앱 개발

2012.3.19.

채원석콘텐츠서비스연구팀차세대콘텐츠연구소한국전자통신연구원

Page 2: Android vs iOS 앱개발 - 부산모바일앱센터bmac.kr › Upload › Education › y5qwg21r.pdfAndroid 와iOS 개발비교 진입장벽 초기비용 개발장비(Android: Mac,

Android 와 iOS 개발 비교

진입장벽

◦ 초기 비용

◦ 개발 장비(Android: Mac, Win, Linux vs. iOS: Mac)

SDK 접근성

◦ Xcode 4, iOS SDK(유료, 개발자 등록 1년 $99, 앱스토어 $4.99)

◦ Eclipse, ADT … (무료)

SDK 설치 및 업데이트

◦ Xcode 4, iOS SDK(4.5G, 업데이트(x), 패치(x), 최신버전 재설치)

◦ Android : 기본 설치 + JDK + Eclipse + ADT plugin + USB driver + …

타겟 장비 및 출시 스케줄

◦ 단일 제조회사, 출시 계획 예측 가능

◦ 수백가지의 장비, 테스트 계획을 세우기 어려움

Simulator(iOS) vs. Emulator(Android)

Page 3: Android vs iOS 앱개발 - 부산모바일앱센터bmac.kr › Upload › Education › y5qwg21r.pdfAndroid 와iOS 개발비교 진입장벽 초기비용 개발장비(Android: Mac,

Android 와 iOS 개발 비교iOS Android

Computer (Mac Mini) US$499 US$499

Access to the SDK US$4.99 Free

Installing the SDK One Easy Installer Multiple Tech.

Beta SDKs US$99/yr Free

SDK Runtime Native Interpreted

Language Objective-C Java

Development Tools Advanced Primitive

Development Cycle Quick and Easy Slow and Tedious

Simulator Testing US$4.99 Free

On Device Testing US$99/yr Free

Number of Target Devices 14 100s – 1,000s

Platform Release Schedule Predictable Unpredictable

Testing Strategy Proactive Reactive

Developer Forums US$99/yr Free

Learning Method Structured Unstructured

Page 4: Android vs iOS 앱개발 - 부산모바일앱센터bmac.kr › Upload › Education › y5qwg21r.pdfAndroid 와iOS 개발비교 진입장벽 초기비용 개발장비(Android: Mac,

Simulator vs. Emulator

Page 5: Android vs iOS 앱개발 - 부산모바일앱센터bmac.kr › Upload › Education › y5qwg21r.pdfAndroid 와iOS 개발비교 진입장벽 초기비용 개발장비(Android: Mac,

10 major differences 개요◦ 유사하지만 매우 다름

◦ 개발자 55,000명중 10,199명 안드로이드 vs. 43,185명 iOS

◦ 두 플랫폼 모두 개발 가능 -> only 1,412명 (MacLife 기사)

아이폰과 안드로이드 차이

Page 6: Android vs iOS 앱개발 - 부산모바일앱센터bmac.kr › Upload › Education › y5qwg21r.pdfAndroid 와iOS 개발비교 진입장벽 초기비용 개발장비(Android: Mac,

10 major differences 멀티태스킹(Multitasking) 위젯(Widgets) 앱 마켓 제약사항(Restriction) 알림 기능(Notification) 기기 종류(Devices) ROMS 편집(Editablity) 설정 변경(Settings) 각종 구글 서비스(Integration) 비용(Cost) 통신사 선택(Choice)

재코딩 이슈를줄이기 위해서는위 10가지를반드시 고려해야한다!!

Page 7: Android vs iOS 앱개발 - 부산모바일앱센터bmac.kr › Upload › Education › y5qwg21r.pdfAndroid 와iOS 개발비교 진입장벽 초기비용 개발장비(Android: Mac,

Better Tools vs. More Freedom iOS 개발 도구◦ Xcode, Interface Builder, iOS Simulator

◦ 장점 커스터마이징(단축키, 컬러링), 코드완성, 폴더 구성, GUI 편집, 테스팅

◦ 단점 도큐먼트 탭(다수의 문서 동시 작업이 어려움)

Android 개발 도구◦ Eclipse + ADT plugin

◦ 장점 멀티플 도큐먼트 탭, 작업공간 커스터마이징, Definition 조회 쉬움

◦ 단점 폴더 구성, 잦은 에러(재실행, java 편집 <> XML 편집 전환), 런칭 시간

GUI 작업 툴 미흡(XML 코딩), Emulator의 안정성, 재실행

Page 8: Android vs iOS 앱개발 - 부산모바일앱센터bmac.kr › Upload › Education › y5qwg21r.pdfAndroid 와iOS 개발비교 진입장벽 초기비용 개발장비(Android: Mac,

Better Tools vs. More Freedom Objective-C vs. JAVA◦ 헤더파일(*.h)과 구현파일(*.m) 분리◦ 코딩 분량: Android < iOS

iOS◦ AppDelegate(메인) + UIViewController(다수)◦ View Stack

Andorid◦ 안드로이드 앱 = Activities의 집합◦ ‘Intent’라는 메시지 전달 체계를 통해Activities가다른Activities를 부르는 방식◦ 서로 다른 앱 간Activities를 공유 가능

Page 9: Android vs iOS 앱개발 - 부산모바일앱센터bmac.kr › Upload › Education › y5qwg21r.pdfAndroid 와iOS 개발비교 진입장벽 초기비용 개발장비(Android: Mac,

View1

View2

View3

View4

AppDelegate

UIViewControllerUIViewController

UIViewControllerUIViewController

iOS App 구조

Activities

Activities

Activities

Activities Activities

Activities

Android App 구조

App A

App B

Page 10: Android vs iOS 앱개발 - 부산모바일앱센터bmac.kr › Upload › Education › y5qwg21r.pdfAndroid 와iOS 개발비교 진입장벽 초기비용 개발장비(Android: Mac,

Better Tools vs. More Freedom Background Processing◦ iOS: 앱 스위칭, 오디오 재생◦ Android: “Services”, Activities간 공유

Sharing Data(스크린간 데이터 공유)◦ Both: SQLite, notification broadcast◦ iOS: Passing parameters◦ Android: GAO, Bundle, file system

Memory Management◦ iOS: 반드시 관리되어야 함, 명시적◦ Android: JAVA garbage collector, 단순함

UI Design◦ iOS: UITableView(vs. ListView)◦ Android: 물리적 Back, Menu, Search 버튼, 테마, 스타일, 위젯

Handling Multiple Screen Sizes◦ iOS: pixel doubling◦ Android: 9 patch png 이미지, device independent pixels

Page 11: Android vs iOS 앱개발 - 부산모바일앱센터bmac.kr › Upload › Education › y5qwg21r.pdfAndroid 와iOS 개발비교 진입장벽 초기비용 개발장비(Android: Mac,

Sample Codepackage kr.re.etri.paint;

import java.util.Vector;

public class SPStroke {long time;PenProperties pen_properties;Vector<Integer> x_array, y_array;

}

public SPStroke() {time = 0;…

}

\src\kr\re\etri\paint\SPStroke.java

#import <vector>#import “PenProperties.h”

class SPStroke {public:

long long time;PenProperties pen_properties;std::vector<int> x_array, y_array;

SPStroke(void);}

\Classes\SPStroke.h

\Classes\SPStroke.mm

SPStroke::SPStroke() {time = 0;…

}

Page 12: Android vs iOS 앱개발 - 부산모바일앱센터bmac.kr › Upload › Education › y5qwg21r.pdfAndroid 와iOS 개발비교 진입장벽 초기비용 개발장비(Android: Mac,

Summary iOS와Andorid 기기는 용도나 하드웨어적인측면, 기능면에서 많은 유사점이 있지만, 백그라운드와 내부 구조에는 차이가 많음

서로 장단점이 달라서 어느 플랫폼이 더 우수하다고 말할 수는 없지만, 잠재고객을 늘리기 위해서는 개발 초기에 두 플랫폼에 대한차이를 이해하고 동시에 고려해야함

폐쇄성 vs. 개방성

개발 도구 편의성 vs. 높은 개발 자유도