개발/Compose

KUG Seoul 사이트를 Compose Web으로 만들면서 알게된 문제점들

귀염둥이 팡무 2024. 1. 20. 06:44

KUG Seoul 사이트(임시)를 Compose Web으로 만들면서 알게된 문제점들...
https://haeyum.dev/kug-seoul

1. 리소스가 로딩되는 과정에서 웹사이트가 멈춘다...
2. 버튼 클릭으로 Alert 발생 시 Ripple 이펙트가 중단된다.
3. 초기 별다른 기능/화면이 없음에도 600MB나 잡아먹는다.
4. Compose Multiplatform에서 대표적으로 사용되는 moko-resources를 사용하여도 초기 폰트 로딩되는 과정에서 ㅁㅁ로 한글이 깨진다...
5. 각 Weight별로 폰트가 불러와지면서 FontWeight이 적용되는게 시각적으로 보인다. (ㅁㅁ였다가 얇은 글씨가 보였다 두꺼워진다!)
6. fontFamilyResource로 폰트를 불러왔더라도, 다시 호출 시 초기 null이 반환되고 이후 폰트가 넘어온다. (이건 moko-resources에서 caching이 따로 없어서 그런듯. 보통 Typography에 FontFamily 적용해 사용하니 큰 문제는 없다만...)
7. 아이폰 크롬에서 캐시가 남아있는지 갱신되지 않은 이전 사이트가 계속 표기된다.
8. 모바일은 스크롤을 지원하지 않는다. pointerInput, Draggable 등 다양한 방법을 시도했지만 컴포즈 자체로는 모바일 터치 이벤트자체를 감지를 하지 않는다. 깃 이슈를 통해 공식적으로 아직 지원하지 않는다는 것을 확인, 그렇기에 직접 JS 이벤트로 스크롤 기능 구현해야했다.
9. 그렇다. 모바일에서는 Kotlin 공식 WASM Example 사이트도 비율과 스크롤 등 모두 작동되지 않거나 깨진다.

이외에도 다양한 문제점들 꺄르륵...
역시 Experimental은 Experimental인 것인가...

그치만... 재밌다... Kotlin/Compose로 웹사이트라... 맛있다... 불량식품인가...?
KUG(Kotlin User Groups)란: https://kotlinlang.org/community/user-groups/