[h3 2012] 클라우드기반 앱 만들기 - baas.io sdk 활용

55
클라우드 기반 App 만들기 baas.io SDK 활용 개발실 I 기술전략팀 I ( twitter : @chsoong )

Upload: kth-

Post on 24-May-2015

3.921 views

Category:

Technology


2 download

DESCRIPTION

H3 2012 발표자료 클라우드기반 앱 만들기 - baas.io SDK 활용 -KTH 최숭

TRANSCRIPT

Page 1: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

클라우드 기반 App 만들기 baas.io SDK 활용

개발실 I 기술전략팀 I

최 숭 ( twitter : @chsoong )

Page 2: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Review

든든한 backend App 02

H3 App 개발 노트 03

Index

2

01

마무리 04

Page 3: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Review : Mobile App 은… 0

공통된 기능은 표준 방법으로 사용하고 그 다음 App 개발할 때도…

Review

3

Server 개발 산출물 공유하기

작게 만들고 작게 유지 하자!

Page 4: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Review : Cloud , NoSQL, GA, DevOps 1

Dynamic Flexible Expandable Scalable Predictable Stable

Review

사진은 본문 내용과 관계 없습니다.

4

Page 5: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

든든한 Backend App 02

5분 안에 나만의 backend가…

5

Backend와 눈(目) 맞은 App

내 앱은 클라우드 기반!

Scenario 1 / 2

Page 6: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

바스아이오 시작하기

5분안에 시작하기

6

https://baas.io

Page 7: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

baas.io Quick Start

이메일 회원가입

7

Page 8: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

baas.io Quick Start

새 앱 생성

8

Page 9: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

baas.io Quick Start

SDK 다운로드

9

Page 10: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

baas.io Quick Start

baas.io 사용하기

10

Page 11: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

baas.io Quick Start

baas.io 사용하기

11

sandbox soulbus

Page 12: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Application Info

baas.io 사용하기

12

Page 13: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

baas.io SDK 초기화

User ID 1

2 APP NAME

3 END POINT

- http://api.baas.io

baas .io SDK 초기화

13

Page 14: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Android SDK Initialize

baas .io SDK 초기화

14

baasio.getInstance().init(

this,

);

"https://api.baas.io", // end point

“baas.user", // 회원 ID

“soulBus” // 앱 이름

Page 15: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

baas.io 는 …

baas .io 개념도

15

https://api.baas.io/<user_id>/<app_name>

App 전용 공간을 관리해주고..

Page 16: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Entity를 만들기만 하면 (POST)

> GET < > DELETE < > PUT <

REST API based baas.io

모든 데이터를 REST 기반

16

API / SDK 로 서비스 가능합니다.

Page 17: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Building App with baas.io Scenario 1

17

Page 18: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Hello World Bus with baas.io

경성버스 앱

서울 시내 버스 노선도 DB 1

Stand Alone 형 2

18

Page 19: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Hello Bus with baas.io

경성버스 앱 2nd Edition

신규 버스노선 DB Download 1

DB Version 관리 2

19

Page 20: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

baas.io - Collection

20

dbversion

Collection 생성

Page 21: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

baas.io - Collection

21

{“seoul” : “1031.db“ }

seoul : 1031.db

엔티티 추가

Page 22: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

baas.io - Collection

22

DB생성 / API 구성완료

Page 23: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Hello Bus with baas.io

경성버스 앱 2nd Ed.

컬렉션에서 버전 정보 읽기 1

바뀐 버전 다운로드 2

> SDK <

queryEntitiesRequestAsync(“dbversion”);

getFileAsync(“/sdcard”,“1031.busdb”);

23

Page 24: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Hello Bus App - File

FILE

Upload / Download – 1 API call

24

Network Traffic Fee for All Free

> SDK <

getFileAsync(“/sdcard”,“1031.busdb”);

Page 25: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Collection

Key / Value Store

Query

JSON format

25

Hello Bus App – Collection

> SDK <

queryEntitiesRequestAsync(“dbversion”);

Page 26: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Building App with baas.io Scenario 2

26

QUIZ~~~

Page 27: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Building App with baas.io Scenario 3

27

H3 App

Page 28: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

H3 2012 App

H3 App

회원 가입 1

회원 로그인 2

28

3 공지사항 수신

Page 29: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

H3 App

회원 가입

회원 가입 (페이스북)

https://<YAEP>/users

SDK:

AuthUtils.signup(“name”, “fullname”, “email”, “password”);

29

H3 2012 App - User

Page 30: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

User - facebook

facebook 개발자 페이지

OAuth 2.0

https://<YAEP>/auth/facebook?fb_access_token=<fb_access_token>

SDK:

AuthUtils.signupViaFacebook(“fb_token”);

30

H3 2012 App – User (facebook)

Page 31: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

User - facebook

https://developers.facebook.com/apps/

Android App용

iOS App용

31

H3 2012 App – User (facebook)

Page 32: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Login

Log-in

Facebook Log-in

baas.io 는 access token 으로 권한 관리 지원

https://<YAEP>/auth?username=<uid>&password=<pwd>

32

https://<YAEP>/auth/facebook?fb_access_token=<fb_access_token>

H3 2012 App – Login

Page 33: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Role / Permission

Guest Role ( logout 상태 )

33

H3 2012 App – Role

Default Role ( login 상태 )

Page 34: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Role / Permission (GUEST)

34

H3 2012 App – Role

Page 35: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Push – 공지사항 수신

Map<String, Object> properties = new HashMap<String, Object>();

new ApiResponseCallback() {

public void onException(Exception e) { }

public void onResponse(ApiResponse response) {

GCMRegistrar.setRegisteredOnServer(getActivity(), true);

} });

35

properties.put("token", regId);

baasio.getInstance().registerDeviceForPushAsync(

properties,

H3 2012 App – Push

Page 36: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Push 인증서 관리

36

H3 2012 App – Push

Page 37: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Push 메시지 전송 예약발송 or 즉시발송

전체 or 특정 사용자

iOS or Android or All

37

H3 2012 App – Push

Page 38: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

baas.io - Bonus

baas.io 모바일 고객센터

https://<MAEP>/help

- 2층 중회의실 13:00 ~

38

Page 39: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

baas.io - Bonus

Location Service

- geofencing

- geocoding / R-geocoding

- 주변검색

39

Page 40: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

baas.io SDK supports …

baas.io SDK

is based on REST API

40

Page 41: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

H3 app 개발 노트 03

41

Page 42: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

H3 app 탄생비화

H3app 은 이렇게 태어났습니다.

올해 사전등록은 앱으로 받으면 어떨까?

42

Page 43: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

H3 app 은 ..

이 화면 오기까지 ….

Page 44: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

H3 app 은 ..

H3app 개발 첫째주 공지 사항

회원 가입

로그인

인기투표

사전등록

H3 app : https://api.baas.io/h3conf/h3app

/registration

/vote

/users

/notice

/auth

44

Page 45: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

H3 app 은 ..

H3app 개발 둘째주

공지 사항

회원 가입

로그인

인기투표

사전등록

H3 app : https://api.baas.io/h3conf/h3app

POST https://MAEP/registration

PUT https://MAEP/vote/<uuid>

POST https://MAEP/users

GET https://MAEP/notice

GET https://MAEP/auth

45

Page 46: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

H3 app 은 ..

H3app - 공지사항

GET https://MAEP/notice

46

Page 47: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

H3 app 은 ..

H3app - 인기투표

47

PUT https://MAEP/vote/<uuid>

Page 48: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

H3 app 은 ..

H3app - 사전등록

48

POST https://MAEP/registration

Page 49: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

H3 app 은 ..

으으 앱 속도가 느리다 !!!

49

Page 50: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

H3 app 은 ..

H3app – H3 info

{

"uuid": "327003b6-086f-11e2-ab9e-020045a50031",

"created": 1348728445513, "modified": 1351300623928,

"NOTICE_UPDATED_AT": "2012-10-23T10:53+09:00",

"TRACK_ENABLED": "true",

"TRACK_UPDATED_AT": "2012-10-27T10:16+09:00",

"VOTE_LIMIT_COUNT": "7“

}

50

GET https://MAEP/h3info

Page 51: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

H3 app 은 ..

H3app – Lessons Learned

단말내의 캐시 처리용 DB 구성 ( 3G 느려요 ~~ )

51

컬랙션 설계시 누락/추가/보완은 단순하게 반복 ( 작게작게 )

최근 업데이트 날짜 확인후 업데이트 결정 (h3info)

서버 개발자 업무중 상당 부분을 내가 직접 가능.

( This is 4 U : - baas.io 개발팀 )

Page 52: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

마무리 04 이것만은 꼭

baas.io 는 여러분에게

52

Page 53: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Ending

내가 할 일은?

Closed Beta 계정이 있다면 열공 !

OAuth/REST 관련 기본개념 익히기

Hands on Lab Ready for U !

53

Page 54: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

Ending

baas.io 는 여러분에게

개발자 채널(H3,개발자 블로그) 을 통한

다양한 의견 수렴과 기술공유 제공

54

Backend 는 물론 앱스플랜트 등의 인프라를

지원하는 baas.io 가 되겠습니다.

앱 개발자는 물론 앱 사용자까지 배려하는

“모바일 고객센터”를 내장한 최초의 BaaS.

Page 55: [H3 2012] 클라우드기반 앱 만들기 - baas.io SDK 활용

감사합니다. 개발실 / 기술전략팀 / 최숭

[email protected]

Twitter: @chsoong