홈버튼을 누르면 홈으로 들어간다. 이건 User가 사용하는 매개체, 즉 사용자와 스마트폰을 연결해준다.

위와같은 CLI 화면이 아닌, 사용자 화면이나 버튼으로 인터넷이나 스마트폰으로 접속하게 된다. 즉 GUI(Graphic User Interface)나 UI(User Interface)로 접속하는게 일반적이다.
이 개념을 좀 더 확장시키면 API를 이해할 수 있다.
API는 프로그램, 프로그램 간 다리가 되어준다.
프로그램을 위한 Interface다.
API는 Public, protected, private API 등으로 나뉘어져 있고, Public은 공공 포탈 API이다.
alert('Hello world!');
이걸 실행하면 창으로 'Hello World!'가 나온다.
-> 웹 API를 이미 쓰고 있는 것
코딩하며 쓰는 함수들 거의 전부가 API와 유사하다.
네이버에서 공개한 API 명세의 일부분이다.
공유하기 버튼을 API명세로 공개하였다.
해당 문서에서 살펴봐야할 부분은 '인코딩'이다.
인코딩이란?
정보 형태, 형식을 표준화, 보안, 처리 속도 향상, 저장 공간 절약을 위해 다른 형식 변환처리 혹은 그 처리 방식
- 내용에는 변화가 없고, 암호화로의 사용은 불가능!
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<head>
<title>네이버 공유하기</title>
<script>
function share() {
var url = encodeURI(encodeURIComponent(myform.url.value));
var title = encodeURI(myform.title.value);
var shareURL = "https://share.naver.com/web/shareView?url=" + url + "&title=" + title;
document.location = shareURL;
}
</script>
</head>
<body>
<form id="myform">
URL입력: <input type="text" id="url" value="https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&oquery=%EB%84%A4%EC%9D%B4%EB%B2%84+%EA%B0%9C%EB%B0%9C%EC%9E%90%EC%84%BC%ED%84%B0&ie=utf8&query=%EB%84%A4%EC%9D%B4%EB%B2%84+%EA%B0%9C%EB%B0%9C%EC%9E%90%EC%84%BC%ED%84%B0"><br/>
Title입력: <input type="text" id="title" value="네이버개발자센터 검색결과"><br/>
</form>
<input type="button" value="네이버공유하기" onclick="share()"/>
</body>
</html>
개발자가 프로그램을 만드는 데에 필요한 기능을 직접 구현하지 않고 API 제공자들이 제공하는 데이터와 모듈 등을 공공 API 제공자들로부터 가져와 쓸 수 있다.