서버를 하나부터 만드는 것은 어려운 일이다.
따라서 서버를 대신 만들어 놓고
1) 데이터 생성
2) 데이터 조회
3) 데이터 삭제/수정
등의 기능을 대신 제공해주는 서비스들이 존재하는데 이를 [서버리스]라고 한다.
--> 즉 서버리스란 서버를 하나부터 열까지 만들 필요가 없다는 뜻이다. 서버기능을 제공하는 곳에서 우리가 필요한 기능들을 클릭 한번으로 구현할 수 있도록 하는 서비스를 서버리스라고 한다.
Ex) 파이어베이스
이런 서버리스에서 데이터를 요청하거나 보내려면 그 서버가 정한 규칙에 따라야한다.
서버에 요청(Request)
서버가 응답(Reponse)
--> 이런 서버쪽에서 정한 규칙을 보통 API라고 부른다.
그 규칙의 형태는
1) 도메인일 수도 있고
Ex)
www.sparta.com/getdata ←- 데이터 조회 API
www.sparta.com/setData ←- 데이터 저장 API
2) 서버가 만들어 놓은 함수를 이용해서 사용하는 규칙일 수도 있다.
Ex)
db.ref('/like/').on('value') ←- 데이터 조회 API
db.ref('/like/').set(new_like); <-- 데이터 저장 API
서버가 앱에 데이터를 줄 때는 절대 다수가 JSON형태로 데이터를 전달해 준다.
1) 앱 화면이 그려진 다음 데이터를 준비
--> 앱 화면이 그려진 다음 가장 처음 실행되는 함수인 useEffect함수 차원에서 요청하여 준비
2) 앱에서 사용자가 저장 버튼을 눌렀을 때
--> 서버에 데이터를 보내며 데이터 저장을 요청