개발 종류
웹(WEB)
브라우저를 설치 -> 웹 접속
서버(웹 프로그램 실행) -> 브라우저(표현) -> 사용자
- 화면, 데이터 등을 한꺼번에 전달
- 처음 화면만 전달한 후 필요한 데이터만 전달
앱(APP)
- 앱 설치 - 서버에서 정보(데이터) 전달
- 앱 설치 - 기기 안에서 돌아감
웹 개발 구조
- 데이터베이스에 데이터를 저장 (백엔드 개발자)
- 정보를 핸들링하는 로직을 개발 (백엔드 개발자)
- 정보를 표시하는 화면을 개발 (프론트엔드 개발자)
SSR(Sever Side Rendering)
클라이언트에서 요청이 들어올 때마다 매번 서버에서 새로운 화면을 렌더링함
렌더링 주체 : 서버
개발자 : 서버 개발자 (프론트엔드와 백엔드 개발을 같이 함)
CSR(Client Side Rendering)
서버에서 받은 데이터를 통해 클라이언트인 브라우저가 화면을 렌더링함
렌더링 주체 : 클라이언트인 브라우저
개발자 : 백엔드 개발과 프론트엔드 개발이 완전히 나눠짐
API(Application Interface)
백엔드에서 프론트엔드에 데이터를 넘기는 별도의 프로그램 계층
앱 개발 구조
- 데이터베이스에 데이터를 저장 (백엔드 개발자)
- 정보를 핸들링하는 로직을 개발 (백엔드 개발자)
- 정보를 표시하는 앱을 개발 (앱 개발자)
백엔드 개발자와 안드로이드 개발자, iOS 개발자로 분리됨
크로스플랫폼
한 번에 개발한 후 양쪽(안드로이드, iOS)에 적용
React Native, Flutter
크로스플랫폼 리스크
- 개발자 이탕 대처 (크로스플랫폼 개발자 많지 않음)
- 기능의 디테일 혹은 성능의 다소 저하