Django와 Express의 차이점

올해 8월은 꽤 재미있었다. 갓 스타트업을 시작하신 두 형님이 일하시는 곳이 옥수동에 있는데, 한 달 동안 거의 매일 그 곳에 놀러 갔다. 형들이 일하는 동안 나는 그 옆에서 Node를 공부했다. 그동안 외롭게 개발 공부를 했던 나에게는 가장 가까이에 물어볼 수 있는 사람이 둘이나 있었고, 무엇보다 두 형과 코드 (그 코드가 아니다…) 가 잘 맞았기 때문에 더할 나위 없이 좋았다.

난 꽤 오래 Django를 썼다. 하지만 잘 쓰지는 못했다. Django에게는 Python만큼 큰 흥미를 느끼지 못하고 있었기에 열심히 하지 않았다. 초보 개발자의 눈으로 보기엔 Django는 이미 너무 거대해져서 진입장벽이 높아 보이는 프레임워크였다.

Django는 Python의 “batteries included” 철학을 그대로 차용했다. 웹 개발시 필요한 기능들은 대부분 이미 내장되어 있으므로, 사용하고자 하는 기능이 있다면 도큐먼트를 보고 Django에 내장된 라이브러리를 import해서 사용하면 된다. 돌이켜보면 이러한 Django의 편의성이 내 개발능력 발전에 벽이 된 것 같다.

많은 기능을 담았기에 문서의 양 또한 방대했고, 필요한 기능을 찾아서 써도 내 것이 되지 않았다. 당장 필요하지 않은 기능들임에도 불구하고, 모르고 있는 것이 너무 많다는 것이 부담되었다. 어떻게 구현해야 좋을지 몰라서 구글링하면, 내장 라이브러리를 import하는 것만으로도 끝났다. 열심히 직접 구현했더니 이미 내장된 라이브러리가 있는 경우도 꽤 있었다. 제공된 기능을 커스터마이징하려면 여기에 엮여있는 다른 Django의 기능들도 함께 학습해야만 했다. 스크롤의 압박이 있는 영어문서를 읽는 것이 고역이었다. 분명 문서를 보면 해답을 찾을 수 있음에도 문서는 팽개쳐둔 채 바로 보고 이해할 수 써먹을 수 있는 코드를 찾아 구글링을 계속했다.

아무튼 그렇게 Django에 대한 흥미가 떨어져 가고 있을 때, Javascript를 해보기로 했다. 선택에 대단한 이유가 있는 건 아니였다. 여기저기서 ‘올해