PC 프로그램 개발환경

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.iowebsocket
electron15.x23.x
electron-forge6.0.0-beta.646.0.5
node16.x 이상18.x 이상
React1718
Package Manageryarn classicnpm
serialport9.x10.x
  • 패키지 매니저를 yarn에서 npm으로 변경했습니다.
  • 익명의 여러 사람들이 실행해 보는 코드라서 별도의 설치가 필요없는 npm을 사용하기로 결정했습니다.
  • 기존처럼 yarn을 이용하는 것도 아마 문제가 없을 것 같습니다. 다만, 소통할 때는 npm으로 통일해서 소통하는 것이 좋을 것 같습니다.

다음 단계

이제 신규 하드웨어 등록 문서부터 순서대로 읽어주세요.

End.