sveltekit deno로 Rust webassembly 환경으로 실행하기 > JS프레임워크

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

JS프레임워크

sveltekit deno로 Rust webassembly 환경으로 실행하기 정보

SVELTE sveltekit deno로 Rust webassembly 환경으로 실행하기

본문

svelte 개발 결과물 들은 아이러니가 있습니다.

1차로 로딩때 각 페이지 레이아웃 별로 모두, 속도지연이 있습니다.

 이게 그냥 php로 랜더링된 매 페이지 불러올때보다는 훨씬 빠릅니다.

그런데, spa 라는 특성상 일 프레임의 페이지를 다른 내용으로 불러오기 시작하면

그러니까 목록 페이지의 다음 페이지나, 글보기 다른 글 보기페이지를 접속하게 되면,

프레임을 재활용하기 때문에 불러와서 저장이 된 프레임은 글번호가 다른 페이지를 열게되면,

ajax 통신하듯이 내용만 가져오게 되어서 변경하게 되기 때문에 속도가 엄청 빠르게 됩니다.

페이지가 팍팍 넘어가게되죠.

그런데 이게 역설적이에고, 첫로딩시와 그다음 페이지 넘어갈때의 차이가 확연하게 느껴지게 됩니다.

그래서 첫 로딩이 참 느리다는 생각을 들게 합니다. 이게 저만 그런게 아니라 클라이언트들이 모두
지적을 합니다. 그래서, 찾아본 여러 대안중

webassembly 로 변환하면, 스크립트를 바이너리로 전환해서 스크립트 로딩 속도가 극적으로 개선된다는

문서를 접하게 되었습니다.

그래서 찾아보니.

Rust의 Yew 가 그런 일을 도와줄수 있다고 해서,

나중에 Rust 좀 익히면, Yew 로 컴파일해서 속도 향상을 누려보겠다는 나름 계획을 잡아놓고 있던차에

https://youtu.be/Knn4xh79qTU

구독중인 노마트코더에서 deno 설명하는 내용에서 node.js 를 Rust webassembly로 전환해서 실행한다는 내용을 보고
구미가 댕겨서

https://github.com/pluvial/svelte-adapter-deno/tree/main

신규로 sveltekit 를 설치하고 deno를 따로 설치하고

svelte.config.js 에

svelte-adapter-deno

추가하고

npm run build 

빌드해봤습니다.

deno 에서 모듈을 url 링크로 걸어서 다운로드 된다는 내용처럼

npm install 했던 파일들을 다운로드하는 화면이 잠시 뜨더니

deno 빌드가 완료되었습니다.

build 폴더가 새로 생성된 것을 확인하고

deno run --allow-env --allow-read --allow-net build/index.js

를 실행하니

deno 서버가 실행이 되었습니다.

 

떨리는 순산

http://localhost:3000 으로 접속을하니

짜잔~ 나옵니다. 

 

webassembly 가 맞는건가? 속도는 빠른건가???


나오긴하네, 그런데 개발자 콘솔로 보니 html 이 그대로 나온는데,

webassebly로 돌리는게 맞는건지? 잘 모르겠네요.

 

React 예제를 보면 deno용 문법이 따로 있는것 같은데,

svelte는 따로 문서화 되어 있는내용이 없는것 같습니다.

svelte가 바닐라js 로 빌드 되어서 그냥 그걸 이용하는 건가?

그렇다면, 개꿀인데?

관심 갖고 함 찾아 봐야겠습니다.

 

속도 테스트도 좀해보고..

 

혹시나 해서

 

현재 작업중인 그누보드5 sveltekit front-end 를 실행해봤더니

500번 에러가 뜨네요.

에러 내용을 보니 events 부분에서 에러가 있다고 뜨는데,

아무래도 잔에러 없이, 완전 클린한 환경에서만 돌아가는 것 같습니다.

좀 복잡한 페이지끼리 붙여봐야 속도 변화를 채감할 수 있을 텐데.

 

웹용으로는 서버에 deno 설치해서 실행시키면, 되는 것 같습니다.

그런데, 하이브리드앱은 어떻게 실행시켜야하나..?
 

 

추천
1

댓글 0개

전체 261 |RSS
JS프레임워크 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT