약 2년 만에 다시 스터디를 진행하게 되었는데, 가볍게 시작하고자 이번에는 책을 하나 정해서 시작하고 했다. 이번에 선정한 책은 프레임워크 없는 프론트엔드 개발로 Facebook에서 지인들이 소개하는 것에 관심이 생겨 구매해두었지만 방치하고 있던 것을 이번 기회로 한번 읽고 싶어 제안했다. 총 270페이지 정도의 두껍지 않고 내용이 어렵지 않아 4주간 진행되었다.
이 책은 프레임워크 없는 운동을 지지하는 저자가 프레임워크에 대한 정의부터 많이 사용하는 프레임워크의 필수 기능들에 대하여 모던 브라우저의 기본 API 및 가벼운 라이브러리를 통해 구현하는 것을 보여준다. 덕분에 프론트엔드 개발을 하면서 자주 접하게 되는 프레임워크에 관심이 있었다면 자주 들을 수 있는 개념이나 기술들에 대해서 간단하게나마 코드 레벨에서 확인할 수 있었다.
개인적으로는 관심이 있던 가상 DOM에서 다름을 판단하는 기준이나 한 번씩은 들어봤던 커스텀 엘리먼트나 템플릿에 대해서 코드 레벨로 볼 수 있었던 것이 즐거웠다. 그 외에도 다른 전반적인 내용도 다시 한번 알고 있던 것들을 정리하기에 좋은 내용이 있었기 때문에 전반적으로 만족하며 읽었다.
마지막 장에서는 과제를 진행하기 전에 적합한 도구를 선정하는 방법에 대한 내용을 다루었는데, 다양한 기준으로 분석하고 측정하는 모습도 흥미로웠다. 잘 못 선정한 도구로 인해 종종 고생하긴 하지만 소개해준 방법처럼 완벽하게 분석하고 들어가 본 적은 없었던 것 같아 여러 생각이 들었다.
스터디에서 책을 마지막까지 읽고 전반적인 의견을 나눌 때, 필자는 여전히 일반적으로는 React에 Next.js를 사용을 제안할 것 같다고 생각했다. 관련된 풍부한 생태계와 상대적으로 많은 개발자가 익숙하여 커뮤니케이션 하기 유리하고, 지금까지의 경험상 사용한 프레임워크에 문제가 있는 경우에 도달하면 정리하며 새로 개발하는 방향으로 진행되었기 때문에 과제를 진행하는 시점에 많이 사용하는 도구를 사용해 빠르게 개발할 수 있는 것이 중요하다고 생각했다. 게다가 이전에 다니던 회사에서 자체 프레임워크를 구축하고 이에 대한 관리가 잘 이루어지지 않아 오히려 독이 된 경우를 보기도 했기 때문도 있었다.
하지만 아주 작은 범위만, 예를 들면 고도의 성능을 필요로 하는 간단한 정적 페이지에서라면 이 책에서 소개해준 간단한 방식으로 개발하는 것도 괜찮을 것 같다. 넷플릭스에서 가입 프로세스에 사용되는 페이지에 대해서 클라이언트 라이브러리를 줄이고 성능을 확보한 포스트를 읽은 적이 있는데 이런 경우에 참고해서 작성하면 좋을 것 같다.