웹어셈블리(WebAssembly)가 제공하는 새로운 도구들

채동기·2023년 6월 14일
0

Rust

목록 보기
4/5

WebAssembly는 개발자들이 다른 언어로부터 새롭고 성능이 우수한 기능을 웹에 가져올 수 있게 해줍니다. 지난 몇 년 동안 개발자들은 이러한 가능성을 최대한 활용해 왔습니다. 이 글에서는 WebAssembly의 일부 빛나는 새로운 도구들을 소개하고 있습니다.

지금 사용할 수 있는 도구와 라이브러리들입니다.
자 그럼 이제 본론으로 넘어가겠습니다. :D

SQLite

SQLite의 완전한 포팅 버전은 가벼운 내장형 관계형 데이터베이스 관리 시스템을 여러분의 손안에 제공합니다. 이 놀라운 포팅 버전과 사용 방법에 대한 블로그 글을 읽어보세요.

FFmpeg.wasm

FFmpeg는 비디오, 오디오 및 다른 멀티미디어 파일 및 스트림을 처리하기 위한 라이브러리와 프로그램으로 이루어진 자유 오픈 소스 소프트웨어 프로젝트입니다. 웹 브라우저에서 이 모든 기능을 직접 사용할 수 있는 wasm 컴파일 버전을 여기에서 찾을 수 있습니다(github 저장소).

Universal Scene Description (USD)

Universal Scene Description (USD)는 3D 컴퓨터 그래픽 데이터를 위한 프레임워크로, 협업, 비파괴 편집, 그리고 다양한 그래픽 데이터에 대한 여러 관점과 의견을 지원합니다. 이것은 Pixar, Autodesk, Nvidia 등과 같은 기업들이 지원하는 산업 표준입니다. 웹 지원에는 아직 초기 단계이지만, Autodesk는 이미 [웹 기반 USD 뷰어](Autodesk already open sourced a web based USD viewer)를 오픈 소스로 공개했습니다. 이곳에서 확인할 수 있습니다.

CanvasKit

CanvasKit은 Chrome과 Android의 렌더링 엔진인 Skia를 직접 WebAssembly로 컴파일한 것입니다. CanvasKit을 사용하면 Skia 렌더링 엔진의 거의 모든 기능을 간단한 JavaScript API로 사용할 수 있습니다. 복잡한 렌더링, 텍스트 형태 지정, 애니메이션, 잉크 그리기 등 다양한 기능을 사용할 수 있습니다. npm 패키지빠른 시작 가이드를 확인해보세요.

TensorFlow.js

TensorFlow.js는 간단한 JavaScript API를 통해 TensorFlow의 강력한 기능을 웹 브라우저에서 직접 사용할 수 있게 합니다. 내부적으로는 GPU와 CPU 모두에서 모델을 최적화하여 성능을 극대화합니다. 시작 가이드를 참조하거나 몇 가지 데모를 직접 확인할 수 있습니다.

OpenCV

OpenCV는 주로 실시간 컴퓨터 비전을 위한 프로그래밍 함수들로 이루어진 산업 표준입니다. 여기에는 사용하기 쉬운 npm 패키지가 있으며, Emscripten 사용자를 위해 완전한 빌드를 위한 자세한 설명도 제공됩니다. SIMD와 스레드가 이러한 작업 부하의 성능을 향상시키는 방법에 대한 내용은 Modern WebAssembly Chrome Dev Summit 토크의 이 부분을 참조하실 수 있습니다.

Cocos

Cocos는 개발자들이 크로스 플랫폼 지원을 포함한 게임을 개발할 수 있는 강력하고 인기있는 게임 엔진입니다. 이제 웹을 포함하여 다양한 플랫폼으로 게임을 내보낼 수 있습니다. Cocos 에디터로 들어가서 이 지침을 따라 시작해보세요.

결론

이러한 구체적인 예시들 외에도, WebAssembly의 잠재력이 새로운 웹 기능의 속도를 변경할 수 있는 점에 대해 많은 기대감이 있습니다. Chrome은 모든 개발자들에게 제공되는 웹 기능을 진전시키기 위해 개발자들이 자신의 작업을 후원할 수 있는 Advanced Web Apps Fund를 설정했습니다!

참조

https://web.dev/wasm-libraries/

profile
what doesn't kill you makes you stronger

0개의 댓글