App: 클라이언트
Http 프로토콜로 서버와 통신 (API를 호출하거나 Web Server를 이용)
1) 서버를 직접 구현: 난이도 있고 어려움. 인터페이스는 API. 뒤에 DB 연결.
- 서버를 띄우고 DB도 직접 관리해야한다. 클라우드는 aws나 gcp 이용.
- 리눅스 서버는 mysql를 설치하고 연결할 수 있다.
- 만약 따로 필요하다면 RDB라는 클라우드에서 제공하는 DB이용.
- WAS의 Tomcat이용. API server를 만들 수 있다.
- API는 node.js로 API 서버를 만들 수 있다. 이때 WAS가 별도로 필요없이 node.js가 포트를 기다려서 그 포트로 접속 가능.
2) firebase이용: 구글에서 만들었고, 회원가입, 인증, DB 제공, 인터페이스는 구글 제공 라이브러리. 데이터를 저장하고 불러오기 정도라면 firebase 추천.
3) web base: web기반일 경우. 변경 시 앱 재배포 하지 않아도 되고, 화면 개발이 용이하다.
*web base > firebase > 서버 구현 순으로 추천.
앱 종류:
- 웹앱: 웹 내용을 앱으로 보여줌 (네이버 앱) -> Web Server의 응답을 받는다.
- Native 앱: 손으로 한땀한땀 만든 앱 (카카오 앱) -> API의 응답을 받는다. 보통 XML or Json으로 통신. (값을 가져옴)
- Hybrid: 밑에는 Native, 내부는 웹앱
App에서 Server를 http로 호출할 때, 비동기로 진행되어야한다.
왜냐면 http호출하고 app이 멈춰버리면 안되어서.
비동기 함수들은 응답을 call back으로 한다.
API 란?
- 컴퓨터의 기능을 실행시키는 방식
- print() 등
REST API 란?
- 기계가 규격화된 방식으로 http를 이용해서 기계들이 통신 형식. (프로그램X)
- 다른 사람의 컴퓨터로 실행. ex) 트위터의 글을 가져오거나 수정.
- POST, GET, PUT, DELETE
- 우리 서버에는 topics, comments라는 2개의 resource가 있다.
- comments resource에 topicId가 1이다. -> topics resource의 id:1에 해당하는 코멘트. -> topics의 id1에 속해있는 댓글 2개.
- data의 resource는 uri를 통해 식별한다.
- 어떤 행위를 할때는 메소드의 이름을 적당히 http의 규정대로 사용.
참고:
기계들의 대화법 -REST API: https://www.youtube.com/watch?v=PmY3dWcCxXI&list=RDCMUCvc8kv-i5fvFTJBFAk6n1SA&start_radio=1&rv=PmY3dWcCxXI&t=1
앱 개발 시 서버 클라우드 데이터 베이스: https://www.youtube.com/watch?v=kpzriQs5c00
앱 서버 연동 개발: https://www.youtube.com/watch?v=4SYeh8A8SRQ
앱 개발 시 서버 클라우드 데이터 베이스: https://www.youtube.com/watch?v=kpzriQs5c00
'AWS' 카테고리의 다른 글
SageMaker (0) | 2021.07.30 |
---|---|
AWS API Gateway와 Lambda (0) | 2021.07.30 |
스터디 1주차 (0) | 2021.07.21 |
스터디 1주차_보충 (0) | 2021.07.21 |
AWS - EC2 (0) | 2021.07.20 |