IO.js, '원조' 노드JS보다 먼저 1.0 버전 공개

일반입력 :2015/01/15 14:49

자바스크립트 언어로 서버용 애플리케이션을 개발할 수 있게 해주는 프레임워크 '노드JS(Node.js)'에서 파생된 기술 'IO.js' 1.0 버전이 공개됐다. 뿌리를 둔 노드JS보다 먼저 1.0 버전이 나온 셈이다. 노드JS의 경우 현재 0.12 버전 공개를 앞두고 있다.

14일(현지시각) 외신들은 IO.js가 안정성은 떨어지지만 온전한 기능을 탑재했다는 것을 뜻하는 의미에서 1.0 버전으로 나왔다고 보도했다.

외신들에 따르면 IO.js는 앞으로 원판인 노드JS와는 다른 방향으로 진화할 것으로 보인다. 노드JS는 실시간성을 요하는 규모 가변적 네트워크 애플리케이션을 빠르게 구축할 수 있다. 프론트엔드 개발자들로 하여금 익숙한 자바스크립트로 백엔드 애플리케이션까지 만들 수 있다는 점에서 유명세를 얻었다.

IO.js 역시 노드JS처럼 웹 프로그래밍 언어 자바스크립트를 갖고 서버단 프로그래밍에 활용케 해주는 오픈소스 기술이다.

기술적으로 성격이 비슷해 보이는데, 왜 따로 떨어져 나왔을까? 노드JS와 IO.jS간 근본적인 차이는 프로젝트 운영방식이다. IO.js는 '오픈 거버넌스 모델'이라 표현하는 의사결정 방식이 적용된다. 기술을 주도하는 특정 업체에 종속된 방식이 아니라 커뮤니티가 합의를 통해서 프로젝트를 이끄는 방식이다.반면 노드JS 개발은 '조이엔트(Joyent)'라는 전문업체 소속 전문가들이 주도해 왔다. 노드JS 프로젝트 운영권한을 갖고 있는 '프로젝트 리더' 계보를 보면 창시자인 라이언 달이 1대, 그가 2012년 지명한 후임 아이작 슐레터가 2대, 지난해 슐레터의 자리를 이어받은 티모시 J. 퐁텐이 3대를 맡고 있다.

그런데 지명도가 높지 않았던 퐁텐이 3대 프로젝트 리더를 맡은 이후 노드JS 프로젝트의 지속성에 대한 의구심이 제기됐다. 공개 예정이었던 노드JS 0.12 버전 배포가 늦어지고 있는 점, 추가 컨트리뷰터가 부족한 점 등 커뮤니티 활동 관련 문제가 원활하게 수습되지 않았다는 후문이다. (☞관련기사)

지난해 노드JS 커뮤니티 안에서 제기된 의문을 해소한다는 취지로 조이엔트가 여러 노드JS 사용업체 개발자가 참여하는 기술위원회 '노드 어드바이저리 보드'를 꾸렸다. 하지만 이를 통한 개선이 이뤄지기까지 잠자코 기다릴 수 없었던 참여자들은 운영방향을 더 개방적으로 협의할 수 있는 별도 프로젝트를 만들게 된다. 이게 이번에 1.0 버전으로 나온 IO.js다.

더레지스터는 배포중인 IO.js 1.0.1 버전이 노드JS 패키지(npm) 11만개와 호환되고, 노드JS 최신판인 0.11.14 프리뷰에 없는 기능도 갖췄다고 전했다. 다만 IO.js가 노드JS보다 먼저 정식판에 해당하는 1.0 버전으로 나왔다고 해서 이를 현업용(production-ready)으로 부르긴 이르다고 지적했다. (☞링크)

리드라이트 역시 IO.js 1.0 버전은 일반 사용자보다 개발자들에게 더 알맞다고 묘사했다. 디버깅에 특화된 함수 '어싱크랩(asyncwrap)' 등 독특한 기능을 품고 있어서다. 그리고 노드JS보다 발전된 상태지만 여전히 실제 현업 시스템에 적용할 수 있을만큼 안정적이진 않다는 평가다. (☞링크)

기존 노드JS 프로젝트에 참여했던 주요 개발자들도 IO.js에 참여하고 있다. 특히 프로젝트 참여자 미켈 로저스는 지난달 노드JS 프로젝트에서 벌어진 일을 다룬 IT매체 인포월드와의 인터뷰에서 IO.js 프로젝트 독립을 시작한 인물로 페도르 인더트니를 언급했다. (☞링크)

노드JS 프로젝트 2대 리더 아이작 슐레터, 노드JS 코드팀 멤버인 페도르 인더트니와 트레버 노리스, 전 핵심 컨트리뷰터 벤 누드휴이스와 메인테이너 버트 벨더 등 기존 노드JS 핵심 참여자들이 IO.js 프로젝트 멤버로도 이름을 올렸다.

이 때문에 기존 노드JS 사용 기업들은 두 프로젝트의 향방에 주목할 수밖에 없는 상황이다.

지난 2013년 세계 최대 온라인결제 서비스업체 페이팔이 자바 기반의 웹애플리케이션 환경을 자바스크립트와 노드JS로 교체했다는 소식이 업계에서 많은 관심을 불러일으켰다. 페이팔은 계정 분야에 노드JS를 도입해 코드라인 규모를 자바 기반일 때보다 3분의 1로 줄이고 35% 빨라진 응답속도를 얻었다고 밝혔다. (☞관련기사)

페이팔뿐아니라 월마트, 마이크로소프트, 야후 등에서도 노드JS를 사용 중인 것으로 알려졌다. 3년 전만 해도 현업 시스템에서는 노드JS를 쓰기 어렵다는 평가가 많았지만, 이런 인식은 사라지고 있다는 게 조이엔트 측의 판단이다.

향후 노드JS와 IO.js간 관계가 어떻게 설정되느냐에 따라 프로젝트 확산과 기술 생태계의 향방은 달라질 수 있다. IO.js의 핵심 참여자는 아니지만, 초기 개발에 관여해 온 인물로 평가되는 맥스 오그던은 기트허브에 IO.js 관련 정보를 정리하며 두 프로젝트의 관계를 '공존'으로 묘사했다. (☞링크)

관련기사

맥스 오그던의 설명을 일부 옮기면 이렇다.

IO.js는 (아직 공개되지 않은 차세대 안정판) 노드 0.12 버전에서 갈라진 것이다. IO.js는 노드JS와 완전히 호환될 것이다. 프로젝트 운영 철학이 다른 노드JS 핵심 참여자들이 IO.js를 만들었다. 많은 핵심 참여자들이 노드JS와 IO.js 양쪽의 유지를 도와줄 것이다. 제로섬 게임이 아니다. IO.js는 노드JS와 적대 관계가 아니다.