"고민하기"
글을 작성하는 시점이 거의 개발을 다시 시작한지 2주차이니 11월 3주차? 4주차쯤 시작한것 같다.
목표는 러스트로 Web Node React Native 환경에 라이브러리를 제공 하는 것이다.
아마 이걸 다 구현한 레포지토리를 찾아서 레퍼런스를 통해 개발하기보다는 내가 직접 개발하고 부딪히는게 더 빠를 것이란 생각이 들었다.
적절한 레퍼런스와 보편적인 가이드라인이 없으니 내가 하고 싶은것만 싹 다 고르면 될 것 같았다.
napi-rs 대안이 없다 Neon도 있지만 이젠 비 주류인것 같고..
napi-rs - 러스트로 Node.js 네이티브 모듈을 만들 수 있게 해주는 프레임워크. 러스트 코드를 Node.js에서 직접 사용할 수 있게 해준다.
나온지 얼마 안됐고 정식 버전도 안나왔지만 대안이 없다.
아니 Craby를 보고 이런 멀티 플랫폼 라이브러리 개발을 생각했다.
Craby - React Native에서 러스트 코드를 사용할 수 있게 해주는 라이브러리. 모바일 앱에서 러스트의 코드로 개발할 수 있다.
사실 러스트로 한다고 하면 wasm-pack 또는 wasm-bindgen 인데
NAPI-RS에서 WebAssembly 빌드를 지원하고 있는걸 알았다.
문서를 보면 안정적인것 같진 않지만,
뭐 애당초 이 프로젝트가 Experimental에 가깝다.
실험적 프로젝트인데 왜 그런걸 고려하겠는가?
WebAssembly - 웹 브라우저에서 네이티브에 가까운 성능으로 코드를 실행할 수 있게 해주는 기술. 러스트를 웹에서 사용할 수 있게 해준다.
Node, pnpm, yarn, npm, deno 저리가라! Bun으로 간다
Bun - 빠른 JavaScript 런타임, 번들러, 패키지 매니저를 하나로 통합한 도구. Node.js 대체제로 주목받고 있다.
eslint, biome 저리가라! oxlint, oxfmt로 간다
rspress 2 rc로 간다
Rspress - Rust 기반의 빠른 정적 사이트 생성기. Nextra, Docusaurus와 유사하지만 더 빠른 빌드 속도를 제공한다.