해결된 질문
24.01.24 17:47 작성
·
482
3
안녕하세요 선생님~!
일단 먼저 ㅠㅠ... 질문이 너무 많아서 죄송합니다 ㅠㅠㅠ...!
제가 아직 주니어여서 메인 프엔 개발자 선배님을 보조하여,
만들어진 다양한 모듈이나 비즈니스 로직 등을 이용하여 데이터 패칭/포스트/뮤테이션 정도만 하면서 자잘한 기능 구현 정도만 하고 있고 백엔드 지식이 전혀 없어서 그런지
next를 공부하면서 아직도 가장 아리송한 것이
프론트엔드 개발자가 API를 만드는 것이 어떤 의미(?)인지 잘 모르겠습니다...!
Next를 이용하여 프론트엔드 개발자가 serverless로 API를 개발하는 것이 어떤 경우에서 쓰이는 것인지, 이것이 얼마나 중요하고 대단한 기술인지 잘 와 닿지 않습니다.
저는 백엔드 개발자가 API를 개발 완료하면 프론트엔드 개발자는 swagger와 같은 API 문서를 참고하여 프론트 개발을 진행하는 것이 각자의 역할로 이해하고 있었는데
Next로 넘어오면서 프론트엔드 개발자가 API를 개발한다는 것에서 백엔드 개발자의 역할이 축소가 된 것인지 의문점이 들고 주니어로서는 러닝커브가 확 올라간 느낌이 듭니다 ㅠㅠ!
선생님께서는 현업에서 직업 모든 API를 개발하여 사용하시는 걸까요?
아님 이번 revalidate와 같은 몇가지 경우에서만 API를 개발하여 사용하시고 나머지 롤은 백엔드가 담당하는 것인가요?
바쁘실텐데 질문이 많아서 정말 죄송합니다 ㅠㅠ
질 좋은 강의와 정성스러운 답변 덕분에 많은 배움을 얻어감에 정말 감사한 마음뿐입니다!
건강하세요!
답변 1
3
2024. 01. 25. 23:34
질문이 많은 건 저한테는 감사한 일이죠! 사과하지 않으셔도 됩니다. 답변이 늦어 오히려 죄송합니다.
우선 Next.js에서 Route Handlers를 이용해 API를 구현할 수 있다고 해서 프론트엔드 개발자가 API를 구현해야 한다는 의미는 아니라는 점을 말씀드리고 싶습니다. Next.js의 발전은 개발자들의 선택의 폭을 넓히는 쪽으로 향하고 있습니다. 브라우저에서만 렌더링 되던 리액트 컴포넌트를 서버에서 렌더링 할 수 있도록 한 App Router가 그 변화의 중심에 있죠.
말씀주신 것처럼 프론트엔드 개발자가 서버에 대해 알아야 하기 때문에 인해 러닝커브가 올라간 게 사실입니다. 어렵게 느끼시는 게 당연합니다. 하지만 지금 당장 모든 걸 아실 필요는 없습니다. 필요가 생겼을 때 배우셔도 늦지 않습니다.
현업에서 프론트엔드 개발자가 직접 API를 구현하는 일은 적습니다. 저 역시 백엔드 개발자들과 Swagger와 같은 문서를 통해 API 스펙을 협의하고 완성된 API를 사용하며 개발하고 있습니다. 하지만 가끔 여러 서버로부터 데이터를 가져온 뒤 프론트에서 필요한 형태로 적절히 가공해야 경우에 Node 서버(Next.js가 돌아가는 환경)에서 API를 만들어서 사용하곤 합니다. 이처럼 몇가지 경우에만 API를 구현할 뿐 대부분의 경우는 백엔드 개발자과 일을 분담합니다.
그럼에도 불구하고, 앞으로 프론트엔드 개발자들은 서버에 대해 더 많이 알아야할 것 같습니다. Next.js 14에서 안정화된 Server Actions는 직접 DB를 조회할 수도 있습니다. 프론트엔드와 백엔드의 경계가 모호해질수도 있겠죠. 아직은 어떻게 흘러갈지 모르지만 필요에 따라 배우고 사용할 수 있는 역량을 길러두시면 크게 걱정하지 않으셔도 되리라 생각합니다.
밀크티님은 지금처럼 꾸준히 공부하시면 될 것 같습니다.
너무 부담스러워하지 마시고 하나씩 배워나가보면 좋겠습니다. 화이팅입니다!
2024. 01. 25. 23:43
아. 선생님 감사하고 또 감사드립니다.
항상 공부를 하면서도 이해를 빠르게 하지 못하는 자신이 너무 한심스러웠는데, 선생님의 격려에 큰 용기를 갖게되었습니다. 어떻게 이 감사함을 표현해야할 지 모르겠어요…ㅠㅠ
늦은 밤까지 쉬시지도 못하시고
이렇게 답변을 주셔서 정말 감사드립니다.
선생님의 말씀대로 차근차근 해내어보겠습니다. 그리고 선생님처럼 동료들에게 아낌없이 지식을 나누고 도움을 주는 개발자가 될게요! 감사합니다!!