“노드JS 실무 적용 사례, 알려드립니다”

가 +
가 -

노드JS는 최근 가장 주목을 받고 있는 플랫폼이다. 프론트엔드 기술에 머물러 있던 자바스크립트를 서버단에서 쓸 수 있는 기반을 만들었고, 비동기 이벤트 기반 아키텍처 등을 이용해 서버의 많은 요청을 빠르게 처리할 수 있는 게 특징이다. 하지만 국내에선 아직 노드JS를 실무에 도입한 사례나 이에 대한 정보를 공유하는 장을 찾기 힘든 상황이다. 이런 가운데 국내 개발자들이 모여 노드JS의 현주소와 실무적용 사례를 짚어보는 컨퍼런스를 만들었다. 11월 개최되는 ‘플레이노드’ 컨퍼런스다.

playnode_01

▲플레이노드 컨퍼런스 홈페이지

2015년, 노드JS 기술과 커뮤니티에 부는 새 바람

최근 노드JS 커뮤니티에는 변화의 바람이 불고 있다. 원래 노드JS는 오픈소스 기술지만 조이엔트라는 기업이 관리했다. 그러던 중 올해 초 비교적 기업에서 자유로운 ‘노드JS 재단’이 출범했고, 커뮤니티의 요구가 다양하게 수용되고 있다. 올해 9월에는 노드JS 재단 이사회가 설립됐고, 10월에는 레드햇이 노드JS 재단의 주요 회원사로 참여한다는 발표가 있었다. 노드JS 커뮤니티를 이끌던 개발자 미키엘 로저스는 리눅스재단에 고용돼 노드JS 개발 및 커뮤니티 지원에 힘을 쏟고 있다.

playnode_03

▲2015년2월 노드JS 출범 소식이 발표되고, 하반기부터 노드JS재단의 구체적인 작업물이 공개되고 있다(사진 : 조이엔트 블로그)

올해 9월에는 약 1년 만에 공개된 새 버전인 노드JS 4.0이 출시됐다. 2014년 노드JS 커뮤니티 내 핵심 개발자들이 조이엔트와의 갈등을 극복하지 못하고 io.js라는 쌍둥이 기술을 내놓기도 했는데, 현재 노드JS 4.0버전에 이 io.js기술이 통합됐다.

플레이노드 조직위원회 중 한 명인 변정훈 개발자는 “노드JS 4.0 이후 버전은 io.js와 합쳐지면서 최신 V8이 도입돼 ES6의 기능을 더 많이 쓸 수 있다”라며 “노드JS 재단 설립 이후, 노드JS 기술이 체계적으로 관리되기 시작됐다”라고 설명했다.

“노드JS 재단에는 IBM, 인텔, 마이크로소프트, 레드햇 등의 회사가 참여하고 있습니다. 이러한 기업들은 노드JS를 엔터프라이즈 환경에 도입할 수 있게 본격적인 준비를 갖추는 것으로 보입니다. 또한 4.2.0버전부터 장기간 유지보수를 지원하는 ‘LTS(Long Term Support)’를 도입했습니다. LTS는 30개월 정도의 유지보수를 지원하는데요. 그 덕에 엔터프라이즈 환경에서 노드JS의 변경사항을 보다 쉽게 예측할 수 있게 됐습니다. 리눅스, OS X, 윈도우, ARM 프로세서 등 다양한 테스트 환경이 구축돼 훨씬 안정적으로 노드JS 기술을 배포할 수 있는 상태입니다.”

playnode_04

▲노드JS LTS 계획(사진 : 노드JS 깃허브 페이지)

노드JS가 기업이 아닌 커뮤니티 주도로 개발되면서 전세계 커뮤니티에 대한 지원도 확대되고 있다. 현재 깃허브 노드JS 계정에는 한국어 커뮤니티 페이지가 생겼으며, 터미널에서 노드JS를 따라하면서 배울 수 있는 워크샵 프로그램 ‘노드스쿨‘도 한국어로 번역됐다.

playnode_05

▲노드JS 한국어 커뮤니티

플레이노드 컨퍼런스 운영진들이 꼽는 노드JS의 장·단점

이번 플레이노드는 2012년에 이어 2번째로 열린 컨퍼런스다. 2012년에 컨퍼런스를 이끌었던 개발자들을 중심으로 올해 플레이노드 컨퍼런스가 열렸다. 플레이노드 컨퍼런스를 준비하고 있는 개발자들은 전부 자원봉사 형태로 시간을 투자하고 있다. 플레이노드 운영팀은 “국내에는 노드JS에 관한 좋은 활용 사례나 아키텍처 등이 알려지지 않았다”라며 “노드JS 경험이나 지식을 공유하는 자리를 만들고 싶어 이번 모임을 주최했다”라고 설명했다. 2012년도에는 주로 노드JS를 소개하는 자리였다면, 올해에는 실무 사례 및 개발 노하우 공유, 개발자 소통 등을 목적으로 준비되고 있다.

플레이노드를 주최하는 개발자들 상당수가 이미 노드JS를 실무에서 사용하거나 연구하고 있다. 행사 주최자들은 노드JS의 장·단점을 무엇으로 꼽고 있을까.

김경열 플레이노드 주최자는 “원래 안드로이드 개발자였는데 2012년도 회사에서 간단한 테스트 서버를 만들다가 노드JS를 알게 됐다”라며 “다양한 형태의 애플리케이션을 만들 수 있는 점이 좋다”라고 장점을 꼽았다.

더 읽어보세요!

“노드JS는 기존 목적이었던 서버 개발은 물론이고 프론트엔드 개발에도 많이 활용됩니다. 노드JS와 웹킷을 결합한 ‘일렉트론’, ‘노드웹킷’같은 기술을 활용하면 데스크톱 애플리케이션도 개발할 수 있습니다.”

또 다른 주최자인 김호연 개발자는 “웹에서 비동기 프로그래밍을 할 때 진입 장벽을 낮출 수 있어 좋았다”라며 “다른 분야에서는 비동기 프로그래밍이 익숙하지만, 웹 분야에서는 한 동안 비동기 프로그래밍을 쓰는 경우가 드물었기 때문”이라고 설명했다.

노드JS 관련 책도 저술한 변정훈 개발자는 “자바스크립트를 그대로 쓸 수 있다는 점과 비교적 빠르게 애플리케이션을 만들면서 성능을 높일 수 있다는 점이 좋다”라며 “요즘은 네트워크 프로그래밍 외에 간단한 스크립트나 도구 등에도 노드JS가 많이 사용되고 있다”라고 설명했다.

“대신 경험이 많지 않다면 코드가 지저분해질 수 있습니다. 또 네트워크 통신이 많은 서버작업을 할 때는요. ‘비동기’나 ‘싱글쓰레드’라는 개념에 익숙해지는 데 시간이 꽤 걸립니다. 노드JS의 역사가 짧다보니 관련 예제나 모듈의 완성도 등이 타 언어에 비해서는 조금 부족합니다.”

NPM 소속 개발자가 플레이노드 연사로 참여해

플레이노드는 11월12일, 신대방에 위치한 전문건설회관에서 진행된다. 참가 비용은 4만원이다. 현재 온오프믹스를 통해 접수를 받고 있다. 행사는 500여명 규모로 진행될 예정이며, 스타트업부터 대기업에 소속된 개발자들이 발표를 맡는다. 노드JS 패키지 기술을 만들고 있는 NPM 소속 개발자 캣 말챈(Kat Marchán)이 이번 행사 연사로 참여하기도 한다. 플레이노드 조직위원회는 “기업후원사는 행사 전까지 계속 찾을 예정”이라며 “통역을 할 수 있는 자원봉사자도 찾고 있다”라고 설명했다.

playnode_07-RE

▲11월12일 열릴 플레이노드 컨퍼런스 발표 주제. 총 9개의 세션으로 구성된다.

“플레이노드 행사를 통해 다른 분들이 개발한 내용과 사례 생각 등을 공유하면서 영감을 얻어 갔으면 좋겠습니다. 어떤 회사들이 주로 노드JS 기술을 사용하고, 어떻게 활용하고 있는지 경험을 들으셔도 좋을 것 같고요. 서로 관심이 같은 개발자들끼리 모여 소통하는 시간이자 축제같은 행사가 될 수 있도록 준비하겠습니다.”

네티즌의견(총 0개)