타입스크립트로 작성한 로직을 운영체제 창에서 바로 실행하는 데스크톱 앱 개발 환경
브라우저를 거치지 않고 운영체제 창에서 직접 동작하는 앱을 만들고 싶다면, 이 툴킷이 코드를 네이티브 실행 파일로 변환해 줍니다. 앱의 로직과 화면을 타입스크립트와 전용 마크업으로 작성하면, 컴파일러가 이를 네이티브 코드로 변환하고 OS의 창에서 렌더링합니다. 현재는 실험 단계이지만, 웹 콘텐츠 임베딩이나 지그 코어 사용도 지원하여 다양한 구조의 앱을 만들 수 있습니다.
실험 단계의 현재 상태
이 저장소는 아직 실험 단계로 분류됩니다. 플랫폼별 기능 지원 범위가 달라지며, 모바일 지원은 여전히 발전 중인 상태입니다. 따라서 프로덕션 환경에 바로 적용하기보다는, 새로운 데스크톱 앱 개발 방식에 대한 탐색이나 프로토타이핑 용도로 접근하는 것이 적절합니다.
앱 구조와 데이터 흐름
앱은 이벤트가 타입화된 메시지를 update 함수로 전달하는 구조를 따릅니다. update는 다음 모델과 효과를 반환하며, 화면은 이 모델로부터 내용을 유도합니다. 파일 시스템 접근이나 네트워크 요청 같은 외부 작업은 효과와 타입스크립트 서비스를 통해 처리됩니다. 앱 코어는 체크된 타입스크립트 하위 집합을 사용하며 네이티브 코드로 컴파일됩니다. 지그 코어를 사용하려면 초기화 시 --template zig-core 옵션을 지정하면 됩니다.
개발 워크플로우와 CLI
CLI는 Node.js 24 이상 환경에서 npm install -g @native-sdk/cli 명령으로 설치합니다. native init my_app으로 프로젝트를 생성하면 카운터 앱이 포함된 기본 구조가 만들어집니다. src/core.ts는 모델과 메시지를, src/app.native는 레이아웃과 바인딩을, app.json은 앱 식별자와 보안 설정을 담습니다. native build는 릴리스 바이너리를 생성합니다.
예제 앱과 문서 범위
저장소에는 채팅봇, 사운드보드, 시스템 모니터, 계산기 등 다양한 예제 앱이 포함되어 있습니다. 채팅봇은 스트리밍 응답과 텍스트 편집을, 사운드보드는 오디오 재생과 컨텍스트 메뉴를, 시스템 모니터는 서브프로세스 효과와 차트를 보여줍니다. 문서에는 빠른 시작, 네이티브 UI 마크업, 내장 컴포넌트 카탈로그, 타입스크립트 서비스, 테스트, 자동화, 패키징 가이드가 포함되어 있습니다. 이 예제들은 각 기능이 어떻게 조합되는지 확인하는 데 도움이 됩니다.
적용 전 확인 사항
이 툴킷은 Apache-2.0 라이선스로 공개되어 있습니다. 특히 모바일 지원이 아직 안정화되지 않았으므로, 타겟 플랫폼에 따른 기능 제한을 사전에 점검하는 것이 좋습니다. 프로덕션 배포를 계획하고 있다면, 현재 지원 매트릭스와 문서의 패키징 가이드를 꼼꼼히 검토하는 것이 필요합니다.