electron/docs-translations/ko/tutorial/application-distribution-ko.md
2015-08-22 14:21:01 +02:00

5 KiB

어플리케이션 배포

Electron 어플리케이션을 배포할 때는 어플리케이션 폴더의 이름을 app으로 지정한 후 Electron 실행파일의 리소스 디렉터리에 집어넣어야합니다. 리소스 디렉터리는 OS X에선 Electron.app/Contents/Resources/ Windows와 Linux에선 resources/ 입니다.

예제:

OS X의 경우:

electron/Electron.app/Contents/Resources/app/
├── package.json
├── main.js
└── index.html

Windows 와 Linux의 경우:

electron/resources/app
├── package.json
├── main.js
└── index.html

그리고 Electron.app을 실행하면(Linux에선 electron Windows에선 electron.exe입니다) Electron은 해당 앱을 실행시킵니다. 최종 사용자에게는 이 electron 폴더(Electron.app)를 배포하면 됩니다.

asar로 앱 패키징 하기

소스파일 전체를 복사해서 배포하는 것과는 별개로 asar 아카이브를 통해 어플리케이션의 소스코드가 사용자에게 노출되는 것을 방지할 수 있습니다.

asar 아카이브를 사용할 땐 단순히 app 폴더 대신에 어플리케이션을 패키징한 app.asar 파일로 대체하면됩니다. 이렇게 하면 Electron은 아카이브를 app폴더 대신 asar 아카이브를 기반으로 어플리케이션을 실행합니다.

OS X의 경우:

electron/Electron.app/Contents/Resources/
└── app.asar

Windows 와 Linux의 경우:

electron/resources/
└── app.asar

자세한 내용은 어플리케이션 패키징에서 찾아볼 수 있습니다.

다운로드한 바이너리의 리소스를 앱에 맞게 수정하기

어플리케이션을 Electron에 번들링한 후 해당 어플리케이션에 맞게 리브랜딩 할 수 있습니다.

Windows

electron.exe을 원하는 이름으로 변경할 수 있습니다. 그리고 rcedit 또는 ResEdit를 사용하여 아이콘을 변경할 수 있습니다.

OS X

Electron.app을 원하는 이름으로 변경할 수 있습니다. 그리고 다음 표시된 어플리케이션 내부 파일에서 CFBundleDisplayName, CFBundleIdentifier and CFBundleName 필드를 원하는 이름으로 변경해야합니다:

  • Electron.app/Contents/Info.plist
  • Electron.app/Contents/Frameworks/Electron Helper.app/Contents/Info.plist

또한 helper 앱이 프로세스 모니터에 Electron Helper로 나오지 않도록 이름을 변경할 수 있습니다. 하지만 반드시 내부 및 모든 helper 앱의 이름을 변경해야 합니다.

어플리케이션 아이콘은 Electron.app/Contents/Resources/atom.icns을 원하는 아이콘으로 변경하면 됩니다.

원하는 이름으로 바꾼 어플리케이션 예제:

MyApp.app/Contents
├── Info.plist
├── MacOS/
│   └── MyApp
└── Frameworks/
    ├── MyApp Helper EH.app
    |   ├── Info.plist
    |   └── MacOS/
    |       └── MyApp Helper EH
    ├── MyApp Helper NP.app
    |   ├── Info.plist
    |   └── MacOS/
    |       └── MyApp Helper NP
    └── MyApp Helper.app
        ├── Info.plist
        └── MacOS/
            └── MyApp Helper

Linux

실행파일 electron의 이름을 원하는 대로 바꿀 수 있습니다. 리눅스 어플리케이션의 아이콘은 .desktop 파일을 사용하여 지정할 수 있습니다.

역주-자동화

배포시에 Electron의 리소스를 일일이 수정하는 것은 매우 귀찮고 복잡합니다. 하지만 이 작업을 자동화 시킬 수 있는 몇가지 방법이 있습니다:

Electron 소스코드를 다시 빌드하여 리소스 수정하기

또한 Electron 소스코드를 다시 빌드할 때 어플리케이션 이름을 변경할 수 있습니다. GYP_DEFINES 환경변수를 사용하여 다음과 같이 다시 빌드할 수 있습니다:

Windows

> set "GYP_DEFINES=project_name=myapp product_name=MyApp"
> python script\clean.py
> python script\bootstrap.py
> python script\build.py -c R -t myapp

Bash

$ export GYP_DEFINES="project_name=myapp product_name=MyApp"
$ script/clean.py
$ script/bootstrap.py
$ script/build.py -c Release -t myapp

grunt-build-atom-shell

Electron의 소스코드를 수정하고 다시 빌드하는 작업은 상당히 복잡합니다. 이를 해결하기 위해 grunt-build-atom-shell를 사용하여 빌드를 자동화 시킬 수 있습니다.

이 툴을 사용하면 자동으로 .gyp파일을 수정하고 다시 빌드합니다. 그리고 어플리케이션의 네이티브 Node 모듈 또한 새로운 실행파일 이름으로 매치 시킵니다.