• 티스토리 홈
  • 프로필사진
    루루개발자
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
루루개발자
  • 프로필사진
    루루개발자
    • 분류 전체보기 (212)
      • react & next.js (12)
      • Node.js & Javascript & Type.. (24)
        • d3.js (10)
      • 차트 만들기 (1)
      • 티스토리 스킨 개발 (7)
      • 내가 만든 패키지 (3)
      • 내가 만든 CSS (1)
      • CSS (7)
      • 도커 & 쿠버네티스 (3)
      • 개인 프로젝트 (7)
      • 리뷰 & 추천 (2)
      • 알고리즘 (1)
      • IT 기타 (18)
      • 잡동사니 (1)
      • Spring Boot (5)
      • 취미로 그리는 그림들 (120)
      • 개인적인 생각들 (0)
  • 반응형
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • [ electron-sample ] Electron + Typescript + React 셋팅
        2023년 08월 27일
        • 루루개발자
        • 작성자
        • 2023.08.27.오전06:24
        반응형

        electron 으로 앱을 개발해야 할 때, typescript 와 react 를 사용해야 한다면 매번 일일이 환경 설정을 해주는 것이 불편할 것입니다. 그래서 electron + typescript + react 조합으로 이미 셋팅을 해놓은 제 개인 레포지토리를 공유드립니다.

         

        레포지토리 주소

        https://github.com/wisdomstar94/electron-sample

         

        GitHub - wisdomstar94/electron-sample: 본 레포지토리는 일렉트론 샘플 프로젝트 입니다. 프론트는 리액트

        본 레포지토리는 일렉트론 샘플 프로젝트 입니다. 프론트는 리액트를 사용합니다. Contribute to wisdomstar94/electron-sample development by creating an account on GitHub.

        github.com

        본 레포지토리를 사용하는 방법에 대해서는 readme 내용을 확인하시면 됩니다.

         

        본 레포지토리를 만든 이유

        일렉트론은 javascript 만을 사용하여 window, mac, linux 에서 모두 동작하는 앱을 만들 수 있는 멀티크로스플랫폼 개발 도구입니다. 추후 제가 PC 앱을 개발해야 하는 상황이 생겼을 때 저는 일렉트론을 고려해 볼 것 같았고, 그 때 일렉트론 개발을 위한 환경 설정을 고민하고 작업하는 시간을 줄이고 싶어 미리 이렇게 환경 설정을 마친 샘플 레포지토리를 구성해놓고 싶었습니다. (나중에 이 레포지토리를 pull 받아 일부 값만 수정하여 바로 비즈니스 상품 개발에 들어 갈 수 있게 말이죠.)

         

        프론트는 리액트로 셋팅

        일렉트론은 Node.js 기반으로 PC 와 직접적으로 통신하는 메인 프로세스와 크로미움 브라우저로 화면을 보여주고 제어하는 렌더러 프로세스로 구분됩니다. 이 때 크로미움 브라우저로 보여줄 화면은 많은 개발자들이 사용하는 리액트로 작업 할 수 있도록 셋팅해 두었습니다. 부수적으로 요즘 화면 스타일링에 많이 사용되는 TailwindCSS 도 연동해두었습니다. :)

         

        업데이트 파일 배포는 S3 와 연동

        일렉트론 앱의 최초 배포가 이루어진 후 수정 된 것이 있다면 이 수정된 앱으로 사용자들이 업데이트 할 수 있도록 파일을 어떤 저장소에 배포해야 합니다. github 와 연동하는 방법도 있었지만, github 와 연동할 경우 용량 제한 이슈가 있는 듯 하여 AWS S3 와 연동하는 방법을 택했습니다. 또한 실서비스용 버킷과 업데이트 테스트용 버킷에 대한 설정을 별도로 두어서, 업데이트를 하는 것도 로컬에서 테스트 해볼 수 있도록 환경 설정을 해두었습니다. 

         

        AWS 설정 방법 공유

        아무래도 업데이트 배포시 S3 와 연동하다 보니 이와 관련하여 AWS 에서 몇가지 설정해야 할 것들이 존재합니다. 이 부분 역시 레포지토리의 readme 부분에 기재해 놓았습니다.

         

        타입스크립트 셋팅

        요즘 순수 javascript 로만 개발하기 보다는 typescript 로 개발하고 이를 javascript 로 변환하는 방식으로 많이들 개발하곤 합니다. 그렇기 때문에 본 레포지토리에서도 typescript 로 개발할 수 있도록 관련 구조를 미리 설정하였고, 관련된 스크립트도 미리 package.json 에 준비해두었습니다.

         

        메인프로세스와 렌더러프로세스의 각 채널별 payload 자동 타입 추론 적용

        이 부분이 사실 Typescript 를 사용하는 가장 큰 핵심이라 생각이 들었습니다. 일렉트론은 메인프로세스와 렌더러프로세스 간에 채널로 이벤트를 송수신 하는데, 이 때 채널에 따라 어떠한 데이터 구조로 통신되는지 자동으로 타입 추론이 되야 한다고 생각했습니다. 그래서 이 부분을 구현해 놓았고 자세한 부분은 readme 의 이곳을 참고하시면 됩니다.

         

        마치며

        미리 이렇게 일렉트론과 타입스크립트, 리액트 기반의 환경을 다져놓은 레포지토리를 준비해놓았으니 필요하신 분들은 본 레포지토리를 pull 받아서 본인들의 환경에 맞게 설정 값들을 조정하신 후 사용하시면 되겠습니다. 이 레포지토리가 많은 도움이 되었으면 좋겠고, 관련 의견은 댓글로 남겨주시면 감사하겠습니다.

        반응형

        '개인 프로젝트' 카테고리의 다른 글

        [ nestjs-aws-s3-upload ] nest.js 에서 AWS s3 로 파일 업로드하기  (0) 2022.10.03
        [ javascript-library ] javascript 클립보드로 복사하기 기능 구현하기  (0) 2022.06.23
        [ google-fcm-web-sdk-bundle-sample ] FCM web sdk 번들링 샘플 프로젝트  (0) 2022.06.18
        [ google-web-login-sample ] 구글 웹 로그인 샘플  (0) 2022.06.14
        [ slack-bot-api ] node.js Slack 봇 API  (0) 2022.06.07
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
      • 레포지토리 주소
      • 본 레포지토리를 만든 이유
      • 프론트는 리액트로 셋팅
      • 업데이트 파일 배포는 S3 와 연동
      • AWS 설정 방법 공유
      • 타입스크립트 셋팅
      • 메인프로세스와 렌더러프로세스의 각 채널별 payload 자동 타입 추론 적용
      • 마치며
      • 안녕하세요
      • 감사해요
      • 잘있어요

      티스토리툴바

      단축키

      내 블로그

      내 블로그 - 관리자 홈 전환
      Q
      Q
      새 글 쓰기
      W
      W

      블로그 게시글

      글 수정 (권한 있는 경우)
      E
      E
      댓글 영역으로 이동
      C
      C

      모든 영역

      이 페이지의 URL 복사
      S
      S
      맨 위로 이동
      T
      T
      티스토리 홈 이동
      H
      H
      단축키 안내
      Shift + /
      ⇧ + /

      * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.