클래스보드는 2023년 11월 16일 기존의 Express.js 기반 서버를 대신할 Next.js를 이용한 새로운 서버를 구축하기로 결정했습니다. 왜 오랜 기간을 함께한 Express.js를 역사 속에 묻어두기로 한 것일까요?
Express.js가 뭐지?
Express.js는 웹서버 구축을 위한 프레임워크로 업계에서는 사실상 표준 서버 프레임워크로 불리고 있습니다. 2010년에 개발되어 긴 시간 동안 많은 개발자들에게 사랑받았습니다.
Next.js는 또 뭐지?
Next.js는 React.js 기반의 웹 애플리케이션 개발을 위한 프레임워크입니다. 가장 최근 업데이트에서는 한 파일 안에 서버 측 코드와 클라이언트 측 코드를 동시에 작성하는 php와 유사한 형태를 보이고 있습니다. 2016년에 개발되어 최근 개발자들 사이에서 유행하고 있습니다.
유서 깊은 Express.js를 포기한 이유?
Express.js가 Next.js에 비해 일찍 개발되었고 훨씬 많은 사랑을 받으며 커뮤니티 및 정보량이 방대한 것은 사실입니다. 하지만 비교적 오래된 기술이고 혼자서 풀스택 개발을 해야 하는 저에게는 프로젝트 크기가 커지며 너무 버겁게 느껴졌습니다. 프론트엔드 개발과 백엔드 개발이 사실상 분리되어 있기 때문에 개발 시간과 들이는 노력이 배가 되어 다가왔기 때문에 새로운 기능을 개발할 때 부담이 되었습니다. 하지만 Next.js에서는 타입스크립트라는 통일된 언어로 프런트엔드와 백엔드를 한 번에 개발할 수 있고 기본적으로 React.js를 사용하기 때문에 더욱 "앱"스럽고 일관적인 사용자 경험을 제공할 수 있었습니다. 그리고 리액트 라이브러리인 Material UI를 적용해서 저의 미흡한 디자인 실력을 감출 수 있었습니다.
혼자서 모든 코드를 다 옮긴다고요?
막상 작업을 시작하자 "괜히 했다"라는 생각이 안 떠오를 수가 없었습니다. 이미 커질 대로 커진 프로젝트와 익숙하지 않은 개발환경은 저를 짓눌러왔습니다. 그래서 기발하면서도 바보 같은 결정을 하게 됩니다. 바로 기존 Express.js 서버와 새로 만드는 Next.js서버를 동시에 운영하자는 것이었습니다. 처음 몇 주 간은 두 서버가 세션을 공유할 수 있도록 작업하는 데 집중했습니다. 이 작업이 성공하고 이후로는 순조롭게 개발이 진행되고 있습니다. 덕분에 기존 서버의 구현이 완료된 기능들과 새로 구현한 기능들을 동시에 서비스할 수 있게 되었습니다.
앞으로의 목표는?
최종 목표는 Next.js로의 완전한 이전이지만, api까지 모두 옮길 필요성은 느끼지 못하여 새로 개발하는 부분에 한해서만 Next.js로 작성하고 기존 api들은 그대로 유지할 예정입니다. 현재는 기존에 존재하던 페이지들을 하나씩 다시 작성하고 있습니다. 새로운 디자인으로 재탄생할 클래스보드 2.0을 기대해 주세요!
'클래스보드 기술블로그' 카테고리의 다른 글
당신의 웹사이트는 얼마나 친환경적인가요? (0) | 2023.12.21 |
---|---|
Cloudflare을 사용하는 이유 (0) | 2023.07.31 |