동행큐브
729
2020-11-14 23:42:22 작성 2020-11-14 23:43:31 수정됨
3
1226

React와 Vue를 스프링 부트와 접목해서 쓰려고 하는데 질문 있습니다.


안녕하세요. 이제 1년차 자바 웹개발자입니다. 

이번에 사내 신규 프로젝트를 맡게 되어서 회의를 하는데 백엔드는 스프링부트, JPA를 쓰기로 확정된것같고 프론트에서 지금 고민하고 있습니다. 개발 인원은 나중에 추가될수도 있지만 일단은 3명입니다. 

후보군으로는 React, Vue, Thymeleaf가 있습니다. 

Thymeleaf는 제가 책을 보고 실습한 결과 모델 데이터바인딩이 복잡해보여서 꺼리게 됩니다. 그리고 해당 프로젝트 PM이 신기술과 신버전을 좋아하셔서 React나 Vue를 사용하고 싶어하십니다. 저도 개인적으로 Vue로 졸업작품을 만들어본적도 있고 React는 개인적으로 공부해서 Thymeleaf는 버리고 React나 Vue를 사용하고 싶어합니다. 

서론이 너무 길었네요. 본론으로 넘어가겠습니다. 

1. React, Vue, Thymleaf중에 개인적으로 추천하고 싶은 프레임워크는 무엇인가요? 위에서 React나 Vue를 사용하고 싶다고 썻는데 Thymeleaf를 선택지에 넣은 이유는 제가 아직 경험하지 못한 Thymeleaf의 장점을 아시는 분이 있을 것 같아서 같이 넣었습니다. 

2. React나 Vue를 추천하신다면 빌드해서 프로젝트 폴더에 넣어서 사용하기, 아니면 node.js 서버를 올려서 사용하기 중 무엇을 추천하시나요? 트래픽은 그리 많이 몰리지 않을 것으로 예상됩니다. 사내 직원들 중 몇몇 부서만 사용할 예정입니다. 

3. 제가 이렇게 조합해서 사용하는게 처음이라 잘 모르는데, 스프링MVC에서 JSP를 사용할때 보여주고 싶은 값이 있다면 컨트롤러에서 model.addattribute(name, value) 쓰고 JSP에서 ${name} 을 넣으면 페이지에서는 value를 보여주는 것은 알고 있습니다. 그런데 만약 react나 vue를 사용하게 된다면 이런 모델 데이터바인딩이 될지, 안된다면 어떤 방식을 써야할지 잘 모르겠습니다. 책을 찾아보려고 했으나 잘 못찾겠어서 여쭤보고 싶습니다. 

0
  • 답변 3

  • 훈마로
    973
    2020-11-14 23:49:24

    일단 후보군 중에서 Thyemleaf는 다른 두개와 개념이 다릅니다.

    Thyemleaf는 자바 템플릿 엔진입니다. 3번에서 말씀하신 것처럼 JSP처럼 스프링 뷰 컨트롤러에서 넘겨준 모델을 바로 바인딩하여 사용할 수 있는 장점이 있습니다. 그만큼 백단의 데이터를 프론트에 바인딩하는 것은 쉽습니다. 반면 React나 Vue같은 프론트엔드 프레임워크를 따로 쓰는 것은 화면단에서 핸들링하기 편한 장점이 있지요. Thymeleaf 같은 템플릿 엔진을 사용하면서 React나 Vue를 적용하실 수 있습니다만 그 호나경 구성하기가 조금 귀찮아요. 메이븐, 그레이들 같은 빌드툴과 프론트 빌드툴 웹팩 같은거와 연동해야 하기도 하고요.

    신기술 해보고 싶고 내부적으로 사용하시는 거면 서비스 품질에 큰 부담이 없으시니 이왕이면 자바를 API 서버로하고 React나 Vue 둘 중 하나 선택해서 프론트 서버를 하나 더 올리시는 구성으로 하면 좋겠네요.

    개인적으로는 Vue의 스타일이 좀더 순수 HTML, JS를 다루는 것 같은 느낌이 좋아서 Vue를 자주 쓰는 편입니다. React는 JSX 문법이 어색하더군요.

  • 후미유
    177
    2020-11-14 23:50:34 작성 2020-11-14 23:52:15 수정됨

    자바계통이면 함수형 코딩 베이스가 없으면 가볍게 Vue.js가 더 좋지 않을까 생각합니다.

    JS를 좀 잘 다루고 함수형 언어에 대한 지식이 있으면 리액트가 더 좋다고 생각합니다.

  • 동행큐브
    729
    2020-11-15 18:43:02

    답변 감사합니다!

  • 로그인을 하시면 답변을 등록할 수 있습니다.