기존에는 React.js만을 이용해서 개발을 해왔다.
최근에 Next.js 공부를 시작하면서 둘의 차이점을 느낄 수 있게 되었다.
React.js => 라이브러리
Next.js => 프레임워크
라이브러리와 프레임워크는 주체가 어디에 있느냐에 따라 나뉜다.
개발자가 원하는 코드를 불러와서 사용할 수 있게 해 놓은 것은 라이브러리,
이미 만들어진 틀 안에 개발자가 코드를 넣으면, 코드가 작동하도록 해 놓은 것이 프레임워크이다.
React를 사용할 때에는 내가 폴더 구조를 어떻게 만들지 직접 정하고, 내가 원하는 대로 파일의 구조를 짤 수 있었던 반면
Next를 사용할 때에는 이미 정해진 pages라는 폴더 내에 개발을 해야만 나의 코드가 작동한다.
React 프로젝트를 생성하면 보이는 ReactDom.render가 Next에는 없다.
React에서는 dom을 그리는 과정을 볼 수 있지만, Next에서는 그 과정을 다 알아서 해주고 있기 때문에 우리는 해당 부분을 건드릴 수 없다.
React에 비해 자유도는 좀 떨어지지만, 직접 해야 했던 routing등을 Next가 알아서 해주니까 확실히 편하고 할 일이 줄었다.
Next도 React 못지 않게 재밌는 것 같다.