SW 개발자들의 대세는?...'자바스크립트'

일반입력 :2012/01/17 13:18    수정: 2012/02/01 08:24

과거 브라우저 부가기능으로 지원되던 자바스크립트가 이제 확고한 웹의 일부를 차지하게 됐다. 나아가 웹을 넘어 여러 플랫폼을 지원하는 애플리케이션(이하 '앱') 개발 기술로도 지분을 넓히면서 현재 개발자들에게 핵심 기술로 떠올랐다.

가트너 애널리스트 데이비드 미첼 스미스와 에릭 닙은 올초 '자바스크립트의 과거, 현재, 미래'라는 보고서를 통해 그 언어의 위상이 바뀌어온 배경과 전망을 제시했다.

그에 따르면 자바스크립트와 뗄 수 없는 기술 트렌드로 HTML5의 성장이 꼽혔다. 자바스크립트 기술에 특화된 전문 개발자들이 지난 2007년 300만명에서 내년까지 500만명으로 늘어날 것이라고 예고했다.

업계서 통념적인 자바스크립트 특성은 '가볍고 런타임 환경에 제공되는 API에 의존해 쓰인다'는 점이다. 자바스크립트 적용을 좌우하는 요소는 이를 지원하는 프레임워크 선택이라는 게 가트너의 분석이다. 이에 웹앱 개발자들이 비즈니스로직 상당부분을 클라이언트 환경에서 돌아가는 자바스크립트로 대체할 전망이다.

또 자바스크립트 사용 자체가 브라우저 스크립트 영역을 넘어서 서버용 앱을 위한 스크립트 도구로, 클라이언트 클라우드 아키텍처를 이루는 구성 단위로 쓰이면서 늘어날 것으로 보인다.

■현업에서 잘 쓰려면…

보고서에 따르면 향후 모든 웹개발자들은 자바스크립트를 전문기술로 삼고 핵심지식으로 쌓아야 할 필요성이 크다. IT리더들은 자바스크립트 전문지식을 갖춘 웹프로그래머들의 적격성을 검증해야 한다. 자바스크립트 언어 자체보다 객체 표기법에 기반한 데이터 전송형식 '제이슨(JSON)'이나 웹사이트 개발용 프레임워크 '제이쿼리(jQuery)'같은 기반 기술을 준비하는 게 더 중요해진다. 더불어 스크립팅과 이밖에 다른 '덜 우아하지만 충분히 좋은' 기술들을 물리치지 말고 그 쉬움과 유연함을 받아들여야 한다는 조언이다. 여기엔 아키텍트에게 모든 자바스크립트 앱을 위해 목적이 분명한 프레임워크를 선택하도록 권하라는 당부도 들었다.

가트너는 보고서에 자바스크립트는 현재 크로스브라우저 웹앱을 제공하는 최선책이며 성공적인 브라우저 스크립팅 언어로 긴 내력을 이어왔다며 HTML5 혁명에 위력을 발휘할 전망이지만 그간 서버사이드 웹앱 컴포넌트로 큰 성공을 보이진 못했다고 썼다.

이어서 노드JS(Node.js)같은 기술이 비판적인 웹개발자들에 의해 개발, 활용돼왔지만 기업 환경에 채택된 실제 사례는 없었다면서도 이밖에 다른 서버사이드 자바스크립트 구현체는 실재하며 전략적인 상황에 빈번하게 활용된다고 덧붙였다. 일례로 자바 기반 자바스크립트 런타임 환경인 '모질라 리노(Rhino)'가 자바 스탠더드 에디션(SE)의 자바 개발 키트(JDK) 6 버전에 포함돼 있다는 점을 지적했다.

이밖에 자바스크립트 활용이 증가하는 주된 이유로 뛰어난 이식성이 꼽힌다. 브라우저간 이식성뿐 아니라 클라이언트, 클라우드간 서버 환경, 그리고 근본적으로 개발자가 서버와 클라이언트 환경에 같은 언어를 쓸 수 있다는 점이 도입에 따른 큰 이득을 제공한다는 것이다.

또 자바스크립트는 향후 컴퓨팅 구조가 바뀌면서 서버 인프라 중심의 클라우드 아키텍처가 클라이언트로 분산되는 역할을 할 수도 있다는 전망이다. 브라우저로 돌아가는 웹앱을 예로 들면 서버에서 제공하는 로직을 브라우저가 수행해 실행되는 경우가 적지 않다. 그 프로그램 대부분이 자바스크립트로 짜인 것이다. 이 얘기는 데스크톱에서 돌아가는 웹브라우저 앱이 유행하는 것에 그치지 않고 CSS3와 HTML5를 포함한 웹 구성요소를 돌리는 모바일 기기에까지 해당된다.

가트너는 네이티브 앱이 향후 몇년간 모바일 기기용 프로그램을 만드는 주된 방식으로 자리잡을 것이라면서도 개발자들은 점차 현대적 웹기술이 성숙되감에 따라 브라우저 기반 앱 개발 방식으로 접근하는 경우가 늘어날 것이라고 예고했다. 이어 마이크로소프트(MS) 윈도8이 메트로 인터페이스를 쓰는 네이티브 앱을 HTML과 자바스크립트로 만들 수 있게 한 사례로 볼 수 있듯 데스크톱 환경에서는 이미 벌어지고 있는 일이라고 덧붙였다.

■국내 활용 수준은 '눈치게임'

이같은 전망이 국내도 통용될지는 미지수다. 클라이언트 영역에서 자바스크립트 활용이 증가 추세지만 서버용 앱까지 담당케하는 경향은 더딘 추세로 보인다. 현업 개발자들의 얘기에 따르면 아직까지 '서버사이드 자바스크립트' 실험적인 활용에 그친다는 설명이다. 주로 네이버, 다음, KTH 등 웹기반 서비스 개발과 운영 업무 비중이 큰 기업에서 진행되는 사례들이다.

자바스크립트에 대한 일반적인 비판가운데 하나는 뒤떨어진 프로그래밍 기술에 너무 관대하다는 것이다. 브라우저가 웹문서를 표현하기 전에 데이터를 읽어 만드는 문서객체모델(DOM)이 자바스크립트와 관련해 호환성, 성능 문제를 야기한다는 점도 지적된다. 성능과 호환성 문제는 점차 개선중이지만 가장 심각한 비판은 주로 '실제 업무에 쓰기 마땅찮아 보이는 (쉬운) 스크립팅 언어에 대한 편견'에서 기인한다는 게 가트너 분석이다.

KTH 웹애플리케이션팀 김양원 대리는 17일 국내서 서버측 자바스크립트 활용사례는 H3 개발자 컨퍼런스 웹사이트(h3.paran.com)같이 웹서버에 트래픽을 제어하기 위한 기술을 구현하는 용도로 몇 번 쓰인 정도라며 아직 엔터프라이즈 시스템에 이를 적극적으로 활용하지는 않고 관망하는 성향이 짙다고 말했다. 반면 해외서는 이미 다양한 서버시스템에 자바스크립트를 활용하는 추세라 대조적이라고 덧붙였다.

한편 자바스크립트의 발전 양상에 위협도 존재한다. 구글이 선보인 '구조적 프로그래밍 언어' 다트(Dart)가 자바스크립트 대안으로 묘사된 점이나 오라클이 HTML5에 서버용 자바 기술을 가져오려는 '프로젝트 아바타'가 그에 포함된다.

관련기사

다만 구글은 웹프로그래밍에 자바스크립트보다 나은 효율을 제공하기 위해 다트를 선보였는데, MS가 비주얼베이직 스크립트로 비슷한 접근을 시도했던 점에 비춰 보면 인기를 얻기 어려울 전망이다.

그리고 프로젝트 아바타는 브라우저용 리치 인터넷 애플리케이션(RIA) 기술 '자바FX'에 서버 환경에서 널리 쓰이는 자바의 인기를 불어넣으려는 시도는 웹 초창기의 신선함을 통해 일부 성과를 보였지만 최근 몇년간 자바스크립트에 비해 쇠락한 모습으로 비친다고 가트너는 평했다.