Offcanvas

개발자 / 애플리케이션

자바스크립트vs자바··· 진정한 'WORA' 승자는?

2021.03.23 Paul Krill   |  InfoWorld
자바스크립트가 ‘한 번만 작성하면, 어디서든 실행된다’(Write Once, Run Anywhere, WORA)라는 슬로건을 지닌 자바를 밀어낼 수 있을지에 대한 논쟁이 격렬하다. 

자바스크립트가 자바를 제치고 새로운 ‘WORA’ (Write Once, Run Anywhere) 프로그래밍 언어로 등극했다고 말할 수 있을까? 관점에 따라 대답이 달라진다. 그리고 웹 어셈블리와 같은 기술이 등장함에 따라 자바가 다시 약진할 가능성도 배제할 수 없다. ‘한 번만 작성하면, 어디서나 컴파일한다’(Write Once, Compile Anywhere)라는 새로운 패러다임을 내세울 수도 있는 것이다. 
 
ⓒGetty Images Bank

자바는 JVM이 작동하는 모든 곳에서 실행되어 모바일 및 임베디드 장치를 포함한 여러 운영체제와 하드웨어 플랫폼에 앞으로도 이식성을 제공하게 될 것이다. 하지만 브라우저 내 애플리케이션에서 중추적 역할을 하는 자바스크립트는 이제 일렉트론 프레임워크 같은 기술로 개발된 데스크톱 애플리케이션, 리액트 네이티브 같은 프레임워크로 개발된 모바일 애플리케이션, 노드.js데노로 개발된 웹 백엔드에도 적합하다고 뉴트럴리노 자바스크립트/타입스크립트 프레임워크 작성자인 샬리타 수랑가가 언급했다. 

심지어 자바스크립트는 노드MCU 같은 툴을 이용해 사물인터넷과 로봇공학 기술을 개발하는 데도 적합하다. 디지털 제품 개발사 99x의 소프트웨어 엔지니어이겸 아파치 프로젝트 관리 위원회 위원인 수랑가는 “요즘은 자바를 이용해 할 수 있는 작업을 자바스크립트를 통해서도 할 수 있다”라고 말했다. 그는 최근 미디엄 게시글을 통해 자바가 아니라 자바스크립트가 오늘날의 WORA 언어라고 주장했다. 

자바스크립트 : 웹 브라우저에서 서버 그리고 디바이스로
수랑가는 게시글에서 자바스크립트가 불멸의 기술이며 자바는 점차 쇠락하는 중이라고 있다고 단언했다. 단, 프로그래밍 언어 측면에서 자바스크립트가 자바를 소멸시키는 중이라고는 표현하지 않았다. 그는 대신 데스크톱 애플리케이션, 웹 서버, 웹 클라이언트, 모바일 애플리케이션, 스마트 TV 애플리케이션 등 자바가 빛나는 역할을 했던 모든 곳에서 이제 자바스크립트가 그 역할을 더 잘해내고 있다고 강변했다.

특히 자바스크립트는 자바 애플릿이 거점을 확보하지 못했던 웹 브라우저도 장악하고 있다. 심지어 안드로이드 모바일 앱에서도 자바는 아이오닉, 리액트 네이티브, 네이티브스크립트와 같은 크로스 플랫폼 자바스크립트 프레임워크에 자리를 내주고 있다.

그러나 자바 표준 에디션 개발을 총괄하는 오라클에서는 자바스크립트에 대한 선호로 인해 자바의 쇠퇴가 점쳐진다는 의견에 회의적이다. 오라클의 자바 플랫폼 그룹에서 개발자 관계 담당 부사장을 맡은 채드 아리무라는 "자바가 한물갔다는 소식을 15년간 들어왔지만 여전히 매우 중요한 플랫폼으로서 남아있다"라고 말했다. 오라클은 3월 16일 표준 자바의 최신 버전인 자바 16을 발표했다.

오라클과 별개로 자바 런타임을 공급하는 기업은 아줄 또한 JVM의 WORA 이점뿐 아니라 JVM이 제공하는 확장성(특히 서버 측면)을 강조했다. 아줄의 CTO인 사이먼 리터는 "맞다. 자바스크립트는 브라우저 내에 있고 실행을 원하는 모든 플랫폼에서 실행 가능하기 때문에 완전한 크로스 플랫폼인 것은 사실이다"라며 "자바는 서버의 성능면에서 여전히 큰 이점을 갖고 있다고 생각한다"라고 말했다. 

웹 어셈블리 : 자바에 새 생명을? 
웹 어셈블리와 스프링 네이티브 같은 기술은 WORA 개념을 살짝 비틀었다. 다양한 프로그래밍 언어가 휴대용 혹은 네이티브.exe 파일로 컴파일되도록 허용함으로써, 언어를 런타임 플랫폼으로부터 근본적으로 분리한다. (덕분에) 개발자는 JVM 없이도 자바를 사용할 수 있다. 

웹 어셈블리 바이너리 명령 형식은 브라우저 내 프로그래밍의 메커니즘 역할을 한다. 여기서 웹 어셈블리는 다른 언어들을 웹에서 실행하기 위한 컴파일 타깃이다. 개발 단계의 J웹 어셈블리 컴파일러 프로젝트는 웹 어셈블리를 통해 브라우저에서 자바를 실행하는 것이 목표다. 또한 웹 어셈블리는 서버에도 배포될 수 있다. 와즈머(Wasmer) 런타임을 통해서다. 이 밖에 웹 어셈블리를 이용하면 자바스크립트로 실행할 수 있는 것을 자바로도 실행할 수 있다. 

그럼에도 불구하고, 수랑가는 여전히 자바스크립트의 사용 편의성과 동적인 특징에 주목한다. 웹 어셈블리를 통해 자바스크립트 없이도 자바로 웹 개발을 할 수 있다는 주장이 제기될 수도 있지만, 개발자들은 여전히 자바스크립트를 탐구하게 될 것이라고 수랑가는 주장했다. 

한편, 스프링 네이티브는 자바 프로그래밍으로 독립형 exe 파일, 즉 JVM을 빌드할 수 있도록 해준다. 스프링 자바(및 코틀린) 애플리케이션은 네이티브 이미지로 컴파일된다. GraalVM 다중 언어 런타임은 스프링 네이티브와 함께 사용되며 이제 막 베타 릴리스 단계를 밟고 있다. ciokr@idg.co.kr
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: ITWorld 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 편집인 : 박재곤 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.