pwa (rust wasm) 에 집착하는 이유
구글 플레이 개발자 계정이 관리소홀로 짤렸음(이미 5년 이상됨)
실행파일을 배포하는 것도 웹브라우저에서 다운로드시 겹겹히 막혀있음(보통사람들에게는 접근이 어려움)
그래서 크롬 익스텐션과 PWA쪽으로 쏠릴 수 밖에 없는데
크롬 익스텐션도 구글 플레이보다는 훨씬 널널한 정책이긴 하나 어쨋든 구글,MS의 통제하에 있고
가장 좋은 것은 자유! PWA 인데 (로컬 컴퓨터에서 회원가입/로그인 따위는 없고 오직 단일 사용자만 쓰는 것)
js엔진(babylon.js three.js 등)들은 확실히 성능에 한계가 있음
C#(유니티), GO 로도 wasm을 만들어봤지만 이것들도 js보다 조금(몇배) 나은 정도일뿐 한계가 있음
내가 원하는건 원도우/linux에서 네이티브 앱 수준의 PWA를 만드는 것인데
물론 윈도우에서 OS의 자원을 직접 다루는 수준은 chromium v8 가상환경에서는 근본적으로는 불가능한것은 맞는데
simd, webgpu(gpgpu), postcard/bytemuck, cloudflared tunnel/wss, opfs/sqlite, redb, tokio async 등의 발전으로
웹프론트단에서 초고속 연산과 네트워크 패킷을 극단적으로 줄일 수 있는 것
zerocopy, zeroserialization 으로 백엔드에서 프론트의 메모리(연산,그래픽)에 직접 데이터를 꽂아버리는 것
opfs를 통해서 os의 파일은 아니지만 그래도 영구적인 파일시스템에 접근해서 마음대로 db를 구성하고 파일관리 한다는 점
이 정도의 자원이면 사실상 하드웨어를 다루는 것이 아닌 비즈니스웨어를 다루는 차원에서는 이미 충분하지 않을까 싶은데 어떻게 생각하시는지?
물론 wasm32는 4gb 램 사용에 제한이 있습니다만 이걸 opfs/sqlite(os 디스크의 50%까지 허용) 와 연동해서 조절은 할 수 있습니다. 그리고 wasm64가 지금 조금씩 발전중이네요
이 모든 것이 chromium v8이라는 가상환경에서 돌아가기 때문에 chromium의 안정성에 달려있는 것이겠지만요