반응형
Api와 라이브러리는 비슷하다고 생각이 되면서도 다르다 .
이 차이점이 무잇일까에 대한 나의 생각을 적어놓아야겠다
API(Application Programming Interface)
응용 프로그램에서 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
필요한 부분을 요청하여 응답을 받는 서비스간의 다리와 같은 역할
- 구현과 독립적으로 사양만 정의 되어있음
- 접근권한을 부여받아야함
- 말그대로 인터페이스, 안에는 무엇이 들어있는지 알 수 없음.
쉽게말해서 api란 = 어떤 서버 문서의 코드를 불러와서 내 데이터를 넣어서 내가 사용할 수 있게 만드는것
ex) 네이버의 로그인 api를 쓴다고 할때 네이버의 승인을 받고(네이버에서 요구하는 인증을 거치고 내 앱을 등록하는 과정이 필요 ) 로그인 api (네이버 서버의 로그인 페이지 문서)를 가져와서 나의 앱에서 내 데이터를 넣고 사용한다 .
그래서 이런식으로 네이버 서버의 코드(api 문서)를 가지고와서 내 앱에 맞게 사용하는 것이 가능하다
val callback: (OAuthToken?, Throwable?) -> Unit = { token, error ->
if (error != null) {
Log.e(TAG, "로그인 실패", error)
}
else if (token != null) {
Log.i(TAG, "로그인 성공 ${token.accessToken}")
// 토큰 정보 보기
UserApiClient.instance.accessTokenInfo { tokenInfo, error ->
if (error != null) {
Log.e(TAG, "토큰 정보 보기 실패", error)
}
else if (tokenInfo != null) {
Log.i(TAG, "토큰 정보 보기 성공" +
"\n회원번호: ${tokenInfo.id}" +
"\n만료시간: ${tokenInfo.expiresIn} 초"+
"\n카카오토큰: ${tokenInfo.appId}")
user_token=tokenInfo.appId.toString()
}
}
라이브러리 (Library)
응용 프로그램 개발을 위해 필요한 기능을 모아 놓은 소프트웨어
- 응용프로그램이 능동적으로 라이브러리를 사용 : 기능들을 어떻게 사용할지 사용자가 결정
- 부품이 되는 소프트웨어의 집합
- 작은 기능들을 함수 단위로 만들어 제공
- 기능들을 어떻게 사용할지 사용자가 결정
- 대체가능한 다른것을 찾기 쉬움
라이브러리란 = 어떤 기능이 담긴 소프트웨어
(도서관(라이브러리) 에서 내가 읽고싶은 책을 찾아서 읽듯이 라이브러리도 내가 쓰고싶은기능을 찾아서 사용하면 된다)
ex) glide를 사용하여서 사진을 불러온다 . glide에는 여러가지 기능이 있지만 내가 사용하고 싶은 메서드만 가져와서 사용한다.
그래서 이런식으로 라이브러리를 사용하고 별도의 코드 없이 나에게 필요한 메서드를 찾아 사용해서 나의 앱에 적용하면된다.
틀린부분이 많이 있을 수 있으니 틀린게있다면 댓글 달아주세요~
참고블로그
반응형
'생각정리' 카테고리의 다른 글
생명주기에 대하여 (0) | 2021.10.21 |
---|---|
Socket.io에 대해서 (0) | 2021.10.21 |
WebRTC 동작원리 및 나의 생각 (0) | 2021.10.19 |
Node.js 에 대한 나의 생각(feat.javascript) 2편 (0) | 2021.10.18 |
Node.js 에 대한 나의 생각(feat.javascript) 1편 (0) | 2021.10.16 |