개발자
백엔드 희망하고 있는 대학생입니다. 동기들과 프로젝트를 진행하려는데 프론트 쪽 프레임워크는 React Native로 결정되었고 백엔드 언어를 정하려고 합니다. 대부분 경험이 많이 없어 저희 상황에 적합한 언어를 선택하려고 합니다. 앱을 만들되 추후 AI기능을 도입할 예정이라서, 여러가지 안을 고민하고 있습니다. ReactNative가 Node.js와 호환이 잘 된다고 알고 있어서, Node.js+python으로 해야할지, 팀원들에게 익숙한 java+python으로 해야할지, python(Django or Flask)만을 이용해서 백엔드 업무를 할 수 있는지 아니면 다른 방식을 추천해주실 수 있는지 궁금합니다! 또한 대부분 현업에서는 ReactNative로 개발을 할 때 백엔드 언어를 어떻게 설정하는 지도 궁금합니다! 조언, 답변해주시면 모두 감사드립니다!!
답변 2
## 백엔드 언어 선택의 기준 뭘 쓰던 상관없습니다. 팀들이 편한거 사용하면 됩니다. ## 서버 개발 프레임워크 마찬가지로 편한거 골라 쓰시면 됩니다. 실서비스로 AI 모델을 직접 구동하시는거라면 java나 python 모두 추천하지 않습니다. 직접 구동이 아니라 API를 통해 다른 모델의 기능을 가져다 쓰는 경우엔 상관 없습니다. ## 선택과 집중 대학 동기들이 얼마나 열정적인지 모르겠으나, 프로젝트를 진행하기에 대학생들의 동기부여는 그리 높지 않습니다. 언어나 프레임워크 가지수를 늘려서 관리 대상이 늘어나면 100% 확률로 프로젝트가 늘어지고 확장 불가능할 것입니다. 할 수 있다고 여러가지 옵션을 고민하기 보다 제대로 할 수 있는 거 하나를 선택하는 고민을 해보시기 바랍니다.
익명
작성자
1월 6일
답변 감사드립니다!! 선택에 있어 더 확신을 가지고 시작할 수 있을 것 같습니다. 언어도 말씀해주신 것 처럼 하나로 잡고 가보려고 합니다, 조언 정말 감사드려요!!
먼저 AI 기능을 도입한다는건 아마도 API 형태로 활용한다는 거겠죠? self serving은 아니라는 가정하에 서버는 어떤 언어든 상관 없습니다. React 계열과 Node 계열이 호환이 잘된다는 건 좀 오해의 소지가 있는거 같고, 둘다 javascript/typescript 계열이기 때문에 동일 기술 스택으로 빠르게 개발할 수 있다는 장점이 있습니다. 프론트-백 구분 없이 개발하거나, 공통 모듈을 쉽게 같이 쓰거나, 백엔드 코드 리뷰에 프론트도 참여 가능한다던가 식으로요. 다만 프로젝트 진행 시 익숙함과 새로움의 균형을 저울질 하는게 중요한데, 저는 개인 프로젝트 할 때 기술 스택 기준 최대 2개만 새로운 걸 도입하자고 스스로 규칙을 정하는 편입니다. 예를 들어 새로운 프론트 프레임워크를 써본다면 백엔드는 내가 이미 익숙한 걸로 쓰는 식으로요. 너무 새로운 걸 한번에 많이 하려고 욕심 내면 정작 프로젝트는 진행 안되고 그냥 신기술 스터디로 전락하기 쉽습니다. 같이 프로젝트 하는 분들의 구성과 성향을 잘 파악하셔서 선택하시기 바랍니다
익명
작성자
1월 6일
스택에 대한 규칙을 정한다는 것은 생각도 못해본 것 같습니다... 너무 유용한 조언 감사드립니다! 언어를 하나로 잡고 시작하는 편이 좋다는 생각이 드네요 잘 성공해보겠습니다! 감사합니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
1월 4일
React Native는 JavaScript 기반의 프레임워크이며, 이로 인해 Node.js는 자연스럽게 백엔드 언어로 선택되곤 합니다. Node.js는 비동기 논블록킹 I/O를 지원하여 효율적인 서버 개발을 가능하게 하며, React Native와 동일한 언어(Javascript)를 사용하기 때문에 프론트와 백엔드 모두 Javascript를 사용하는 것이 코드 일관성을 유지하는데 유리합니다. 그러나 여러분의 경우에는 AI 기능 도입을 고려하고 있으므로 Python을 함께 사용하는 것이 좋아보입니다. Python은 AI, 머신러닝 분야에서 많이 쓰이고 있으며, 상대적으로 배우기 쉬운 편이라서 경험이 많지 않은 팀원들에게도 적합할 수 있습니다. Node.js + Python 조합과 Java + Python 조합 중에서 선택한다면, 팀원들의 익숙함을 고려한다면 Java + Python도 나쁘지 않습니다. 하지만 React Native와 같은 Javascript 기반 프레임워크를 사용할 경우 Node.js를 백엔드로 선택하는 것이 일반적입니다. 따라서 가능하다면 Node.js와 Python을 동시에 활용하는 방법을 추천드립니다. Python만을 이용하여 백엔드를 개발하는 것도 가능합니다. Django와 Flask는 각각 크고 복잡한 웹앱과 작은 규모의 웹앱에 적합하므로 프로젝트의 성격에 따라 선택할 수 있습니다. 현재 현업에서는 언어나 프레임워크 선택을 프로젝트 요구사항, 팀원들의 능력 및 경험 등 여러 요소를 고려하여 결정합니다. 따라서 '이 방법이 가장 좋다'라고 단언할 수는 없지만, Javascript 기반의 React Native와 Node.js가 자주 사용되는 편입니다. 결론적으로, 현재 상태에서 가장 일관성 있고 효율적인 선택은 "Node.js + Python" 조합으로 보입니다. 하지만 팀원들의 익숙함과 프로젝트 요구사항등에 따라 그 외 다른 방식을 선택하는 것도 충분히 가능합니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!