node.js 개발하면서 느끼게 되는점

노드 너 참 어렵다~

Posted by 최일규 on 2017. 12. 05

노드 너 참 어렵다~

저는 Node.js (이하 노드)를 처음으로 접하게 된 계기는 socket.io를 사용하기 위함이었습니다.

(socket.io는 html5 웹표준인 웹소켓을 사용하기 위해 지원하지 않는 브라우저 호환성을 알아서 맞춰주는 역활을 합니다.)

 

socket.io를 사용하면서 자연스럽게 노드를 접하게 되었는데요.

처음 느낀점은 콜백개념이 "어렵다" 입니다.

그리고 기본을 비동기로 함으로 빠르다는 장점보다, "가독성이 떨어진다." 는 문제도 있더군요.

또한 비동기를 바탕으로 하다보니 오히려 동기식 코드 작성에 어려움이 생길때가 많습니다.

그리고 자바스크립트 언어의 어렵게만 느껴지는 프로토타입 개념부터  최근들어 ES5 -> ES6 -> ES7등 언어의 특성이 계속 변화하고 있다는 점입니다. 

 

새로운 직장에서 노드 프로젝트를 1년간 진행하게 되면서, 노드 개발환경 부터 서버환경을 이해하게 되었고 이제는 단점보다 장점을 더 많이 알아가게 되는것 같습니다

현재는 ES6이 프라미스와 ES7에서 지원하는 async/await 문법이 추가되면서 콜백헬과 같은 문법이 최소화 되면서 자연스럽게 가독성도 좋아지고 어렵게만 느껴지던 문법들도 대거 변경되면서

자연스럽게 노드가 나의 주력 언어로 자리매김하게 되었습니다.

 

현재는 콜백 또는 async라이브러리를 활용한 로직을 async/await 문법으로 교체되고 있으며, 구조적 불편함을 대폭 개선한 혁명적인 사건으로 받아드리고 있습니다.

많은 라이브러리가 npm에 등록되어있고, 원하는 기능은 모듈형태로 제공하다 보니, 생산성이 빠르고 개발이 쉬워집니다.

 

추후 노드에 대한 좋은 기능들을 소개할 시간을 마련해 보겠습니다.

이글을 읽는 분께서도 노드를 알아가면서 공부하다보면 더 많은 장점이 보일거라 생각됩니다.