PC 프로그램 개발자 가이드
이 문서는 2023년 3월 14일에 작성되었습니다.
여기서 말하는 PC 프로그램
이란? 하드웨어를 제어하기 위한 PC용 프로그램입니다. electron
기반으로 구현되었습니다.
2023년 3월 새로운 환경
통신 프로토콜의 변경(HCP)
- 그 동안 블록코딩과 PC 프로그램의 통신 방식은
socket.io
를 사용해왔습니다. - 하지만 안드로이드를 포함하여 다양한 하드웨어 및 프로그래밍 언어를 지원하다 보니
socket.io
는 한계가 있어서, - 일반
websocket
위에 코디니 자체적으로 설계한 통신 프로토콜(HCP)을 사용하도록 변경했습니다. - 그래서
2023년 3월
부터는 HCP 방식으로 통신합니다. 많은 내부적인 변경이 있었고, 관련 문서들도 업데이트 했습니다.
Quick Start
PC 프로그램의 소스 코드를 빠르게 실행하는 방법은 다음과 같습니다.
# 소스코드 다운로드
$ git clone https://github.com/ktaicoder/hw-pc.git
$ cd hw-pc
# 필요한 라이브러리 설치
$ npm install
# 실행
$ npm run dev
Technical stacks
PC 프로그램에서 사용하고 있는 주요 기술은 아래와 같습니다.
- 패키지 매니저 npm 8.x
- react 18
- electron 23.x
- electron-forge 6.x
- serialport 10.x
- mobx 6.x
- rxjs 7.x
- xterm 5.x
- socket.io 4.6
- mui 5.x
- webosocket 8.x
변경사항 요약
2023년 3월 14일에 대규모 업그래이드가 있었습니다. 변경사항을 요약하면 다음과 같습니다.
기존 | 2023년 3월부터 | |
---|---|---|
통신 | socket.io | websocket |
electron | 15.x | 23.x |
electron-forge | 6.0.0-beta.64 | 6.0.5 |
node | 16.x 이상 | 18.x 이상 |
React | 17 | 18 |
Package Manager | yarn classic | npm |
serialport | 9.x | 10.x |
- 패키지 매니저를
yarn
에서npm
으로 변경했습니다. - 익명의 여러 사람들이 실행해 보는 코드라서
별도의 설치가 필요없는
npm
을 사용하기로 결정했습니다. - 기존처럼
yarn
을 이용하는 것도 아마 문제가 없을 것 같습니다. 다만, 소통할 때는npm
으로 통일해서 소통하는 것이 좋을 것 같습니다.
다음 단계
이제 신규 하드웨어 등록
문서부터 순서대로 읽어주세요.
End.