마지막으로, 자바스크립트 생태계는 흥미로운 방식으로 끊임없이 진화하고 있습니다. 웹 브라우저와 Node.js 백엔드 환경 같은 전통적인 영역에서 데스크톱 애플리케이션(예를 들면 일렉트론(Electron))과 네이티브 모바일 애플리케이션(예를 들면 리액트 네이티브(React Native)와 아이오닉(Ionic)) 같은 새로운 영역으로 확장하고 있습니다. 플랫폼에 특화된 수많은 애플리케이션 구축 도구보다 이런 프레임워크로 UI와 애플리케이션을 만드는 것이 더 쉽습니다. 자바스크립트는 딥러닝의 강력한 성능을 모든 주요 플랫폼에 제공할 수 있는 언어입니다. 표 1-2에 자바스크립트와 딥러닝을 합쳤을 때의 주요 장점을 요약했습니다.
▼ 표 1-2 자바스크립트로 딥러닝을 수행했을 때의 주요 장점
고려 사항 |
예시 |
클라이언트 측면 |
• 데이터가 로컬에 있기 때문에 추론과 훈련 속도가 빠릅니다. • 오프라인일 때 모델을 실행할 수 있습니다. • 개인 정보 보호(데이터가 브라우저를 떠나지 않습니다.) • 서버 비용 절감 • 단순한 배포 스택 |
웹 브라우저 측면 |
• 추론과 훈련에 필요한 다양한 유형의 데이터 사용(HTML5 비디오, 오디오 및 센서 API) • 설치가 필요 없는 사용자 경험 • 설치가 필요 없고 다양한 GPU에서 사용할 수 있는 WebGL API를 통한 병렬 컴퓨팅 • 크로스 플랫폼(cross-platform) 지원 • 시각화와 상호 작용을 위한 이상적인 환경 • 태생적으로 상호 연결된 환경이므로 다양한 머신 러닝 데이터와 자원에 바로 접근할 수 있습니다. |
자바스크립트 측면 |
• 자바스크립트는 여러 면에서 가장 인기 있는 오픈 소스 프로그래밍 언어이므로 뛰어난 자바스크립트 프로그래머와 열정적인 지지자가 많습니다. • 자바스크립트는 클라이언트와 서버 측 모두에서 활기찬 생태계와 다양한 애플리케이션을 가지고 있습니다. • Node.js를 사용하면 브라우저의 자원 제약으로부터 벗어나 서버 측에서 애플리케이션을 실행할 수 있습니다. • V8 엔진이 자바스크립트 코드를 빠르게 실행합니다. |