태그 글 보관함: sciter

golang sciter Unhandled sciter event case: 32768 문제해결

golang에서 sciter 예제 어플을 테스트하는데, 뷰단의 스크립트에서 네이티브 코드쪽 펑션을 호출하는 코드가 있으면 실행이 안된다.

에러코드. Unhandled sciter event case: 32768

sciter의 golang 바인딩인 go-sciter 문제였고, 깃허브의 이슈란에서 힌트를 얻어서 해결했다. https://github.com/sciter-sdk/go-sciter/issues/239
해결 방법은 go.mod 파일에서 go-sciter 버전을 최신버전으로 지정하면 된다.

go.mod

gcc 버전 바꿔보고 별쇼를 다 했는데 역시 포럼을 잘 봐야한다… ㅠㅠ

golang gui sciter 리뷰? 사용기

sciter-acrylic-dark
이거에 반함…

go로 윈도우 어플을 좀 만들어보려고 이것저것 찾아보다 sciter 를 좀 만져봤는데 우리나라에선 sciter 관련한 글이 전무해서 혹시 찾는 사람이 있을까 해서 글을 남긴다.

sciter란

윈도우, 맥, 리눅스를 지원하는 GUI 툴이고 특징은 가벼운 라이브러리(sciter.dll 파일 한개 7메가)와 지원하는 언어가 많다는 것. (golang, python, rust, c# 등)
뷰쪽은 HTML, CSS를 쓰고 tiscript라는 독자 자바스크립트 같은 스크립트로 뷰단에서 제어를 한다.

나는 완전 투명이나 반투명 윈도우를 지원해서 써 보려 했는데…

golang 바인딩에 뭔가 문제가 있는듯해서 뷰단(html)에서 golang 네이티브 코드쪽 펑션을 호출하는 기능이 에러가 나서 되지를 않더라. 해결방법이 있는지 알아보고 있는데, 일단 안됨. 이거 아마 환경문제인듯하다.
Update:해결했다. golang sciter Unhandled sciter event case: 32768 문제해결

sciter 에 대해서 여러가지 검색해보고 실제 돌려보고 알아낸 정보를 좀 써 두겠다.
1. 라이센스는 비상용/상용 관계없이 무료인데, 실행에 필요한 sciter.dll 파일을 정적링크=실행 파일 내부에 포함시키기 위해서는 돈을 내야한다. 제일 싼 라이센스가 310달러/첫해, 120달러/매년, 윈도우만 가능.
2. 실행파일 배포시에는 sciter.dll을 같은 폴더에 넣어야 되는듯.
3. tiscript 라는 독자 스크립트를 배워야하는게 좀 걸림. 대신 html/css 를 쓰니까 이부분에 러닝코스트는 없으니 상쇄되려나?
4. html/css 를 뷰에서 사용하지만 GUI에서 html 티는 별로 안난다. 윈도우에서 보기에 촌스럽거나하지 않고, 반투명 윈도우를 사용하는 순간 세련됨이 철철 흘러넘친다. 너무 예쁘다.
5. 개발자가 답변을 너무 잘해준다. 대신 코딩도 해주더라 ㅋ
6. 기본적인 제어는 뷰쪽에서 tiscript로 하는 느낌이고 네이티브 코드쪽은 보조적인 느낌이다. 서로간 메소드 호출이 가능해서 맘대로 할 수 있지만.
7. 컴파일이나 실행 속도도 빠른거 같고, vscode에서 golang 으로 실행도 잘 된다. (이거 안되는 gui 툴도 있어서…)

sciter 홈
https://sciter.com/
golang sciter 예제
https://github.com/sciter-sdk/go-sciter-example