작성
·
97
0
안녕하세요! 프론트엔트 초보 개발자입니다.
백엔드는 단 한 번도 건드려본적이 없어서 어떤 구조인지도 잘 몰라요 ㅠㅠ
아직 정말 지식 수준이 얕습니다.
이 강의를 완강한 후에, 리액트로 프론트를 만져보고 싶은데요...
이후에 프로젝트에서 프론트, 백 따로 개발 후에 둘이 연결을 하려면 어떻게 해야하나요..?
초보자 수준에서 간단히 설명 가능한가요..?
답변 2
0
안녕하세요 정보근입니다:)
리액트, 뷰 등을 사용할 경우에는 두 개의 서버를 실행해야 합니다.
하나는 리액트로 만든 자바스크립트 소스를 전달할 웹 서버,
다른 하나는 스프링이 실행되는 웹 애플리케이션 서버(이하 WAS)입니다.
사용자가 접속하는 서버는 웹 서버고,
웹 서버는 리액트로 만든 자바스크립트 파일과 빈 HTML 파일 등을 클라이언트에 응답합니다.
그럼 클라이언트에서는 리액트를 실행할 수 있을 것이고요.
제가 리액트 경험은 없지만 뷰 경험에 비춰 말씀드려보자면,
각 화면을 구성할 때 특정 URL을 호출해서 데이터를 받아온 뒤
그 데이터를 이용해 화면을 그릴 수 있도록 되어 있을 거에요.
이 때 호출하는 URL이 WAS의 각 API가 되어야 합니다.
화면이나 컴포넌트 단위로 필요한 데이터를 조회하기 위해 API를 호출하면,
스프링에서 데이터를 조회한 뒤 데이터만 내려줄 것이고요.
그럼 클라이언트의 리액트는 데이터를 이용해 화면을 갱신합니다.
CSR은 기본적으로 이런 구조라 할 수 있어요.
정리하자면 클라이언트는 웹 서버에서 자바스크립트 애플리케이션을 받아오고,
이후 각 화면을 조회할 때는 자바스크립트 애플리케이션에서 WAS의 API를 호출해 데이터를 받아오고,
받아온 데이터를 이용해 새로 화면을 그립니다.
반면 SSR 방식은 URL을 호출하면,
데이터를 조회한 뒤 HTML 템플릿과 결합해 최종적인 HTML 파일을 내려준다는 차이가 있습니다.
CSR, SSR, Single Page Application이란 키워드로 더 검색해보셔도 도움이 될 겁니다.
참고로 강의의 데모 프로젝트는 SSR 방식을 사용해 동작하지만,
이후 리액트, 뷰 등을 사용해보고 싶은 분들을 위해 API 개발도 포함되어 있습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. tamizy님.
프론트엔드(React)와 백엔드(Spring Boot)를 결합하는 것은 모던 웹 개발에서 중요한 기술입니다. 초기 단계에서는 개념을 간단하게 이해하고 시작하는 것이 중요합니다.
프론트엔드와 백엔드의 역할
연결 방식
간단한 연결 과정
/api/data
형태로 URL이 세팅되며, 특정 데이터 요청에 대한 응답을 반환합니다.fetch
혹은 axios
와 같은 라이브러리를 사용하여 백엔드 API에 요청을 보내고 데이터를 받아옵니다.참고할 자료
도움이 되셨길 바랍니다. 저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.