개발자와 협업하기 위한 api의 이해 - api를 준비하는 금성인을 위한 안내서
Post on 01-Nov-2014
3.213 Views
Preview:
DESCRIPTION
TRANSCRIPT
API를 준비하는 금성인을 위한 안내서장동수 / 아임인LAB / 개발실 / KTH
1
눈에 보이는 API (1)
2
눈에 보이는 API (2)
3
눈에 보이는 API (3)
그러나...
그것은...
API 문서일 뿐...
눈에 보이는 것이...
API의 전부는 아니랍니다...
OTL
4
API란?Application Programming Interface
Application Program
a program that gives a computer instructionsthat provide the user with toolsto accomplish a task
Interface: inter + face; 얼굴과 얼굴 사이?!
a surface forming a common boundarybetween two things
5
장치와 장치 사이
6
사람과 사람 사이
7
사람과 프로그램 사이
8
프로그램과 프로그램 사이(응용) 프로그램
API
(시스템) 프로그램
9
서비스와 서비스 사이(매시업) 서비스
Open API
(플랫폼) 서비스
10
화성인 용어 사전 (1)
라이브러리(Library)
툴킷(Toolkit)
프레임웍(Framework)
11
화성인 용어 사전 (2)
프로시져 호출(Procedure Call)
시스템 호출(System Call)
프로세스간 통신(IPC; Inter-process Communication)
로컬 프로시져 호출(LPC; Local Procedure Call)
원격 프로시져 호출(RPC; Remote Procedure Call)
12
화성인 용어 사전 (3)프로토콜(Protocol)
TCP/IP, Socket, HTTP
Open API, Cross-Domain
REST, JSON, JSONP
SOAP, XML
Authentication & Authorization, OAuth
13
REST+JSON vs SOAP+XML{ "results" : [ { "address_components" : [ { "long_name" : "1600", "short_name" : "1600", "types" : [ "street_number" ] }, { "long_name" : "Amphitheatre Pkwy", "short_name" : "Amphitheatre Pkwy", "types" : [ "route" ] }, { "long_name" : "Mountain View", "short_name" : "Mountain View", "types" : [ "locality", "political" ] }, { 14
<GeocodeResponse> <status>OK</status> <result> <type>street_address</type> <formatted_address>1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA <address_component> <long_name>1600</long_name> <short_name>1600</short_name> <type>street_number</type> </address_component> <address_component> <long_name>Amphitheatre Pkwy</long_name> <short_name>Amphitheatre Pkwy</short_name> <type>route</type> </address_component> <address_component> <long_name>Mountain View</long_name> <short_name>Mountain View</short_name> <type>locality</type> <type>political</type>
REST+JSON vs SOAP+XML
15
크로스 도메인http://a.com http://b.com
one four
웹 브라우져
http://a.com/one
two three
Same OriginAJAX
Cross DomainAJAX
16
크로스 도메인http://a.com http://b.com
one four
웹 브라우져
http://b.com/three
two three
Cross DomainAJAX
Same OriginAJAX
17
OpenAPI 문서 보기(1)이름(Name)
HTTP 주소(URL, URI, ...) + 메소드(GET, POST, PUT, DELETE, ...)
요청(Request)
인자, 파라메터, Parameters, Arguments, ...
응답(Response)
반환값, 리턴값, 결과값, Result, Return, ...
18
OpenAPI 문서 보기(2)
이름 요청 응답
19
화성인에게 API란?외부 시스템이 내부 시스템이 제공하는 기능을 사용하기 위해 지켜야 하는 규약 & 문서
그리고, 실제로 요청을 받고 응답을 하는 시스템의 맨 바깥 계층 & 코드 덩어리
그리고, 계층을 통해 규약에 맞춰 요청을 보내고 응답을 받기 위한 코드 덩어리
20
금성인에게 API란
더 큰/좋은/잘나가는/전문적인 서비스에 묻어가기
경쟁자를 파트너로 만들기
경쟁자에게 밀리지 않기
서비스 플랫폼으로 자리잡고 돈 벌기
21
Putting It All Together...
아임IN 서버
아임IN안드로이드앱
아임INiOS앱
리뷰아임INPrivate
OpenAPI아임IN
OpenAPI
푸딩.투OpenAPI
장소 찾기
발도장 찍기
트위터OpenAPI
페이스북OpenAPI
발도장 공유
친구 찾기
가입/로그인
써드파티앱/매시업
아리맛
22
화성인 따라잡기
“좋아요” 버튼 달기
페이스북 개발자 등록
OAuth 인증/승인
타임라인 가져오기
타임라인에 글 올리기
친구 목록 가져오기
23
Q&AThat’s all Folks!
24
top related