WebAssembly를 통해 웹에서 사용할 수 있는 도구를 소개합니다.
WebAssembly를 사용하면 개발자가 다른 언어에서 웹으로 성능이 우수한 새로운 기능을 가져올 수 있습니다. 지난 몇 년 동안 개발자들은 이러한 가능성을 충분히 활용해 왔습니다. 이 게시물에서는 WebAssembly 덕분에 활용할 수 있는 몇 가지 새로운 도구를 소개합니다.
지금 사용할 수 있는 도구 및 라이브러리
더 이상 지체하지 말고 좋은 소식을 전해드리겠습니다. :D
SQLite
이 SQLite의 완전한 포트를 사용하면 가볍고 삽입된 관계형 데이터베이스 관리 시스템을 사용할 수 있습니다. 자세한 내용은 이 놀라운 포트와 사용 방법을 보여주는 블로그 게시물을 참고하세요.
FFmpeg.wasm
FFmpeg는 동영상, 오디오, 기타 멀티미디어 파일 및 스트림을 처리하기 위한 라이브러리 및 프로그램 모음으로 구성된 무료 오픈소스 소프트웨어 프로젝트입니다. 브라우저에서 이러한 모든 기능을 직접 실행할 수 있는 여기의 wasm 컴파일 버전 (github 저장소)을 확인할 수 있습니다.
유니버설 장면 설명 (USD)
Universal Scene Description (USD)은 공동작업, 비파괴적 편집, 그래픽 데이터에 관한 다양한 뷰와 의견을 지원하는 데 중점을 둔 3D 컴퓨터 그래픽 데이터용 프레임워크입니다. Pixar, Autodesk, Nvidia 등에서 지원하는 업계 표준입니다. 웹 지원은 아직 초기 단계이지만 Autodesk는 이미 웹 기반 USD 뷰어를 오픈소스로 제공하고 있으며 여기에서 확인할 수 있습니다.
CanvasKit
CanvasKit은 Chrome 및 Android의 렌더링 엔진인 Skia로, WebAssembly로 직접 컴파일됩니다. 이를 통해 간단한 JavaScript API로 Skia 렌더링 엔진의 거의 모든 기능을 사용할 수 있습니다. 이 기능에는 복잡한 렌더링, 텍스트 셰이프, 애니메이션, 잉크 처리 등이 포함됩니다. npm 패키지 및 빠른 시작 가이드를 확인하세요.
TensorFlow.js
TensorFlow.js는 간단한 JavaScript API를 사용하여 TensorFlow의 강력한 기능을 브라우저에 직접 제공합니다. 내부적으로 GPU와 CPU 전반에서 모델을 최적화하여 (SIMD 최적화 포함) 성능을 극대화합니다. 시작 가이드를 확인하거나 데모를 직접 살펴보세요.
OpenCV
OpenCV는 주로 실시간 컴퓨터 비전을 위한 프로그래밍 함수의 업계 표준입니다. 여기에서 사용하기 쉬운 npm 패키지를 확인할 수 있으며 Emscripten 사용자를 위한 전체 빌드 수행에 관한 자세한 안내도 있습니다. SIMD와 스레드가 이러한 워크로드의 성능을 개선하는 방법을 알아보려면 Modern WebAssembly Chrome Dev Summit 강연의 이 섹션을 시청하세요.
코코스
Cocos는 개발자가 크로스 플랫폼 지원을 통해 게임을 빌드할 수 있는 강력하고 인기 있는 게임 엔진으로, 이제 웹도 지원합니다. wasm을 통해 웹 내보내기를 지원하는 게임 엔진의 긴 목록에 합류합니다. 시작하려면 Cocos 편집기로 이동하여 이 안내를 따르세요.
결론
이러한 구체적인 예 외에도 WebAssembly가 새로운 웹 기능의 속도를 바꿀 수 있는 잠재력은 기대할 만한 요소가 많습니다. Chrome에서는 개발자가 모든 개발자에게 제공되는 웹 기능을 개선하기 위해 개발 활동에 자금을 지원할 수 있는 고급 웹 앱 펀드를 설립했습니다.