ํ์ฌ atom-shell์ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์๋ ์ฑ์ ๋ฐฐํฌํ ๋ ์ ์ฒด atom-shell ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ ๊ณตํด์ผ ํ์ง๋ง, ์ด์ asar ๋ฅผ atom-shell์ ์ฑ ํ์์ผ๋ก ์ฌ์ฉํ๋ฏ๋ก Adobe Air ๋๋ Chrome ํธ์คํ
์ฑ ๊ณผ ๊ฐ์ ๋ฐํ์ ๋ชจ๋๋ฅผ atom-shell์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ์ต์ข
์ฌ์ฉ์์๊ฒ atom-shell์ ๋ฐํ์ ๋ชจ๋๊ฐ ์ค์น๋์ด ์๋ ํ asar
ํ์์ผ๋ก ํจํค์ง ์ฑ์ ๋ฐฐํฌํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
๋ฐํ์ ๋ชจ๋๋ atom-shell์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋ ๋ค๋ฅธ ์ฑ์ผ ์ ์์ผ๋ฉฐ(์ง๊ธ atom-runtime
๋ผ๊ณ ํฉ์๋ค) ํ๋ซํผ๊ณผ ๊ธด๋ฐํ๊ฒ ํตํฉ๋์ด ์์ต๋๋ค.
.asar
ํ์ผ ํ์์ ๋ฑ๋กํ ์ ์์ต๋๋ค..asar
ํ์ผ์ ํธ๋ค๋ฌ๋ก atom-runtime์ ๋ฑ๋กํฉ๋๋ค.๋ง์ .NET ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฌ์ฉ์ ์ปดํจํฐ์ ์ค์น๋์ง ์์ ๊ฒฝ์ฐ ์๋์ผ๋ก ์์ ๋ฐํ์์ ๋ค์ด๋ก๋ํ ์ ์๋ ๊ฐ๋ฐ์ ์ฑ์ฉ ์ค์น ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๋ฐ ๋์์ด ๋๋ ๋๊ตฌ ๋๋ ์๋น์ค๋ฅผ ์ ๊ณตํ ์๋ ์์ต๋๋ค.
+100, ์ฑ์ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ๋ฐ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
.asar
ํ์ฅ์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๊น? ํ๊ฐ๋ฆฌ์ด๋ก๋ ์ ๋ง ์ด์ํ๊ฒ ๋ค๋ฆฝ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ ์๋ฏธ the shit
๋ฅผ ์๋ฏธํฉ๋๋ค( link ).
.apak?
์ ๋ง ๋ง์ ์ธ์ด๊ฐ ์์ผ๋ฏ๋ก ๊ฑฐ์ ๋ชจ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์ผ๋ถ์์๋ ์ด์ํ๊ฒ ๋ค๋ฆด ์ ์์ต๋๋ค.
IMO ๋ฐํ์ ์ค์น ๋ฐ ์
๋ฐ์ดํธ๋ ๊ฐ๋ฅํ ํ ์ฌ์์ผ ํฉ๋๋ค. ๋ง์ ๋ฐํ์์๋ ๋งค์ฐ ์ฑ๊ฐ์ ์๋ฆผ์ด ์์ต๋๋ค. ๋ํ ์ด ์์
์ ์ํํ๋ ค๋ ๊ฒฝ์ฐ ์ต์ ์ฑ ๋ฒ์ ์ด ์ด์ ๋ฐํ์์์ ์๋ํ์ง ์์ ์ ์์ผ๋ฏ๋ก ์ผ๋ถ ์ถ๊ฐ ๋งค๋ํ์คํธ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ํ์ฌ ๋ฐํ์ ๋ฒ์ ์ ์ฑ ๋งค๋ํ์คํธ์ ๋ฒ์ ๊ณผ ๋น๊ตํด์ผ ํฉ๋๋ค(๋
ธ๋์์์ ๊ฐ์ด ๋ฒ์ ๋ฒ์๋ ๊ฐ๋ฅ package ) ๊ทธ๋ฐ ๋ค์ ๋ฐํ์์ ์
๋ฐ์ดํธํด์ผ ํ๋ ๊ฒฝ์ฐ ์ด ํ๋ก์ธ์ค๋ฅผ ์ต๋ํ ์ฝ๊ฒ ๋ง๋์ญ์์ค. ๋๋ถ๋ถ์ ์ฌ๋๋ค์๊ฒ ์ฌ์ด ๊ฒ์ด ๋ฌด์์ธ์ง ๋ชจ๋ฅด์ง๋ง ์ ์๊ฒ๋ ์งํ๋ฅ ํ์์ค์ด๋ ์ํ ๋ฉ์์ง๊ฐ ์๋ ์ฐฝ์
๋๋ค("๋ค์ด๋ก๋ ์ค... 57%", "์
๋ฐ์ดํธ ์ค...").
ํ์คํ์ง ์์ง๋ง ๋ฐฑ๊ทธ๋ผ์ด๋ ์
๋ฐ์ดํธ๋ ๊ณ ๋ คํ ์ ์์ต๋๋ค. ์ผ๋ถ ์
๋ฐ์ดํธ ์๋น์ค์ผ ์๋ ์๊ณ ์ฑ์ด ์คํ๋๋ ๋์ ๋ฐํ์ ๋ค์ด๋ก๋์ผ ์๋ ์๊ณ ์ฑ์ด ๋ซํ ๋ ์
๋ฐ์ดํธ๋ ์๋ ์์ต๋๋ค.
์ด๊ฒ์ ๋ํด +1. ์ ๋ Mac ๋ฐ Windows์ฉ์ผ๋ก ์ ๊ณตํด์ผ ํ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ ์ค์ด๋ฉฐ, ์ด๋ ์ ๊ณต์ ์๋นํ ๋จ์ํํ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ๊ต์ฅํ ๊ฒ์ ๋๋ค!
๋ช ๊ฐ์ง ์๊ฐ:
๋ง์ง๋ง์ผ๋ก ์ด ๋ ธ๋ ฅ์ ์ผ์ ์ ์ด๋ป๊ฒ ๋ฉ๋๊น? ์ด ๋ถ๋ถ์ ๊ตฌํ์ ์์ํ๋ ค๋ ๊ฒฝ์ฐ ์์ํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น? ์ ๋ ๊ธฐ๊บผ์ด ๊ธฐ์ฌํฉ๋๋ค.
@joshuawarner32 ํ์ฌ ์ด๊ฒ์ ๋๋ต์ ์ธ ์๊ฐ์ ๋๋ค. ์ ๋ atom-shell์ ๋ช ๊ฐ์ง ์ฃผ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ํ ์์ ํ ๊ณํ์ด์ง๋ง ๋ช ๋ฌ ํ์ ๋ ์ ์์ต๋๋ค.
๊ธฐ์กด ๋ฐํ์๊ณผ ์๋/์ ๋ฐ์ดํธ ๋ฐฉ์, ์ผ๋ง๋ ๋ฐฉํด๊ฐ ๋๋์ง, ๋ค๋ฅธ ์ฅ๋จ์ ์ ์ดํด๋ณด๋ ๊ฒ๋ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
ํ์ฌ ์ด๊ฒ์ ๋๋ต์ ์ธ ์์ด๋์ด์ผ ๋ฟ์ด๋ฉฐ, atom-shell์ ๋ช ๊ฐ์ง ์ฃผ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ํ ์์ ํ ๊ณํ์ด์ง๋ง ๋ช ๋ฌ ํ์ ๊ฐ๋ฅํ ์๋ ์์ต๋๋ค.
5~6๊ฐ์ ์ ๋ ๋์์ต๋๋ค. ์ด๊ฒ์ ๊ตฌํํ๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ์ ํน์ ์ฌ์ฉ ์ฌ๋ก์ ๋งค์ฐ ์ ๋ง๋ ๋ด๋ถ ๊ตฌํ์ ๊ตฌ์ถํ์ผ๋ฉฐ ์ด๋ฅผ ์ ์คํธ๋ฆผํ ์ ์์ต๋๋ค. ์ํ์ ์ค์ ๋ก ์ฐ๋ฆฌ์ ์ฌ์ฉ ์ฌ๋ก์ ๋๋ฌด ๊ตฌ์ฒด์ ์ด๊ณ ๋ค๋ฅธ ๋๊ตฌ๋ ์ถ๊ฐ ๋ณต์ก์ฑ์ ๊ด์ฌ์ ๊ฐ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค.
๋ค์์ ์ฐ๋ฆฌ ๋์์ธ์ ํ์ด๋ผ์ดํธ์ ๋๋ค.
--app
์ธ์๋ฅผ ํ์ฉํฉ๋๋ค.์์ ๊ป์ง ์ฌ๋๋ค์ด ์ผ๋์ ๋์๋ ๊ฒ์ด ๊ทธ๋ฐ ์ข ๋ฅ์ ๋๊น? ๊ทธ๋ฐ ๊ฒ์ด ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ ์ ์ฉํ ๊น์?
JRE์ ๋ง์ฐฌ๊ฐ์ง๋ก .eapp ํ์ผ(์ ์ ์ฑ)์ด ์๋ ERE(์ ์ ๋ฐํ์ ํ๊ฒฝ)์ผ ์ ์์ต๋๋ค.
.eapp์ ๊ฒฝ์ฐ -1
+1 ํ์ํด์!
Windows์์ ์ฐ๋ฆฌ๋ atom-runtime์ ์ํ ์ค์น ํ๋ก๊ทธ๋จ๊ณผ ์๋ ์ ๋ฐ์ดํธ ํ๋ก๊ทธ๋จ์ ์ ๊ณตํ ์ ์์ผ๋ฉฐ, ์ด๋ฆด .asar ํ์ผ ์ ํ์ ๋ฑ๋กํ ์ ์์ต๋๋ค.
Windows์ Steam์ ์ค์นํ๊ณ ๊ฒ์ ๋ฐ๋ก ๊ฐ๊ธฐ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ํ์ธํ์ญ์์ค. ์ค์ ๋ก ํ๋กํ ์ฝ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋น๊ต์ ์๋ฆฌํฉ๋๋ค.
:+1: Steam ๋ชจ๋ธ์์.
์ด๋ฅผ ๊ตฌํํ๋ ๋ฐ ๊ธฐ์ ์ ์ฅ์ ๋ฌผ์ ์์ผ๋ฉฐ ๋ชจ๋ ๊ฒ์ด Electron ์ฑ ์์ฒด์ผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฌธ์ ๋ ๋ชจ๋ ์ธ๋ถ ์ฌํญ์ ๊ณ ๋ คํ์ฌ ๊ตฌํํ๊ธฐ๊ฐ ์ฝ์ง ์๋ค๋ ๊ฒ์ ๋๋ค. ์๊ท๋ชจ ํ์ด ํ ํ์์ผ๋ก ์์ ํด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์คํ ๋ ๊ฒ์ธ์ง ํ์คํ์ง ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ฌธ์ ๋ ๋ชจ๋ ์ธ๋ถ ์ฌํญ์ ๊ณ ๋ คํ์ฌ ๊ตฌํํ๊ธฐ๊ฐ ์ฝ์ง ์๋ค๋ ๊ฒ์ ๋๋ค. ์๊ท๋ชจ ํ์ด ํ ํ์์ผ๋ก ์์ ํด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์คํ ๋ ๊ฒ์ธ์ง ํ์คํ์ง ์์ต๋๋ค.
ํ์คํ ๊ทน๋ณตํ ์ ์๋ ๊ฒ์ ์๋์ง๋ง ์ด ๊ณํ์ ์ด๋ ต๊ฒ ๋ง๋๋ ๋ง์ ์ง๋ฌธ์ด ๋ด ๋ง์์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด "App 1"์๋ 0.30.x๊ฐ ํ์ํ๊ณ 0.31.x์์ ์คํํ ์ ์์ผ๋ฉฐ "App 2"์๋ ๊ทธ ๋ฐ๋๊ฐ ํ์ํฉ๋๋ค. ์ด ์๋๋ฆฌ์ค์ ์น์๋?
๊ฐ๋ฐ์ ๋ณต์ก์ฑ์ ํฌ์์ํค๋ฉด์ ๋์คํฌ ๊ณต๊ฐ๊ณผ ๋์ญํญ๊ณผ ๊ฐ์ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ ์ต์ ํํ๋ ๋ฐ ๋ง์ ๋ ธ๋ ฅ๊ณผ ์ธํ๋ผ/์ด๋ ค์์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค(์ฆ, ์ด์ ๊ฐ๋ฐ์๋ ์ฒ์ ์ค์น/ Electron์ ํ์ธํ ๋ค์ ์ฑ์ ์ค์นํ์ญ์์ค)
์์ด๋์ด๋ฅผ ๋ฏธ์ํ๋ ค๋ ๊ฒ์ด ์๋๋๋ค! ์ ๋ ์ด ์์ ์ ์ํํ๋ ๋ฐ ์๊ฐ์ ํ ์ ํ์ฌ ๋์ ํฐ ๋ฌธ์ ์ ์ฌ์ฉํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์๋ก์ด ๊ฐ๋ฐ์๊ฐ ์ฝ๋์ ์ฒซ ์ค๋ถํฐ ์ฌ์ฉ์์๊ฒ ๋ฐฐ์ก
@paulcbetts ํ์ง๋ง ์ด์ ์ ๊ทธ๋งํ ๊ฐ์น๊ฐ ์์ง ์์ต๋๊น? ์ฑ์ ์ ๋ฐ์ดํธํ ๋ ์ฌ์ฉ์๋ ~70mb ๋์ 1mb ๋ฏธ๋ง์ ๋ค์ด๋ก๋ํด์ผ ํฉ๋๋ค. ์ฆ, ์๋ ์ ๋ฐ์ดํธ ํ๋ ์์ํฌ์ ๋ชจ๋ ๊ฒ์ด ํ์ํ์ง ์์ผ๋ฉฐ ๋ช ๊ฐ์ ํ์ผ์ด ํฌํจ๋ micro-zip ์์นด์ด๋ธ๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ์ถ์ถํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
๋๋ ์๋๊ฐ 128kbps ๋ฏธ๋ง์ธ ์ธ๋ด ์ง์ญ์์ ์ง๋ 3๊ฐ์์ ๋ณด๋๊ณ ๋๋ฅผ ๋ฏฟ์ผ์ญ์์ค. ์ ๊ทธ๋ ์ด๋ ํฌ๊ธฐ๋ ์๋ฉ์ด์ ํฐ ๊ณ ํต์ ๋๋ค. ์ต์ ์ ๋ถ๋ถ์ ์ฌ์ ํ โโ๋น์ทํ ์ํฉ์ ์๋ ์ฌ๋๋ค์ด ๋ง๋ค๋ ๊ฒ์ ๋๋ค.
์ฆ, ์๋ ์ ๋ฐ์ดํธ ํ๋ ์์ํฌ์ ๋ชจ๋ ๊ฒ์ด ํ์ํ์ง ์์ผ๋ฉฐ ๋ช ๊ฐ์ ํ์ผ์ด ํฌํจ๋ micro-zip ์์นด์ด๋ธ๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ์ถ์ถํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
๋๋ ๊ทธ๊ฒ์ด ์ฌ์ค์ด๋ผ๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ์๋ํ๋ฉด ๊ฑฐ์ ํ์คํ๊ฒ ์ด๋ ์์ ์์ ๋น์ ์ ์ต์ ๋ฒ์ ์ Electron์ผ๋ก ์ ๋ฐ์ดํธํ ๋ค์ kerplowie๋ก ์ฎ๊ธฐ๊ณ ์ถ์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋น์ ์ ๋น์ทํ ์ํ์ ์์ต๋๋ค. )
ํจํค์ง ์์ ์์ฒญ๋ ์์ ๋น๋์ค๊ฐ ์๋ ํ ๊ธฐ๋ณธ ์ฑ์ ์ด์ 30~50๋ฉ๊ฐ์ ๋๋ค. ๋๋ ๊ทธ๊ฒ์ด ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ๋ค์ด๋ก๋ํ๊ธฐ์๋ ๋ฌด๋ฆฌ๊ฐ ์๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ํ๊ท ์ ํ๋ธ ๋์์์ 30~40MB ์ฌ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ฌ๊ธฐ์ ๋ฉ๋ชจ๋ฅผ ํ๊ณ ์ถ์ต๋๋ค. ์ค๊ตญ์ ์ฐ๊ฒฐ ์๋๋ ํ๊ท ์ฝ 20kB/s์
๋๋ค(๋ด ๋์์ ~92%๋ณด๋ค ๋๋ฆฐ ์ฐ๊ฒฐ์ด ์๋ค๋ ์ ์ ์ธ์ ํฉ๋๋ค.) wget -c
'์. taobao ๊ฑฐ์ธ์ ์ฌ์ฉํ์ง ์๋ ํ.
๋ฒ์ ํธํ์ฑ์ ์ํด ์ ์ ๊ฐ๋ฐ์ ํฌ๊ด์ ์ธ ๋ฒ์ ์ ๊ฐ์ง๊ธฐ์๋ ๋๋ฌด ๋นจ๋ฆฌ ์งํ๋ฉ๋๋ค. ์ฑ์ด ์์๋ ๋ ์์ฒญ๋ ์ฃผ์ ๋ฒ์ ์ ์ฌ์ฉ/๋ค์ด๋ก๋ํ๋ ๋ฐ ์ผ์ข ์ ๋ํผ/๋์ฐ๋ฏธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๊น?
20kb/s? ์ด๋ป๊ฒ ์ด์๋จ์ ์ ์์ต๋๊น? ๊ทธ๊ฒ์ด ์ผ๋ง๋ ์ด๋ ค์ด ์ผ์ธ์ง ์์ํ ์ ์์ต๋๋ค!
@steelbrain ๋ด ์๋๊ฐ ์๋๋๋ค
@RIAEvangelist ๋น ๋ฅธ ์๊ฐ๊ณผ ๋ง์ ์ธ๋ด์ฌ์ ๊ฐ์ง๊ณ ์์ํฉ๋๋ค. ์๋๋ ๋ฐค๋ฆ๊ฒ๊น์ง ์ ๋ง ๋นจ๋ผ์ง๋ฏ๋ก ์ ์๋ ๋์ ๋ค์ด๋ก๋๋ฅผ ์คํํ๊ฑฐ๋ ์์ฝ๋ ์ํ๋ก ๋์ญ์์ค. :์ผ
์ด์จ๋ , (๊ธฐ๋ณธ) ์ 3์ ๋ํผ๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋๋ฌด ๋ง์ ์ผ์ด ์๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์๋ํ๊ณ ์ถ์ ์ฌ๋์ด ์์ต๋๊น?
๊ทธ๋ฌ๋ .asar ํ์ผ์ ์ ์ ๋ฒ์ ์ ์ฝ๊ฒ ์ ์ธํ ์ ์์ต๋๋ค. ์๋ง๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ ์ค๋ช ์ ์์คํ ์ด ํ์ํ ๊น์?
(ํ์ํ ๊ฒฝ์ฐ ๋ค์ด๋ก๋ํ๊ณ ) ๋ฐ์ฒ๊ฐ ์ฑ์ ํ์ํ ๋ฐํ์ ๋ฒ์ ์ ํ์๋ก ํ๋ ์ผ์ข ์ ๋ฐํ์ ๋ฒ์ ๋์คํจ์ฒ๋ ์ด๋ป์ต๋๊น? ์ด๋ฅผ ์ํด package.json์ ํญ๋ชฉ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
@YuriSolovyov ๋ฐํ์์ด ๊ธฐ๋ณธ์ ์ผ๋ก .json ํ์ผ์ ์ฒ๋ฆฌํ๋ค๊ณ ๋งํ ์ ์๋ค๋ ์ ์ ์ ์ธํ๊ณ . asar ํ์ผ์ ๋จผ์ ์ฝ๊ณ package.json์ ๋ณผ ์ ์๋ค๊ณ ๊ฐ์ ํ์ง๋ง ์ฝ๊ฐ ๋๋ ค์ง ๊ฒ์ ๋๋ค.
@Tribex ์, ๋ ผ๋ฆฌ ํ๋ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
-> associate .asar with runtime
-> user launches .asar app
-> dispatcher reads package.json in .asar
-> (optional) downloads required runtime version if needed
-> launches app
์ด์์ ์ผ๋ก๋ ๋ฐํ์ ๋ชจ๋๊ฐ Steam ๋๋ Chrome ์ฑ ๋ฐ์ฒ ์ฒ๋ผ ์๋ํด์ผ ํฉ๋๋ค. ์ฃผ์ ๋ฌธ์ ๋ ๋ฐํ์์ด ์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋๋ ๋ ์ฑ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
Electron ์ฑ์ Electron, ํนํ ๋ ธ๋ ๋ค์ดํฐ๋ธ ๋ชจ๋์ ์ ๊ทธ๋ ์ด๋๋ก ์ด๋ ค์์ ๊ฒช์ต๋๋ค. C++ ABI ๋ฌธ์ ๋ก ์ธํด Electron์ ์ ๊ทธ๋ ์ด๋ํ ๋๋ง๋ค ๋ค์ดํฐ๋ธ ๋ชจ๋์ ๋ค์ ๋น๋ํด์ผ ํฉ๋๋ค.
Steam์ ๋ชจ๋ ๊ฒ์์ ๋ ๋ฆฝ ์คํํ ํ๋ก๊ทธ๋จ์ด๊ธฐ ๋๋ฌธ์ Steam์ ๊ณ ํต์ ๊ฒช์ง ์์ต๋๋ค. ์ค์ ๋ก Steam ํด๋ผ์ด์ธํธ ์์ด ๊ฒ์์ ์์ํ ์ ์์ต๋๋ค. Chrome ์ฑ ์คํ๋ ๋์ง ์์ต๋๋ค. Chrome ์ฑ์ ์ผ์ข ์ ํด์ ์ธ์ด์ธ HTML/JS/CSS๋ก ์์ฑ๋์๊ธฐ ๋๋ฌธ์ Chrome์ ๋ค๋ฅธ ๋ฒ์ ์์ ์คํ๋๋ ๊ฐ๊ฒฉ์ด ์์ต๋๋ค.
@hokein ์ ๊ฑฐ๋ ์ ์ ๋ฒ์ ์ ์์กดํ๋ ์ฑ์ ๋ง๋ ๋๋ง๋ค ์ฌ๋ฌ ์ธ์ด๋ฅผ ๋ค์ด๋ก๋ํ๋ ๋ชจ๊ตญ์ด๋ก ๊ฐ๋ฒผ์ด "ํด๋ผ์ด์ธํธ"๊ฐ ์๋ ๊ฒ์ ์ด๋ป์ต๋๊น? ๊ทธ๊ฒ์ ์ฌ๋ณธ์ ๋ค์ด๋ก๋ํ ๋ค์ ํน์ ์ ์๋ก ๊ฐ ์ฑ์ ์คํํฉ๋๋ค.
์ผ์ฃผ์ผ์ ํ ๋ฒ ์ ๋ ์๋ก์ด Electron ๋ฆด๋ฆฌ์ค๊ฐ ์์ผ๋ฏ๋ก 2๊ฐ์ ์ฑ์ ๋์ผํ ๋ฒ์ ์ Electron์ด ์์ ๊ฐ๋ฅ์ฑ์ ํฌ๋ฐํฉ๋๋ค.
๋ฐํ์ ์ ๊ทผ ๋ฐฉ์์ ์ง์ํ๋ ค๋ฉด ๋ฆด๋ฆฌ์ค๋ฅผ LTS(์ฅ๊ธฐ ์ง์) ๋ฒ์ ๊ณผ ์ต์ ๋ฒ์ ์ผ๋ก ๋ถ๋ฆฌํด์ผ ํ ๊ฒ์ ๋๋ค. LTS๋ ํ๋ก๋์ ์ฉ์ด๊ณ ์ต์ฒจ๋จ์ ๊ฐ๋ฐ ๋ฐ ํ ์คํธ์ฉ์ ๋๋ค. LTS๋ ๋ฒ๊ทธ ์์ ๋ฐ ์ฃผ์ io.js ๋ฐ ์ฝํ ์ธ ์ ธ ๋ฒ์ ์ ๋์ฒดํ์ง ์๋ ์ผ๋ถ ๋ณ๊ฒฝ ์ฌํญ๋ง ์ป์ ์ ์์ผ๋ฏ๋ก ๊ธฐ๋ณธ ๋ชจ๋์ ๊ณ์ ์๋ํด์ผ ํฉ๋๋ค.
@etiktin ์ด ๋งํ ๊ฒ์ ๊ฐ์ํ ๋ ์ฌ์ฉ์ ์์คํ ์ ๋ง์ ์ ์ ์ฑ์ด ์์ง ์๋ ํ ํญ์ ๋๋ถ๋ถ์ ๋ฐํ์์ ๋ค์ด๋ก๋ํด์ผ ํ๋ฏ๋ก ๋ค์ด๋ก๋ ์๊ฐ์ ์ด์ ์ด ์์ ๊ฒ์ ๋๋ค.
2์ฃผ ๋์ ๋๋ ์ ์๋ฅผ ๋ณด๊ณ ์์๊ณ ์ง๊ธ์ 4๊ฐ์ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ณธ ๊ฒ ๊ฐ์ต๋๋ค.
@etiktin ์ด์์ ์ผ๋ก๋ electron์ด semver๋ฅผ ๋ฐ๋ฅด๋ ๊ฒฝ์ฐ ์ฑ์ ๋ฒ์ ^0.31์ ์ ์ธํ ์ ์๊ณ ์ต์ 0.31.x ๋ฆด๋ฆฌ์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์กฐ๊ธ ๋์์ด ๋ ์ ์์ต๋๋ค.
๋ค์์ ์ํํ๋ semver ์๋ ์ ๋ฐ์ดํธ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ํ๋ก๋์ ์ค์ธ ์ฑ์ด ์์ต๋๋ค.
์ ๋ฐ์ ์ผ๋ก ํ๋ก๋์ ์์ ๋งค์ฐ ์ ์๋ํฉ๋๋ค. ์ค๋ณต ์ ๊ฑฐ ๋ฐ ์์ถ์ ์ผ๋ฐ์ ์ธ ์ฃผ์ ๋ฒ์ ์ ๋ฐ์ดํธ์ ๋ํด ์ฝ 33%๋ง ๋ค์ด๋ก๋ํ๋ฉด ๋๋ฉฐ, ๋ถ ์ ๋ฐ์ดํธ์๋ ์ฑ์ ๋ฐ๋ผ 1-2MB๋ง ํ์ํฉ๋๋ค. ์๋ ์ ๋ฐ์ดํธ๋ Electron ๋ฐ ์ฑ ์ฝ๋๋ฅผ ํ๋์ ์์ ๋จ์๋ก ์ฒ๋ฆฌํ๋ฉฐ ํ๋ก์ธ์ค์์ ์ฝ๋ ์๋ช ์ ์๋ฐํ์ง ์์ต๋๋ค.
+1
์์ด๋์ด๋ก
+1
asar
์ ์ด๋ฆ์ ๋ฐ๊พธ๋ ค๋ฉด
๋๋ ์ด๊ฒ์ ๋ํด ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ๊ธฐ ์ํด ์์ต๋๋ค. ์ด๊ฒ์ด ์ด๋ฏธ ์กด์ฌํ๋ค๋ ๊ฒ์ ์์์ผ๋ฏ๋ก ์ฌ๊ธฐ์ + :100:์ ์ถ๊ฐํ๊ฒ ์ต๋๋ค.
JRE, .NET ๋๋ Adobe Air์ ๊ฐ์ ์๋ฃจ์
์ด ์์ ํ ํ์ํฉ๋๋ค. ๋ฐํ์์ ๊ฐ ์ฑ๊ณผ ํจ๊ป ํฌ์ฅํ๋ฉด ์ฑ์ด ์ ๋ง ์ปค์ง๊ธฐ ๋๋ฌธ์
๋๋ค.
์ฑ๊ณผ ๋ฐํ์์ ๋ถ๋ฆฌํ๋ ๊ฒ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
์๋ฃจ์ ์ด ๊ฐ๋ฐ๋์ด ๋ซํ ์์ต๋๊น?
@PierBover ์ด ๋ฌธ์ ๋ ์ด๋ ค ์์ต๋๋ค.
์ด๊ฒ์ - https://github.com/KeitIG/museeks/issues/48 - ํ์๋์์ต๋๋ค. ๋ค๋ฅธ ์ฌ๋์ ์ ์ฅ์์ ์์ต๋๋ค.
์ค @championswimmer ์๊ฒ ๊ฐ์ฌํ๊ณ ํผ๋์ ๋๋ ค ์ฃ์กํฉ๋๋ค.
๋ ๋ฆฝ ๋ฐํ์์ ๋ํ ์์์ด ์์ต๋๊น? ์ด๊ฒ์ ์์ ์ค์ธ ๊ฒ์ ๋๊น?
@PierBover ํ์ฌ ๋ฒ์ ์กฐ๊ฐํ๋ก ์ธํด ๊ณง ๋ฐ์ํ์ง ์์ ๊ฒ์ ๋๋ค(๊ฐ์ ์ ํํ ๋ฒ์ ์ ์ฌ์ฉํ๋ 2๊ฐ์ ์ ์ ์ฑ์ ์ฐพ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค). ์๋ง๋ v1์ด ์ถ์๋ ํ์ผ ๊ฒ์ ๋๋ค.
@jorangreef ๋ชจ๋ ํ๋ซํผ์์ ์ฐจ๋ฑ ์ ๋ฐ์ดํธ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํฉ๋๊น? ํด๋น ์ฝ๋๋ฅผ ๋ ๋ฆฝํ ๋ชจ๋๋ก ์ถ์ํ ์ ์๋ค๋ฉด ์ ๋ง ์ข์ ๊ฒ์ ๋๋ค.
@championswimmer ๋ค, ์ ์ฑ์ ์ํ ๋น๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค ์ ์์์ผ๋ฏ๋ก ์ด์ ์ฑ์ ๋ฐฐํฌํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํ์ง๋ง ํฅ๋ฏธ๋ก์ธ ๊ฒ ๊ฐ์์ ๊ณ์ ์ง์ผ๋ณด๊ณ ์์ต๋๋ค.
@etiktin ์, ์ฐจ๋ฑ ์๋ ์ ๋ฐ์ดํธ๋ ํ์ฌ ๋ชจ๋ ํ๋ซํผ์์ ์๋ํฉ๋๋ค. ๋ค์ด๋ก๋๋ฅผ ์ํํ๋ ์ต์ ์ค์น ํ๋ก๊ทธ๋จ๋ ํฌํจ๋์ด ์์ผ๋ฉด ์ค์น ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ์ฑ์์ ๊ณต์ ํ ์ ์์ผ๋ฉฐ ์ด๋ฏธ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์บ์๋ ๋ฒ์ ์ Electron์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ค์น ์๋๊ฐ ํจ์ฌ ๋นจ๋ผ์ง๋๋ค. ์ฌ๋๋ค์ด ๊ด์ฌ์ด ์๋ค๋ฉด ์์ค๋ฅผ ๊ณต๊ฐํ๊ณ ์ถ๊ณ ์์ผ๋ก ๋ช ๋ฌ ์์ ์ฝ๋๋ฅผ ๊ณต๊ฐํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค.
์๋ฅผ ๋ค์ด "App 1"์๋ 0.30.x๊ฐ ํ์ํ๊ณ 0.31.x์์ ์คํํ ์ ์์ผ๋ฉฐ "App 2"์๋ ๊ทธ ๋ฐ๋๊ฐ ํ์ํฉ๋๋ค. ์ด ์๋๋ฆฌ์ค์ ์น์๋?
๊ทธ๋ฐ ๋ค์ ๋ ๋ฒ์ ์ ์ค์นํด์ผ ํ๊ณ VS C++ 2008์ด 2005์ ๊ณต์กดํ๋ ๊ฒ์ฒ๋ผ ๋ ๊ฐ์ ๋ฐํ์์ด ์์ ๊ฒ์ ๋๋ค. VS C++ ๋ฐํ์์ด ์ค์น๋๋ ๋ฐฉ์์ด ์ ๋ง ๋ง์์ ๋ญ๋๋ค. ์ค์น ํ๋ก๊ทธ๋จ์ด ์๋ ๊ฒฝ์ฐ ํ์ํ ๋ฒ์ ์ ์ค์นํ๊ณ ๋๋จธ์ง๋ ๋ค์์ ์์กดํ ์ ์์ต๋๋ค. ๋์ค์ ๋ค๋ฅธ ๋ฐํ์์ด ๊ณต์กดํ ์ ์์ต๋๋ค. ๋ฒ์ ์๊ตฌ ์ฌํญ์ ์ ์ฉ๋ ์ค์น ํ๋ก๊ทธ๋จ์์ ๋ ์ฝ๊ฒ ์ํ๋๋ ๊ฒ ๊ฐ์ต๋๋ค.
@louy2 Visual C++ ์์ (์ถ์๊ฐ 3๋ )์ Electron(์ต์ ์ 3ํ ์ถ์)์๋ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ฌ๊ธฐ์ '์ด๊ฒ์ ๊ณ ์ฅ๋ ์์คํ
์
๋๋ค'๋ผ๋ ์ธ์ฉ๋ฌธ์ผ๋ก ๋งํ๊ฒ ์ต๋๋ค.
Electron ์ํ๊ณ์ ์ฑ์ +- 0.0.1 ๋๋
0.1.0 ๋ฒ์ ์ฐจ์ด
2016๋
2์ 20์ผ 18:55 Pierre de la Martiniรจre <
[email protected]>์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
@louy2 https://github.com/louy2
Visual C++ ์์ (๋ฆด๋ฆฌ์ค ๊ฐ 3๋ ) ๋ฐ Electron(๋น 3๊ฐ ๋ฆด๋ฆฌ์ค)
์ต์ ํ๋ฌ)โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/atom/electron/issues/673#issuecomment -186595285.
+1
fpm ์ ์ฌ์ฉํ์ฌ ์ ์๋ฅผ .deb ํจํค์ง๋ก ํจํค์งํ์ต๋๋ค. ์ด๊ฒ์ Linux(์ ์ด๋ Debian ๋๋ RPM ๊ธฐ๋ฐ)์์ ๊ณต์ ํ ์ถ๋ฐ์ ์ด ๋ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์์ ์ดํด๋ณผ ์ ์์ต๋๋ค: iamale/electron-deb ; ๋ํ ์์ ์ฑ์ด ์์ต๋๋ค . (asar์์๋ ์๋ํฉ๋๋ค. ๋ฐํ์ ํจํค์ง์ MIME ํญ๋ชฉ์ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.)
์ฐ๋ฆฌ๊ฐ ๋ค๋ฅธ ํ๋ซํผ์๋ ๊ทธ๋ฐ ๊ฒ์ ๊ฐ์ง๊ณ ์๋ค๋ฉด ์ ๋ง ์ข์ ๊ฒ์ ๋๋ค! ์๋ง๋ Windows ์ฉ์ผ๋ก ํจํค์ง๋ฅผ ์๋ ํ ์ ์์ง๋ง ๋ ์ด์ ์ ๊ทน์ ์ผ๋ก ์ฌ์ฉํ์ง ์์ผ๋ฉฐ ์ค์ ๋ก ์ฌ์ฉ ๊ฒฝํ์ด ๋ง์ง ์์ต๋๋ค.
(์ด ์ค๋ ๋๋ฅผ ์๋ ค์ค @louy2 ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!)
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , .asar์ MIME ์ ํ์ ๋ฌด์์
๋๊น? application/x-asar
ํ์๊ฒ ์ต๋๊น?
@iamale fpm
๋์ AppImageKit
๋ฅผ ์ดํด๋ณด์์ต๋๊น? ์ฃผ์ ์ด์ ์ ์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ชจ๋๋ฅผ ๋ง๋๋ ๋์ ํ๋์ ์คํ ํ์ผ๋ก ๋ชจ๋ Linux ๋ฐฐํฌํ์ ๋์์ผ๋ก ์ง์ ํ ์ ์๋ค๋ ๊ฒ์
๋๋ค. ๋ํ ์คํ ํ์ผ๊ณผ ํจ๊ป ๋ฒ๋ค๋ก ์ ๊ณต๋๋ฏ๋ก ๋ ์ด์ ์ฌ์ฉ์์๊ฒ ์ข
์์ฑ์ ์ค์นํ๋๋ก ์์ฒญํ ํ์๊ฐ ์์ต๋๋ค. ์ข์ ํ๋ก์ ํธ์
๋๋ค, ๋ด์ฃผ์ธ์.
๊ทธ๋ฆฌ๊ณ ๋ง์์ ์ด๋ป์ต๋๊น application/x-electron
?
@steelbrain ์ข์ ์๊ฐ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ๋ชปํฉ๋๋ค. Electron ๋ฐํ์์ ๊ฐ ์ฑ๊ณผ ํจ๊ป ํจํค์ง๋์ด์ผ ํฉ๋๋ค(์ด๋ฏธ์ง๋ ์์ฒด ํฌํจ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์). ์ด๊ฒ์ด ๋ฐ๋ก ์ด ๋ฌธ์ ์ ๋ํ ๊ฒ์ ๋๋ค. ๋น๋ก ๋ด ์๊ฐ์ Electron ์ฑ์์ AppImages๋ฅผ ๋ง๋๋ ๊ฒ์ด ์๋์ ์ผ๋ก ์ฌ์์ผ ํ๋ค๊ณ ์๊ฐํ์ง๋ง, ์ ํต์ ์ธ ํจํค์ง ๊ด๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ ๋(๋๋ฌธ ๋ฐฐํฌํ์ด๋ ํน๊ถ์ด ์๋ ์ฌ์ฉ์) ์ด๊ฒ์ด ์ข์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ง์ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
๊ทธ๋ฐ๋ฐ application/x-electron
๋ ํ๋ฅญํ๊ฒ ๋ค๋ฆฌ์ง๋ง ์๋ง ๊ณ์ ์ฌ์ฉํ ๊ฒ์
๋๋ค.
์ถ๊ฐ๋ asar ์ง์! ์์ง ์ ์ฅ์์ ์์ผ๋ฉฐ ์ค๋์ด๋ ๋ด์ผ ์ค ๋ค์ ๋น๋ํ ์์ ์ ๋๋ค. ์ง๊ธ ์ transfer.sh์์ ํจํค์ง๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค(๋งํฌ๋ ๋ค์ 2์ฃผ ๋์ ์ ํจํฉ๋๋ค).
.asar ์์ asar.json์ด ์์ด์ผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ ์์ต๋๋ค.
์์ด๋์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ํ์ํ ์ ์ ๋ฒ์ ์ด ๋ค์ด๋ก๋๋์๋์ง ํ์ธํ๋ ์ฑ์ ํ์ํ ์ ์ ๋ฒ์ ๊ณผ ์๋ฌด ๊ด๋ จ์ด ์์ต๋๋ค.
ํ์ํ ๊ฒฝ์ฐ default_app์ ์ฝํ ์ธ ์ ์ฑ์ ์ ์ธํ ๋๋จธ์ง ์ฑ์ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฑฐ๊ธฐ์ app.setPath("userData", __dirname + "/ElectronVersions");
๋ก ๋ฒ์ ์ ์ ์ฅํ ๋ค์ ํด๋น ๋ฒ์ ์ ๊ทธ๋๋ก ๋๊ณ ํ์์ ๋ฐ๋ผ ์ ๋ฒ์ ์ ์ค์นํ ์ ์์ต๋๋ค.
fpm ๋์ AppImageKit ์ ์ดํด๋ณด์์ต๋๊น?
https://bintray.com/probono/AppImages/Atom/_latestVersion#files ์์ Atom์ AppImage๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. chmod a+x
๋ค์ด๋ก๋ํ๊ณ ๋๋ฌด ์ค๋๋์ง ์์ x86_64 Linux ๋ฐฐํฌํ์์ ์คํํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
๋ฌธ์ ๋ ๋ฆฌ๋ ์ค์๋ง ์๋ ๊ฒ์ด ์๋๋ผ ํฌ๋ก์ค OS๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค. ์ฆ, Linux, Windows ๋ฐ Mac OSx์์ ์คํํ ์ ์์ด์ผ ํฉ๋๋ค.
๋ฐํ์์ด ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ asar ํจํค์ง์ ์ต์ /ํธํ๋๋์ง ์กฐํํ๋ ์ผ์ข ์ OS๋ณ ๋ฐ์ฒ
(์๋ ํ) ํ ๋ก ์ ์์ฝํ์๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
.asar
ํจํค์ง๋ง ๋ฐฐํฌ๋๊ณ Electron ๋ฐ์ด๋๋ฆฌ ๋ฒ๋ค์ ํผํ ์ ์์ต๋๋ค. ๋ฐํ์์ .asar
ํจํค์ง์ ์คํ๋ ๊ด๋ฆฌํฉ๋๋ค..asar
ํจํค์ง์ ์ฌ์ฉํ ๋ฒ์ ์ ์ ์ ์๋๋ก ์ถ๊ฐ ์ ๋ณด(์: ํ์ Electron ๋ฒ์ )๊ฐ ํฌํจ๋ ๋งค๋ํ์คํธ ํ์ผ์ ๊ฐ์ ์ ์ ์ ํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๋ํ ๊ฐ์๊ฐ ์ฌ๊ธฐ ์ ๋์ ์์ต๋๋ค..deb
) ๋ฐ .asar
ํจํค์ง์ ๋ํ ์๋ ์
๋ฐ์ดํธ์ ๋ํ ์์ด๋์ด๋ฅผ ์๊ฐํฉ๋๋ค. ๋ํ ๋ฐฐํฌ ์๋ฒ์ ๋ํ ์์ด๋์ด๋ ๊ณ ๋ ค๋ฉ๋๋ค..asar
ํจํค์ง๋ฅผ ์คํํ๊ธฐ ์ํด Electron์ fpm ํจํค์ง๋ฅผ ๊ตฌ์ถ ํ์ต๋๋ค._๋ฉด์ฑ ์กฐํญ: ๋ ผ์์ ์ฃผ์ ์์ ๋ง ํฌํจํ๋ ค๊ณ ํ์ต๋๋ค. ์ ๊ฐ ๋์น ๋ถ๋ถ์ด ์๋ค๋ฉด ์ํด ๋ถํ๋๋ฆฝ๋๋ค!_
์ฌ๊ธฐ๊น์ง์ ํ ๋ก ์ ์ฝ๊ณ ์์ ์ ์์ฝํ๊ณ ๊ทธ ์ค ์ผ๋ถ๋ฅผ ๋ค๋ฃจ๋ ค๊ณ ํ์ต๋๋ค. "๊น์ ํ๋ซํผ ํตํฉ"์ด ํฌํจ๋ ๋ฐํ์ ์์ด๋์ด๋ ๋จ์ํ ๋ก์ปฌ ์ธ์คํด์ค๋ฅผ ๋์ด์ ๊ฒ์ ๋๋ค. ์์คํ ์ ์ฒด ๋ฐํ์์ผ๋ก ์๋ํ๋ ์ต์ ์คํ ๊ฐ๋ฅํ ์ ํ์ ์ ์ํด์ผ ํฉ๋๋ค. ๋ํ ์ ์ฉํ ์ ์๋ ์์ผ๋ฉด ์ข์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค. ๋ง์ง๋ง ์น์ ์์๋ ๊ตฌํํด์ผ ํ๋ ๋ณ๊ฒฝ/๊ธฐ๋ฅ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
๋๋ถ๋ถ์ ๊ฐ๋ฐ์๊ฐ ์ํํ๋ ์์ (์: Electron ๋ฐ์ด๋๋ฆฌ ๋ฒ๋ค)์ ๋ชจ๋ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ ์ผ๋ก ์ฐ๊ฒฐํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค! ๊ทธ๊ฒ์ ์ฐ๋ฆฌ๊ฐ ํ๋งคํ๋ ๋ชจ๋ ํผ์์ ํจ๊ป ์ค๋ธ์ ๋ฐฐ๋ฌํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
package.json
์ฌ์ฉ[์๋ ์ฐธ์กฐ]). ๋ํ ์คํํ ํจํค์ง์ ๋ํ ์ฌ๋ฐ๋ฅธ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค.apm
์ ๋ง์ฐฌ๊ฐ์ง๋ก .asar
ํจํค์ง(GitHub ๋๋ ์ฃผ์ด์ง URL ๋ฑ์์)๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ๋ก์ปฌ์ ์ค์นํ๋ ค๋ฉด ํจํค์ง ๊ด๋ฆฌ์๊ฐ ํ์ํฉ๋๋ค( apt-get
์ ๋น๊ต ๊ฐ๋ฅ). Ubuntu์ brew
).package.json
์๋ ํ์ํ Electron ๋ฒ์ ์ ๋ํ๋ด๋ semver (๋๋ semver ๋ฒ์)๋ ํฌํจ๋์ด์ผ ํฉ๋๋ค..asar
ํจํค์ง์๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์ด ๋ค์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค์น ์ ์์ค ๋ฐ ๋ค์ด๋ก๋ ์ข
์์ฑ ๋ชจ๋๋ง ์ ๊ณตํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ๋๋ฌด ์ฉ๊ธฐ๋ฅผ ๋ธ๋ค๋ฉด ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ํ ์ข
์์ฑ์ ํฌํจํ๋ ์ผ์ข
์ _global_ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค(npm 3์ ํ๋ฉด ๊ตฌ์กฐ ๊ฐ ๋์์ด ๋ ์ ์์). ๊ทธ๋ฌ๋ ์ด๊ฒ์ ๋งค์ฐ ๋ณต์กํ๊ณ ๋นจ๋ผ์ง ์ ์์ต๋๋ค(์: ์ฑ ์ ๊ฑฐ ์).0.x
๋ฐ 1.x
๋ ๊ฐ์ง ํธํ๋์ง ์๋ ๋ฒ์ ๋ง ์์ต๋๋ค. ๋ถ ๋ฒ์ ๊ณผ ํจ์น๋ ์ด์ ๋ฒ์ ๊ณผ ํธํ ๋์ด์ผ ํ๋ฏ๋ก ์์คํ
์ ์ต์ ๋ฒ์ ์ 0.x
๋ฐ 1.x
๋ง ์์ผ๋ฉด ๋ฉ๋๋ค.virtualenv
, Ruby์ rbenv
๋ฐ ruby-build
์ฐธ์กฐ.pip
, Atom์ apm
.zygote
ํ๋ก์ธ์ค ์๋ _๋ฌด์, ๋ฐฑ๊ทธ๋ผ์ด๋_ ์
๋ฐ์ดํธ์ ๋ํ ํฅ๋ฏธ๋ก์ด ์ ๊ทผ ๋ฐฉ์์ด ์์ต๋๋ค.2to3
.epm
(์ ์ ํจํค์ง ๊ด๋ฆฌ์)๋ ์ด๋ฏธ ์ด๋ฆ์ผ๋ก ์ฌ์ฉ๋๋ ๊ฒ ๊ฐ์ต๋๋ค...
๋ฐํ์ elec
๋ฐ ์ฑ .tron
์ ํธ์ถํ ์ ์์ต๋๊น? TRON์๋ ์ํ๊ถ ๋ฌธ์ ๊ฐ ์์ ์ ์์ง๋ง ๋ฉ์ง๊ฒ ๋ค๋ฆด ๊ฒ์
๋๋ค. ;)
์๋ง๋ uepm
(๋ฒ์ฉ ์ ์ ํจํค์ง ๊ด๋ฆฌ์)์ผ ์ ์์ต๋๋ค. Electron์ด ์ง์ํ๋ ๋ชจ๋ OS์์ ์คํ๋๊ธฐ ๋๋ฌธ์
๋๋ค... ๋๋ epmc
(์ ์ ํจํค์ง ๊ด๋ฆฌ ์ผํฐ) ๋ฐ ํ์ผ .epack
(์ ์ ํจํค์ง). ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ต์ํ .tron
๋ณด๋ค ๋ ๋์ ์๋ฆฌ๋ฅผ ๋ด๊ณ ์ํ์ ํผ๋๋ ์ ์์ต๋๋ค("์ ํธ๋ก ์ ๋ด๋, ์น๊ตฌ" _์ํ๋ฅผ ๊ฑด๋ค์ค_).
์ ์์ ๊ด๋ จ๋ ์ด๋ก ๋ฌผ๋ฆฌํ ๋ถ์ผ์๋ ๋ง์ ๋จ์ด๊ฐ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ง์ ์ ์ธ ๊ด๋ จ์ ์์ง๋ง ํจํค์ง ๊ด๋ฆฌ์์์ ์ผ์ด๋๋ ์ผ์ ๋ฐ๋ฅด๋ฉด
@kapouer +quark? ์ฐ์ ๊ฒ์ธ์ง ํ์คํ์ง ์๋ค.
Quark๋ ๊ฐ์ ธ๊ฐ๊ณ ๋๋จธ์ง๋ ๋ชจ๋ฆ ๋๋ค. ๊ทธ๋ฌ๋ ์ด ์ ์ ๋ชฉ๋ก์ด ํ์ ์ ์ง๋ฅผ ๊ถ์ฅํ์ง ์์ ๋ ํ์ ์ ์ง๋ฅผ ์ ์งํด์ผ ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ์๊ธฐ ๋๋ฌธ์ Hauldron์ด๋ผ๋ ์ด๋ฆ์ ์ง์ง ์๊ฒ ์ต๋๊น? LHC์์ ์ดฌ์. Collider๋ ์ข์ ์๊ฐ์ด ์๋๋๋ค. ์ ํ์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๊ณ ์์ต๋๋ค. ๊ทธ ์๋ฏธ๋ ์ ์๊ณผ ๋ฐ์ ํ๊ฒ ์ฐ๊ด๋์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค...
Particle(s)
? ๊ฝค ๊ธธ์ง๋ง.
Wiki์ ์
์ ๋ชฉ๋ก
๋ช ๋ช ์ด ์ค์ํ์ง๋ง ๋ฐํ์/์ ๋ฐ์ดํธ/ํจํค์ง/๋ฐฐํฌ ์๋ฏธ๋ฅผ ๋จผ์ ์กฐ์ฌํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
lepton
๋ ์ ์๊ฐ ์ํ ์
์๊ตฐ์ด๊ธฐ ๋๋ฌธ์ ์๋ฒฝํด ๋ณด์
๋๋ค.
์ฝ๊ฐ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์์ด๋์ด: ๋ณด๋ค ์ผ๋ฐ์ ์ธ ๋ฐํ์ ๊ด๋ฆฌ์๊ฐ ํจ์ฌ ๋ ํ๋ฅญํ ๊ฒ์ ๋๋ค(์ค์ ๋ก ๊ตฌํํ๊ธฐ๊ฐ ๋ ์ด๋ ต์ง๋ ์์). ์๋ฅผ ๋ค์ด @nwjs ๋ฐ์ด๋๋ฆฌ๋ ํฌํจํ๊ณ ๋์ผํ ๋ฒ์ ๊ด๋ฆฌ์์์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค(@asdf-vm๊ณผ ๊ฐ์ง๋ง GUI ๋ฐํ์์ฉ).
๋น ๋ฅด๊ณ ๋๋ฌ์ด: https://github.com/iamale/lepton. ์ง๊ธ์ ๊ณ ์ ๋ฒ์ ๋ง ์ง์ํ๊ณ (semver๋ ๋ค์ ์์ ์) ์ฑ์ ์์ถ์ด ํ๋ฆฝ๋๋ค(์: ์์ง .asar-s ์์).
๋ฉ์ง!
+1
.asar, @iamale ์ด ์๋๋ผ๋ ์ด๋ค ํ์ผ์ ์ด์ด์ผ ํ๋์ง ์ ์๋ง ์๋ค๋ฉด ๊ด์ฐฎ์ ๊ฒ ๊ฐ์ต๋๋ค. ์๋ฅผ ๋ค์ด, package.json
์ ์ฐ๊ฒฐํ๋ json ์ฝ๋๊ฐ ์๋ file.something
๋ฅผ ๊ฐ์ง ์ ์์ผ๋ฏ๋ก ๋ฌด์์ ์ด์ด์ผ ํ๋์ง ์ ์ ์์ต๋๋ค...
์ด๊ฒ์ ์์ฃผ ๋ฏธ์น ์๊ฐ์ด์ง๋ง package.json
์ electron
ํ๋๋ฅผ ์ฌ์ฉํ์ฌ
๋ชจ๋ (๋ฌผ๋ก , ANY์ ๊ฐ์ง๋ ์์ง๋ง ์ค๋น๋) npm ํจํค์ง ์คํ ๊ฐ๋ฅ?
์ฒ๋ผ:
electron: {
"main": "index.js",
"runtime": ">= 1.2"
}
์ด๊ฒ์ electron
์ npm ํจํค์ง๋ฅผ ์ค์นํ๊ณ ํธ์คํธ ์์คํ
์์ ์คํ ๊ฐ๋ฅํ๊ณ ๋ณผ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ ๋ฌ์ฑํ ์ ์์ต๋๋ค.
์ฒ๋ผ
electron install atom
์ด๊ฒ์ด ์๋ํ๋ ค๋ฉด electron
๋ช
๋ น๊ณผ ์ค์ ๋ฐํ์ ๋ฒ๋ค์ ๋ถํ ํด์ผ ํฉ๋๋ค.
ํ์ง๋ง package.json์ ์ด๋ฆ์ package.electron
๋ก ๋ฐ๊พธ๊ณ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝํ๋ ๊ฒ์ ์ด๋ป์ต๋๊น?
run:{
"name" : "zDillinger",
"version" : "0.0.1-1",
"main" : "main.js"
},
electron: {
"recommended": "1.2",
"compatible": [
"1.2.1-1.2.5",
"1.3,1.3.0.1",
"1.1"
]
}
์ด ์์์๋ ์ ์ 1.2๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ฐพ์ ์ ์์ผ๋ฉด 1.2.1๊ณผ 1.2.5 ์ฌ์ด์ ๋ฒ์ ์ด ์๋์ง ํ์ธํ๊ณ , 1.3.1์ ํ์ธํ์ง ์์ผ๋ฉด 1.3.0.1์ ํ์ธํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด 1.3.0.1์ ํ์ธํฉ๋๋ค. 1.1์ ๊ฒฝ์ฐ, ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ 1.2๋ฅผ ๋ค์ด๋ก๋ํฉ๋๋ค.
๊ถ์ฅ ๋ฒ์ ์ ์๋์ผ๋ก ๋ค์ด๋ก๋ํ๋ ๊ฒ๊ณผ ๊ฐ์ ๊ฒ์ด ์์ ์ ์์ง๋ง ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ํธํ๋๋ ๋ฒ์ ์ ํ์ธํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํธํ๋๋ ๊ฒ์ ํ๋ํ๋ ๊ฐ์ ธ์์ ํ์ธํ๊ณ ์๋ฌด ๊ฒ๋ ์๋๋ฉด ํธํ๋์ง ์๋ ๋ฒ์ ์ ์ฌ์ฉํ์ง ์์ ๊ฒ์ธ์ง ์ฌ์ฉ์์๊ฒ ๋ฌผ์ด๋ณด๊ณ no
๋ฅผ ๋๋ฅด๋ฉด ํธํ๋์ง ์๋ ๋ฒ์ ์ผ๋ก ์คํ๋ฉ๋๋ค. PC์์ ์ฐพ์๊ณ , ์๋ฌด๊ฒ๋ ๋ฐ๊ฒฌ๋์ง ์์ผ๋ฉด ํธํ๋์ง ์๋ ๋ฒ์ ์ ์ฌ์ฉํ๋ผ๋ ๋ฉ์์ง ๋์ Electron ์ค์น๊ฐ ๊ฐ์ง๋์ง ์์๋ค๋ ์ค๋ฅ ํ์
์ ํ์ํฉ๋๋ค.
@sapioit ๋ณ๋์ ๋งค๋ํ์คํธ๋ฅผ ๊ฐ๋ ๊ฒ์ ๋์๊ฒ ์ข์ ์๊ฐ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค. ์ฌ์ฉ์ ์ง์ ํ์ผ ํ์ฅ์๋ฅผ ์ฌ์ฉํ๋ฉด ์์ ์ด ์๋นํ ๊ฐ์ํ๋ฉ๋๋ค. (.electron์ด ์กฐ๊ธ ๊ธธ์ด ๋ณด์ด์ง๋ง.)
@iamale ์ lepton์ ๋ฐ๋ฅด๋ฉด ์๋ง๋ .lept?
package.json
๋ฅผ ์ฌ์ฉํ์ง ์์์ผ๋ก์จ ์ด๋ค ์ด์ ๋ ๋ณด์ง ๋ชปํฉ๋๋ค. ์ ์ ์ฅ์ ์ ์ฐ ๋ถ๋ถ์ ์ํํฉ๋๋ค. Babel๊ณผ ESlint๋ ์ด ๊ธฐ์ ์ ์ฌ์ฉํ๊ณ ์ ์๋ํฉ๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด npm์ ์ง์ ์ฑ์ ๊ฒ์ํ๊ฑฐ๋ npm์ ํตํด ํจ์ฌ ์ฝ๊ฒ ์ฑ์ ๊ฒ์ํ ์ ์์ต๋๋ค.
์, ๋ ๋ฒ์งธ @YurySolovyov - package.json
์ ๋ฃ๋ ๊ฒ์ด ๋ ์ ์ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
@YurySolovyov ์ถ๊ฐ ํ์ผ์ ์ฅ์ ์ ๋ฐํ์์ด ์ถ๊ฐ ํ์ผ ํ์ฅ์์ ๋ํ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ๋ฑ๋กํ๊ณ ํ์ผ์ ๊ธฐ๋ณธ ์คํ๋๋ก ์๋ ์คํํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. package.json์ ์ฌ์ฉํ์ฌ ์ด ์์ ์ ์ํํ๋ ค๋ฉด ๋ชจ๋ JSON ํ์ผ์ ๋ํ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ๋ฑ๋กํด์ผ ํ๋ฏ๋ก ์ฌ์ฉ์์๊ฒ ๊ณ ํต์ด ๋ ๊ฒ์ ๋๋ค.
@Tribex ๊ณต์ ํ ํฌ์ธํธ.
์๋ง๋ package.electron์ ๋ฐํ์ "Hey, take a look at package.json, it should contain the info on how to launch it"
๋ฅผ ์๋ ค์ฃผ๋ ์ผ์ข
์ ๋งํฌ์ผ ์ ์์ต๋๋ค. ์ด๊ฒ์ "๋ฏธ์น" ์์ด๋์ด์์ต๋๋ค. ๊ทธ๋์ ๋ค, ์ ๋ ๊ทธ๊ฒ์ ์กฐ์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
@tribex ์ ๋์ํฉ๋๋ค. ๋ณ๋์ ํ์ผ์ด ํ์ํ๊ฑฐ๋ package.json์ ์ด๋ฆ์ ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค. ๋ค๋ฅธ ๊ฒ์.
@wurysolovoyov ๋น์ ์ ๊ทธ๋ ๊ฒ ํ ์ ์์ต๋๋ค. ํ์ผ์ ์ด ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ํ์ผ์ ํ์ฅ์๊ฐ ์ฒจ๋ถ๋์ด ์๋ ๊ฒ์
๋๋ค. ์ด ๊ฒฝ์ฐ ๋ชจ๋ ํ์ฅ์๋ ๋์ผํ ์ํํธ์จ์ด๋ก ์ด๋ฆฝ๋๋ค. ๋ฐ๋ผ์ electron
์ด์ธ์ ๋ค๋ฅธ ๊ฒ์ผ๋ก $ .json
์ ์ด ์ ์๋ ๊ฒ์ด ๋ฌธ์ ๊ฐ ๋์ง ์๋ ํ(์ ์ ํ ์ ์ ์ฑ์ด ์ด๋ฆฌ์ง ์์ผ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํจ) ์ฌ์ ํ ๊ทธ๋ ๊ฒ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ .json
ํ์ผ์ ์ด ์ ์๋๋ก ํ๋ ค๋ ์ฌ๋์ ํ์ผ์ ์ด ๋ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ์ผ๋ก ์ด ์ ์์ต๋๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด ํธ์ง๊ธฐ๋ฅผ ๋จผ์ ์ด๊ฑฐ๋ 1๋ถ๋ง๋ค .json
๋ฅผ ์ด ํญ๋ชฉ์ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ํ์ผ์ ํธ์งํ ์ ์์ต๋๋ค.
@wurysolovoyov ๊ฐ ์๋๋ผ @YurySolovyov ๋ฅผ ์๋ฏธํฉ๋๋ค.
๋ช
ํํ๊ฒ ์ธ๊ธํ์ง ์์์ ์๋ ์์ต๋๋ค. package.electron
์ ๋ชฉ์ ์ ์ด ๋๋ ํ ๋ฆฌ๊ฐ ์ฑ์ด๋ผ๋ ํ์์ ์ญํ ์ ํ ๋ฟ์ด๋ฏ๋ก ๋ฐํ์์ด ๋์ผํ ํด๋์ ์๋ package.json
๋ฅผ ์ฐธ์กฐํ ์ ์์ต๋๋ค. , ์ฑ์ ์คํํฉ๋๋ค. package.json
๋ฅผ ์ง์ ์ด๋ฉด OS์์ .json
์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ํญ๋ชฉ์์ ์ด๋ฆฝ๋๋ค.
๋ฐ๋ก ๊ฐ๊ธฐ ์์คํ ๊ณผ ๊ฐ์ ์ข ๋ฅ์ ๋๋ค.
@YurySolovyov ์ด ๊ฒฝ์ฐ ํด๋น ์ ๋ณด๋ฅผ package.json ๋๋ package.electron์ ์ ์ํ๋์ง ์ฌ๋ถ๋ ์ทจํฅ์ ๋ฌธ์ ์ผ ๋ฟ์ ๋๋ค. ๋๋ ๊ทธ๊ฒ์ด ๋์๊ฒ ๋ ๊นจ๋ํด ๋ณด์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ธ์ ์ผ๋ก ๊ทธ๊ฒ์ ๋ณ๋๋ก ๋ณด๊ดํ ๊ฒ์ ๋๋ค. ์๋ง๋ package.json์ ์์ง ์์ฑ์ด๋ฉด ์ถฉ๋ถํ ๊ฒ์ ๋๋ค.
@Tribex npm์ ์ฑ์ ๊ฒ์ํ๊ธฐ ์ํ ์๊ตฌ ์ฌํญ์ด๊ธฐ๋ ํฉ๋๋ค. ์ ํจํ package.json
๊ฐ ์์ด์ผ ํฉ๋๋ค.
@YurySolovyov ๋ง์ต๋๋ค. package.electron์ ์ฌ์ฉํ๋ค๋ฉด package.json์ ์ฌ์ ํ โโ์กด์ฌํฉ๋๋ค. .electron์ ๋ฐํ์ ์ ๋ณด๋ฅผ ์ ์ํ๋ ๋ฐ๋ง ์ฌ์ฉ๋๊ฑฐ๋, ์ ์์ ๊ฒฝ์ฐ ๋ง์ปค๊ฐ ๋ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก package.electron
๋ ์คํ ๊ฐ๋ฅํ _marker_ ๋ก๋ง ์กด์ฌํ๋ฏ๋ก package.json์ ์ฌ์ ํ โโ์์ฒด ๋ฐ์ดํฐ์ ํจ๊ป ์กด์ฌํ์ง๋ง ์ด๊ฒ์ด ๋ณ๋์ ํ์ผ์ด ํ์ํ ์ด์ ์
๋๋ค. _ ๋๋ธ ํด๋ฆญ์ ์ฑ์ ์ฝ๋๋ค _. ๋๋ ์ฌ์ ํ package.electron
์ ์ด๋ฆ์ my-app.electron
๋๋ my-app.electron
๋ก ๋ฐ๊ฟ ์ ์๊ธฐ๋ฅผ ์ํฉ๋๋ค.
@sapioit ํ์คํ, ๊ทธ๊ฒ์ด .electron
ํ์ผ์ ๊ฐ๋ ์์ ์
๋๋ค. .electron
ํ์ฅ์๊ฐ ์๋ ํ ์ํ๋ ์ด๋ฆ์ ์ง์ ํ ์ ์์ต๋๋ค.
๋ฐํ์ ํธ๋ค๋ฌ๊ฐ *.electron์ ์ดํด๋ณธ ๋ค์ package.json์์ ์คํํ ์ ์์ ๋ฒ์ ์ ๊ฒฐ์ ํ ๋ค์ package.json์ ๋ค์ ์ฝ๋๋ก ํ๋ ๊ฒ์ ์ฌ์ ํ โโ๊ทธ๋ค์ง ๊นจ๋ํ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
@Tribex ์ package.json์ด ๋ ๋ฒ ์ฝํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๊น?
.electron
ํ์ผ์ ๋ฃ์ผ๋ฉด ๋ฐํ์์ ๋ชจ๋ ๊ฒ์ด ์ฌ๋ฐ๋ฅด๋ค๊ณ ๊ฐ์ ํ๊ณ package.json
๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ์ ์์ํ๊ณ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ํ์ผํจ์คํฉ๋๋ค.package.json
์ง์ ๋๋ electron
์น์
์๋์ ๋ฃ๋ ๊ฒฝ์ฐ์๋ ์ฝ๊ธฐ๊ฐ 1ํ๋ง ํ์ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด .electron
ํ์ผ(์์ด๋์ด?)์ ๋ฌด์์ ๋ฃ์ด์ผ ํ ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋น์ด ์์ด๋ ๊ด์ฐฎ์ ๊ฒ์
๋๋ค.@tribex .electron
๋ package.json
๋ฅผ ๊ฐ๋ฆฌํฌ ์ ์์ต๋๋ค. ์ด๋ค ์ด์ ๋ก package.json์ ์ด๋ฆ์ด ๋ฐ๋๋ ๊ฒฝ์ฐ๋ฅผ ๋๋นํด์์
๋๋ค. ์ด๋ฐ ์์ผ๋ก NPM
package.json
๋ฅผ ๊ฐ์ง ์ ์๊ณ Electron์ ๋ํด ๋ค๋ฅธ package.json
(์๋ง๋ electron.json
)๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ์์? ์ฑ์ package.json์ด ํจํค์ง ๊ด๋ฆฌ์๋ก ๊ฐ์ ธ์ฌ ํญ๋ชฉ์ ์๋ ค ์ฃผ๊ธฐ๋ฅผ ์ํ ์ ์์ง๋ง ์ผ๋จ ๊ฐ์ ธ์จ ํ์๋ ํ์ผ์ ์ด๋ํ๊ฑฐ๋ ์ด๋ฆ์ ๋ฐ๊ฟ ํ์ ์์ด ์ฑ์ ์คํํ๊ณ ์ถ์ ์ ์์ต๋๋ค.
_ app.electron
_
{
"package": "package.json",
"recommended": "1.2",
"compatible": [
"1.2.1-1.2.5",
"1.3,1.3.0.1",
"1.1"
]
}
๋๋
_ myapp.electron
_
{
"package": "electron.json",
"recommended": "1.2",
"compatible": [
"1.2.1-1.2.5",
"1.3,1.3.0.1",
"1.1"
]
}
๋๋ ๋ชจ๋ ๊ฒ์ package.json
์ ๋ฃ์ผ๋ฉด .electron
๋ง ์ฑ์ ์ฌ๋ ๋ฐ ์ฌ์ฉํ๋ ค๋ .json
์ ๋ํ ๋งํฌ๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค.
_ app.electron
_
{
"package": "package.json"
}
๋๋
_ myapp.electron
_
{
"package": "electron.json"
}
๋ํ ๊ฐ์ ๋๋ ํ ๋ฆฌ์ ๋ ๊ฐ์ ๋ฐ์ฒ(ํ๋๋ ํด๋ผ์ด์ธํธ์ฉ, ๋ค๋ฅธ ํ๋๋ ์๋ฒ์ฉ)๋ฅผ ๊ฐ๊ณ ์ถ์ ์๋ ์์ต๋๋ค. ํด๋ผ์ด์ธํธ๋ ์๋ฒ ํ์ผ์ ์ฌ์ฉํ์ฌ ํ๋ ์ด์ด๊ฐ ํ๋๋ง ์๋ ๋ก์ปฌ ์๋ฒ๋ฅผ ์์ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํ์ผ์ 99%(500MB ์ด์์ ํ์ผ์ ์ฌ์ฉํ๋ ๊ฒ์์ด ์๋ค๊ณ ๊ฐ์ )์ 5-6๊ฐ์ ๋ค๋ฅธ ํ์ผ์ ๋ชจ๋ ๋ณต์ ํ ํ์๊ฐ ์์ผ๋ฉฐ ๋ ๊ฐ์ ๋ณ๋ ๋๋ ํ ๋ฆฌ์ ๋ ํ์๊ฐ ์์ง๋ง ํ๋์ ์ถ๊ฐ ๋๋ ํ ๋ฆฌ๋ง ์์ผ๋ฉด ๋ฉ๋๋ค. ์์ฒด์ ์ผ๋ก ์๋ฒ๋ฅผ ์์ํ ์ ์๋ ํ์ผ์ ๋๋ค. ๋ง ๊ทธ๋๋ก ๋์ผํ ๋๋ ํ ๋ฆฌ์ ์ฌ๋ฌ ์คํ ํ์ผ์ด ์๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
๋ณ๋์ package.electron
๋ package.electron.json
๋๋ .json
ํ์ฅ์๋ฅผ ๊ฐ๋ ์ด๋ฆ์ผ๋ก ์ง์ ๋์ด์ผ ํฉ๋๋ค. ์ด๋ ํธ์ง๊ธฐ์ IDE๊ฐ ๊ตฌ๋ฌธ์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ฒฐ์ ํ ์ ์๋๋ก ํ๊ธฐ ์ํจ์
๋๋ค.
@StreetStrider ์ฐจ๋ผ๋ฆฌ .electron
๊ฐ ์ค์ ๋ก ์ ํจํ .json
์์ IDE์ ๊ฐ๋ฅด์ณค์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ @sapioit ์ .json
์ฐ๊ด์ ๋ํด ๋
ผ์ ํ์์ ์ง์ ํฉ๋๋ค. ์ธ๊ธฐ์๋ OS๋ ์ด์ค ํ์ฅ ์ฐ๊ฒฐ์ ์ง์ํ์ง ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ( .foo.bar
)
ํธ์งํ ๋ .json ํ์ฅ์๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๋๋ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ ํด๋ฆญํ๊ณ ํธ์ง๊ธฐ๋ก ์ด ์ ์์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก ์คํ๊ธฐ๋ก ํ์ผ์ ์ด์ด ์ฌ์ฉ์๊ฐ ํธ์ง๊ธฐ๋ก ํ์ผ์ ์ด ์ ์๋๋ก ํ๋ Adobe Air์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
@sapioit ๊ณต์ ํ ์์ , ๋๋ package.json์ ๊ฐ๋ฆฌํค๋ ๊ฒ์ ๋ํด ๋น์ ์ ์๊ฒฌ์ ๋์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋์๊ฒ ๋ฐํ์๊ณผ ํ๋ ์ด์ด๋ ๋ณ๊ฐ์ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ์ด์ ํ๋ ์ด์ด๋ก์ ๋ ๋ง์ด ๋์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํจํค์ง ๊ด๋ฆฌ์์ ๊ฐ๋ ์ ์ต์ํ ๊ธฐ์ ์ ์ผ๋ก ๊ธฐ์ธ์ด์ง ์ปค๋ฎค๋ํฐ ์ธ๋ถ์์ ๋๋ฆฌ ์ฌ์ฉ๋์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
๋น๋ฉดํ ๋ฌธ์ ๋ ๋ฐํ์์ ๋ง๋๋ ๊ฒ์ ๋๋ค. JRE ๋ฐ .Net๊ณผ ๋น์ทํฉ๋๋ค. ์ ์๊ฐ ์๋๋๋ค.
@baconface ์์ธํ ์ค๋ช ํด ์ฃผ์๊ฒ ์ต๋๊น? ๋น์ ์ด ์ฌ๊ธฐ์ ๊ตฌ๋ณํ๋ ๊ฒ์ด ๋ฌด์์ธ์ง๋ ๋ถ๋ถ๋ช ํฉ๋๋ค.
@baconface ์, ํ์ง๋ง JRE์ .Net๋ ์ค์นํ ์ ์์ต๋๋ค.
JRE๊ฐ ์์ผ๋ฉด .jar
ํ์ผ์ electron
๋ฐํ์์ด ์๋ ํจํค์ง๋งํผ ์ธ๋ชจ๊ฐ ์์ต๋๋ค.
์ด์์ ์ผ๋ก ์ด ๋๊ตฌ๋ ์ ์๋ฅผ ์ค์นํ๋ ๊ธฐ๋ณธ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐฐํฌ๋๊ฑฐ๋ ์ด์์ ์ผ๋ก ํ์ฐ ๋ฌธ์ ๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐฐํฌ๋ฉ๋๋ค.
์ด๋ฅผ ์ํด์๋ .electron
๋์น๋ ํน์ ํ์ผ์ ์คํํ๋ ์คํ ํ์ผ์ ๋ง๋๋ ์์ ๋๊ตฌ๋ง ์์ผ๋ฉด ๋ฉ๋๋ค. ๊ฐ๋จํฉ๋๋ค.
.lept
๋ฉ์ง๋ค์. ๊ฐ์ฌํฉ๋๋ค!
๊ฐ์ธ์ ์ผ๋ก ์๋ก์ด ๊ตฌ์ฑ์ ๋ง๋ค ํ์๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. pkg.engines
์ฌ๊ธฐ์์๋ ๋งค์ฐ ๊ฐ๋จํด ๋ณด์
๋๋ค(ํ์ง๋ง 1.x || >=2.5.0 || 5.0.0 - 7.2.3
from npm's docs ์ ๊ฐ์ ์ผ๋ถ ๋ณต์กํ semver ํํ์์ ํ์ฉํด์ผ ํ๋ฏ๋ก { recommended, compatible, etc }
- @sapioit ์ ์์ ๊ฐ์ ๊ตฌ์กฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค). ( lepton
ํ๋๋ฅผ ์ถ๊ฐํ์ง๋ง scripts.run
๋ ์ผ๋ฐ์ ์ผ๋ก npm start
์ ์ํด ํธ์ถ๋๊ณ lepton์ ์์ฒด $VARIABLES
๋ฅผ ์ถ๊ฐํ์ฌ ์๋ฏธ ์ฒด๊ณ๋ฅผ ๋ค์ ๊นจ๋จ๋ฆฝ๋๋ค. .)
๋๋ ๋ชจ๋ ๊ฒ์ package.json์ ๋ฃ์ผ๋ฉด .electron์ด ์ฑ์ ์ฌ๋ ๋ฐ ์ฌ์ฉํ๋ ค๋ .json์ ๋ํ ๋งํฌ๋ง ๊ฐ์ง ์ ์์ต๋๋ค.
๋์๊ฒ๋ ์ข์ ์์ด๋์ด๊ฐ ์๋ ๊ฒ ๊ฐ๋ค. ์ฌ๋ฌ ์ง์
์ ์ด ์๋ ํจํค์ง๊ฐ ์๋ ๊ฒฝ์ฐ ์ง๊ธ scripts
๋งต์ด ์๋ ๊ฒ์ฒ๋ผ ์ฌ์ ํ ํ๋์ package.json์ ๋ชจ๋ ํฌํจํ ์ ์์ต๋๋ค. ๋๋ ๋ค์๊ณผ ๊ฐ์ด ์๊ฐํ๊ณ ์์ต๋๋ค.
// package.json
{
"engines": {
"node": "4.x",
"electron": "1.x"
},
"lepton": {
"run": "$ELECTRON .",
"server": "$NODE ./server.js",
"server-debug": "$NODE ./server.js --debug"
}
}
# lepton-run [DIR OR TARBALL] [CONFIGURATION]
$ lepton-run . # the default configuration is `run`
$ lepton-run . server
$ lepton-run . server-debug
๊ทธ๋ฐ ๋ค์, ์ด๊ฒ์ ์คํ ํ์ผ๋ก ์ ๋ง๋ก ์ํ๋ค๋ฉด Linux / macOS์์๋ ๊ฐ๋จํ ์ ธ ์คํฌ๋ฆฝํธ(#!shebang ํฌํจ 3์ค)๋ฅผ ์ฌ์ฉํ ์ ์๊ณ Windows์์๋... ์... ยฏ_(ใ)_/ยฏ
๋จผ์ , Release.Breaking.Feature.Fix
๋๋ Semantic Version์ Explicit Versioning์ผ๋ก ๋์ฒดํด์ผ ํ๋ ์ด์ ์ ๊ฐ์ด ๊ฑฐ์ ๋ชจ๋ ๊ฒ๊ณผ ์ฌ์ ํ ํธํ๋๋ ๋์์ semver์ ๋ํ ๋ ๋์ ๋์์ ์ ๊ณตํ๋ ์ด ๊ธฐ์ฌ๋ฅผ ์ดํด๋ณด๊ณ ์ถ์ ์๋ ์์ต๋๋ค.
๋์งธ, ๋ฌธ์ ๋ ๊ทธ๊ฒ๋ค์ ์ค์ ๋ก ์ด๋ป๊ฒ ๊ตฌ๋ณํ ๊ฒ์ธ๊ฐ์ด๋ค. ๋ด ๋ง์, server.js
๊ฐ ์ด๋ฏธ --debug
์ธ์๋ฅผ ์๋ฝํ๋ค๋ฉด ์ ๊ทธ๊ฑธ๋ก ๊ท์ฐฎ๊ฒ ํ๊ณ ์ฌ๋๋ค์ด ์์ ์ ํ์ผ ๊ตฌ์ฑ์ ๊ฐ์ง๋๋ก ํ์ฉํ์ง ์๊ฒ ์ต๋๊น? 2.2-2.4
์์ ์์
ํ๋ ํด๋ผ์ด์ธํธ์ 1.4-1.9.2.1
์์๋ง ์๋ํ๋ ์๋ฒ์ ๊ฐ์ด ์๋ฒ์๋ ํด๋ผ์ด์ธํธ์ ๋ค๋ฅธ ๊ตฌ์ฑ์ด ํ์ํ ์ ์์ต๋๋ค.
๋น์ ์ด ์ ์ํ ๋๋ก ์ฐ๋ฆฌ๋ ๋ ์ ํ์ ์ผ ๊ฒ์
๋๋ค.
๋ํ --debug
๋ฟ๋ง ์๋๋ผ ๋ ๋ง์ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ด๋ป์ต๋๊น? ์ด์ ๊ฐ์ ๋ ๋ง์ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ป๊ฒ ์คํํฉ๋๊น? ๊ทธ๋ ๊ฒ ํ๋ ๊ฒ์ด ์์ ํฉ๋๊น? ๊ฒฐ๊ตญ, ํ๋์ ํ์ผ์ด ๊ทธ๋ ๊ฒ ํ๊ธฐ๋ฅผ ์ํ๋ค๋ฉด ๋ณ๋์ ํ์ผ์ ๊ฐ์ง๊ณ ๋ ํ ์ ์์์ง๋ง, ์ด๋ ๊ฒ ํ๋ฉด ๋งค๊ฐ๋ณ์๊ฐ ์๋ .lept
ํ์ผ์ ์คํํ์ ๋ ๋ฐ์ํ ์ ์๋ ๊ฒฐ๊ณผ๊ฐ ์๋ง์ด ๋ฉ๋๋ค.
๋๋ฒ๊ทธ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ๋ฅผ ์คํํ๋ ค๋ฉด --debug
์ธ์๋ฅผ ์ฌ์ฉํ์ฌ .lept๋ฅผ ์คํํ๋ฉด ๋์ง ์์๊น์? ๋๋ --debug
์ธ์๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น ํ์ผ์ ์คํํ๋ ๋ค๋ฅธ ํ์ผ์ ๋ง๋ค ์ ์์ต๋๋ค. ๋๋ฌด ๊ฐ๋จํ์ง ์์ต๋๊น?
๋ด๊ฐ ์ดํดํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค...
๋จผ์ , semver์ ๋ํ ๋ ๋์ ๋์์ ์ ๊ณตํ๋ ์ด ๊ธฐ์ฌ๋ฅผ ์ดํด๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ข์ ์์ด๋์ด ๊ฐ์์! ๋๋ Electron์ด ์ด ๋ฒ์ ์ฒด๊ณ๋ก ์ ํํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ๋ํ ์ต์ข ์ฌ์ฉ์ ์ ํ์๋ ํ๋ฅญํ์ง๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์์ง, ๋ฐํ์ ๋ฐ ๊ธฐํ ํญ๋ชฉ์๋ ์ค์ ๋ก ํ์ํ์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด์์ ์ผ๋ก๋ ์ฌ์ฉ์๊ฐ ์คํ ์ค์ธ Electron์ ๋ฒ์ ์กฐ์ฐจ ์ ์ ์์ด์ผ ํฉ๋๋ค (์ํ์ง ์๋ ํ).
์๋ฒ์ ํด๋ผ์ด์ธํธ์ ๋ค๋ฅธ ๊ตฌ์ฑ์ด ํ์ํ ์ ์์ต๋๋ค.
์ด๊ฒ์ ๋ฌธ์ ๊ฐ ๋ ์ ์์ง๋ง ๋ ์ด์์ ๋ฐํ์ ๋ฒ์ ์ด ํ์ํ ํ๋ก์ ํธ๋ ์์ํ ์ ์์ต๋๋ค.
๋๋ฒ๊ทธ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ๋ฅผ ์คํํ๋ ค๋ฉด --debug ์ธ์๋ฅผ ์ฌ์ฉํ์ฌ .lept๋ฅผ ์คํํ๋ฉด ๋์ง ์์๊น์?
์, ์ ์๋๋์?
# lepton-run [DIR OR TARBALL] [CONFIGURATION] ARGS...
$ lepton-run . server --debug --myoption=5
# resolves to:
$ path/to/node ./server.js --debug --myoption=5
์ด ์ด์ค ๊ตฌ์ฑ package.json์ ์๋ฒ๊ฐ a) ํด๋ผ์ด์ธํธ์ ๋ง์ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๊ณต์ ํ๊ณ b) ์ต์ข ์ฌ์ฉ์๊ฐ ์คํํ๋๋ก ์๋๋ ๊ฒฝ์ฐ์ ์ข์ต๋๋ค. ๋ค๋ฅธ ๊ฒฝ์ฐ์๋ ๊ฐ๊ฐ ๊ณ ์ ํ package.json์ด ์๋ ๋ ๊ฐ์ ์ ์ฅ์/ํจํค์ง๋ก ๋ชจ๋ ๋ถ๋ฆฌํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
Electron์ ์ํ ๊ฒ์ด ์๋๋ผ ๋น๋ํ๋ ํ๋ก์ ํธ๋ฅผ ์ํ ๊ฒ์
๋๋ค. Electron์ ํ์์ ๋ง๊ฒ Semantic Versioning์์ ํ์๋ ์์ฒด ์์คํ
์ ๊ฐ๊ณ ์์ผ๋ฉฐ ๋ณ๊ฒฝํ ๊ฐ๋ฅ์ฑ์ ๊ฑฐ์ ์์ง๋ง Lepton ๋ฐ ๊ธฐํ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ ์์ง _ development hell
_, ์๋งจํฑ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์์ ํ ๊ฑด๋๋ฐ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋๋ฒ๊ทธ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ๋ฅผ ์คํํ๋ ค๋ฉด --debug ์ธ์๋ฅผ ์ฌ์ฉํ์ฌ .lept๋ฅผ ์คํํ๋ฉด ๋์ง ์์๊น์?
์, ์ ์๋๋์?
# lepton-run [DIR OR TARBALL] [CONFIGURATION] ARGS... $ lepton-run . server --debug --myoption=5 # resolves to: $ path/to/node ./server.js --debug --myoption=5
์๋์, ๊ตฌ์ฑ์ ์๋ฏธํ๋ ๊ฒ์ด ์๋๋ผ ์คํ๊ธฐ๋ฅผ ํตํด ์๋ฏธํฉ๋๋ค. ๊ทธ๋์ ์ด๊ฑฐ:
# lepton-run [DIR OR TARBALL] [CONFIGURATION] ARGS...
$ lepton-run . server --debug
๊ทธ๋ฌ๋ ํ์ผ์ ์ด์ง ์๊ณ --myoption=5
์ธ์๋ฅผ ์ฌ์ฉํ์ฌ .lept
๋ฅผ ์์ํฉ๋๋ค. ๋ฐ์ฒ๋ฅผ ํตํด ์ธ์๋ฅผ "_push_"ํ ์ ์๋ค๊ณ ํ์ ํ๊ธฐ ๋๋ฌธ์ ์ํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์ ์ ์ ์ธ์๋ก ์คํํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ --debug
์ ๋ํ ํ์์ฑ๋ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ํ ๊ฐ์ง๋ ์ฐ๋ฆฌ๊ฐ ๋์ํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฌ์ฉ์๋ ์ง์์ ๋ฐ๊ณ ์๋ ์์ ์ ์ธ ๋ฒ์ ์ ์ํฉ๋๋ค. ์ฌ๋๋ค์ด ๋ง์ ์ซ์๋ฅผ ๊ธฐ์ตํ ๊ฐ๋ฅ์ฑ์ด ๋ฎ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ์ฒซ ๋ฒ์งธ ์ซ์๋ฅผ ๊ธฐ์ตํ๊ธฐ ๋๋ฌธ์ " ๋ฆด๋ฆฌ์ค "๋ฅผ ์์ฒด ๋ฒํธ๋ก ๋ง๋ค์์ต๋๋ค.
@sapioit "Release"
ํ๋๊ฐ ์ต์ข
์ฌ์ฉ์๋ฅผ ์ํ ๊ฒ์ด๋ผ๋ฉด ๋ค๋ฅธ ํ๋๋ ๋ฌด์์ ์ํ ๊ฒ์
๋๊น? ์ต์ข
์ฌ์ฉ์์ ๊ฒฝ์ฐ ์ ๋ฒ์ ์ด ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ ์
๋ฐ์ดํธ๋ ๋ฐํ์(package.json์ ๋ฒํ๋ฅผ ํตํด)์ด ํ์ํ ๊ฒฝ์ฐ ๋ฐํ์๋ ์
๋ฐ์ดํธ๋์ด์ผ ํฉ๋๋ค.
๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1.7
13
๋ฒ์ ์ ๊ธฐ์ตํ ๊ฐ๋ฅ์ฑ์ด ๋ ํฝ๋๋ค(์:).locked on
์๋ ์
๋ฐ์ดํธ ์ ๊ฐ์ ๋ค๋ฅธ ๋ง์ ์ด์ ๊ฐ ์์)์ ์ข์ ์์
๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ณต์ก์ฑ์ ์ ๊ฑฐํ์ฌ ๋ณ๊ฒฝ ๋ก๊ทธ๋ฅผ ๋ ์ฝ๊ฒ ๋ณผ ์ ์์ต๋๋ค.๊ทธ ์ด์ ์ค ์ผ๋ถ์ ๋ถ๊ณผํฉ๋๋ค... ๋ ์์ธํ ์ค๋ช ํ ์ ์๋ค๋ฉด ๋ ์์ธํ ์ค๋ช ํ๊ณ ์ ๊ทธ๋ฌํ ์ ํ์ ํ๋์ง ๋ ์ ์ค๋ช ํ ์ ์์ต๋๋ค.
@sapioit >= 12.1
์ ๊ฐ์ semver ๋ฒ์๋ ์ง์์ ์ ์ธํ๊ธฐ์ ์ถฉ๋ถํ ์ ์ฐํ์ง ์์ต๋๊น?
์ฌ์ฉ ๊ฐ๋ฅํ ์ ๋ฒ์ ์ ๋ฐํ์์ด ์๊ณ ๋ฒ์ ๋ฒ์๋ฅผ ์ถฉ์กฑํ๋ ๊ฒฝ์ฐ ์ฑ์ ๋ชจ๋ ๋ค์ ์คํ์ ๊ฐ๋ฅํ ์ต์ ๋ฐํ์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๊ทธ๋ค์ํด์ผํฉ๋๊น? ๊ทธ๋ฌ๋ ๊ธฐ์ ์ ์ธ ์ ํ(KMPlayer์ ๊ด๊ณ ๋ฐ nVidia ๋๋ผ์ด๋ฒ์ ๊ฐ์)์ผ๋ก ์ธํด ๊ทธ๋ ๊ฒ ํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
@sapioit ๊ทธ๋ฐ ๋ค์ ๋ฐํ์ ๋ฒ์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๋ช ์ํ๋์ง ํ์ธํ์ญ์์ค.
@sapioit @YurySolovyov ์ด ํ ๋ก ์ด ์ฌ๊ธฐ์ ๊ด๋ จ์ด ์์ต๋๊น? ๋ฐํ์ ๊ด๋ฆฌ์๋ ์ ์๊ฐ ์ฌ์ฉํ๋ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ๋ฐ๋ผ์ผ ํฉ๋๋ค. ๋๋ ์ ์๊ฐ ์ฌ์ฉํด์ผ ํ๋ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ๋ํ ๋ ผ์๋ ๋ค๋ฅธ ๋ฌธ์ ์ ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
@Tribex ๋ค์. ์ด๋ฏธ ๊ธฐ๋ณธ์ ์ผ๋ก ํด๊ฒฐ๋ ๊ฒ๋ค์ ๋๋ฌด ๋ณต์กํ๊ฒ ๋ง๋ค์ด์๋ ์ ๋๋ค๊ณ ๋งํ๊ณ ์ถ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฐํ์ ๊ด๋ฆฌ์๋ ์ด์ ๊ด๋ จํ์ฌ ๊ฐ์ฅ ๊ฐ๋จํ ์์ ์ ์ํํด์ผ ํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค.
@yurysolovyov ๊ทธ๋ ๋ค๋ฉด ๋จ์ํ ํ๋ ์ด์ด๊ฐ ์ํ๋ ๋งํผ ๋ฒ์ ๋ฒํธ์ ์น์ ์ ํ์ฉํ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
@sapioit
Electron์ ์ํ ๊ฒ์ด ์๋๋ผ ๋น๋ํ๋ ํ๋ก์ ํธ๋ฅผ ์ํ ๊ฒ์ ๋๋ค.
Lepton์๋ ์์ง ํ ๋น๋ ๋ฒ์ ์ฒด๊ณ๊ฐ ์์ผ๋ฉฐ ํจํค์ง(์ฑ)๋ ์ํ๋ ๋ฒ์ ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค(์: Lepton ์์ฒด๋ฅผ ํตํด ์ฑ ์ ๋ฐ์ดํธ๋ฅผ ์ง์ํ๋ ค๋ ๊ฒฝ์ฐ).
๋ฐํ์์ ์ด์์ ์ผ๋ก๋ ์ ํ์ด ์๋๋ฏ๋ก semver๋ฅผ ์ฌ์ฉํด์ผ ํ์ง๋ง ๋ค์ 3-์ซ์ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ์ด์ ์ง์๋ฉ๋๋ค(๊ฐ๋ฐ์๋ ๋ฒ์ ์ง์ ์ ์ฃผ์ํด์ผ ํจ). ๋ช ์์ ๋ฒ์ ์ง์ ์ ์๊ณผ ๊ฐ์ด 3๊ฐ ์ด์์ ์ซ์๋ฅผ ์ง์ํด์ผ ํ๋ ๊ฒฝ์ฐ ํ์๋ฅผ ํ์ฅํด์ผ ํฉ๋๋ค(ํ์ด์ฌ์ ๊ฒฝ์ฐ k-bx/python-semver ๋๋ podhmo/python-semver โ ์ ์๋ฅผ ๋ถ๊ธฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ ์ต๊ทผ์ ์ ๋ฐ์ดํธ๋์์ง๋ง ์ ์๋ node-semver API๋ฅผ ๋ ๋ฐ์ ํ๊ฒ ๋ฐ๋ฅด๊ณ ํ์ฌ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
nodejs ํ๋ก์ ํธ๋ฅผ ์ํด ํ์ด์ฌ์ผ๋ก ์์ฑ๋ ๋ฐํ์ ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ๊ฐ๋ ๊ฒ์ ๋จ์ง ๋์ ์๊ฐ์ด๋ผ๊ณ ๋งํ ์ ์์ต๋๊น?
๊ทธ๋ฅ ํ์ง ๋ง์๋ค. ๊ทธ๊ฒ์ด ๋ฌด์์ด๋ , ๋ ํค์ด๋ ๋ญ๋ . ๋
ธ๋์ ์์ฑํ๊ฑฐ๋ ๋ค๋ฅธ ๊ฒ์ ์ฌ์ฉํฉ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋น์ ์ด ์ ์๊ฐํ ์๋ฏธ๋ก ์ ๋ฒ์ ์ฒด๊ณ๋ณด๋ค ์ด๋ป๊ฒ ๋น์ ์ด ๋ ์ ์๋ค๊ณ ์๊ฐํ๋์ง์ ๋ํด ๋ถํ์ํ ๋ฉ์ผ๋ก ์ด ๋ฌธ์ ๋ฅผ ์คํธ ๋ฉ์ผ๋ก ๋ณด๋ด์ง ๋ง์๋ค.
@championswimmer ์ ์ ํจํค์ง๊ฐ ํฌํจ๋ ๋ฐํ์ ๊ด๋ฆฌ์์ ๋ค๋ฅธ ๋ฒ์ ์ด ๋ค์ด๋ก๋๋ ๋ ํ์๋๋ UI๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ ํฅ๋ฏธ๋ก์ธ ๊ฒ์ ๋๋ค.
@championswimmer iamale/lepton ์ ์ผ์ข ์ ํ๊ธฐ ์ฐธ์กฐ ๊ตฌํ์ ๋๋ค. ์ด ์ค๋ ๋ ์ฃผ์์ ๋ ๋๋ ๋ค์ํ ์์ด๋์ด๋ฅผ ํ ์คํธํ๊ธฐ ์ํด ์ฌ๋ ธ์ต๋๋ค. ๊ทธ ์ด์์ ์๋๋๋ค.
@iamale ๊ทธ๋ฌ๋ฉด ํผ๋์ ํผํ๊ธฐ ์ํด readme์ ๋ช ์ํด์ผ ํฉ๋๊น?
@YurySolovyov ์๋ฃ!
์ค์ ๊ตฌํ์ ๊ฒฝ์ฐ ๋ ๊ฐ์ง ์ต์ ์ด ์์ต๋๋ค. node.js๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ C/++ ๋๋ Go์ ๊ฐ์ ์ปดํ์ผ๋ ์ธ์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ ธ๋์ ๊ฒฝ์ฐ node.js๋ฅผ ๋ฒ๋ค๋ก ๋ฌถ์ด์ผ ํฉ๋๋ค(๋๋ ๋ค์ด๋ก๋ํ ์ ์ ์ธ์คํด์ค ์ค ํ๋์์ ์คํํ ์๋ ์์ต๋๋ค. ํ์ง๋ง _๋ชจ๋ _ ์ ์์ ์ธ ์ ์ ๋ฒ์ ์์ ์คํ๋๋์ง ํ์ธํด์ผ ํจ).
@iamale ์ค์ ๋ก๋ ๊ทธ๋ ์ง ์์ต๋๋ค. ๊ธฐ๋ณธ ์ค์น๋ ๋ฒ์ ์ ์คํํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๊ทธ ํ ์ ๋ฐ์ดํธ๋ ํ์ฌ ์์น์์ ์ต์ ๋ฒ์ ์ผ๋ก ์ ํํ ์ ์์ต๋๋ค.
ํ์ํ ๊ฒฝ์ฐ ๋ชจ๋ ๊ฒ์ ์ ๋ฐ์ดํธํ ์ ์๊ธฐ ๋๋ฌธ์ ํน์ ๋ฒ์ ํ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
Lepton ์ ์ด์ ์ด๋ฏธ์ง ํ์ ์ด๊ธฐ ๋๋ฌธ์ ๊ทธ๋ค์ง ์ข์ ์ด๋ฆ์ด ์๋ ์ ์์ต๋๋ค.
๊ทธ๋์... ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ์ง๊ธ ๋ญ๋ผ๊ณ ๋ถ๋ฅด๋์? Hadron
?
์ฟผํฌ? ๋๊ตฐ๊ฐ "Muon"์ด๋ผ๋ ์ด๋ฆ์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ๋ด ํ๋ก์ ํธ ์ค ํ๋์ ์ด๋ฆ์ ๋ฐ๊ฟ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์์ ์ด๋ฆ ์ง์ ์ด ์ค์ ๋ก ๊ฐ์ฅ ๋ ์ค์ํ ๋ถ๋ถ์ด ์๋๋๊น?
์ค์น/์
๋ฐ์ดํธ/๋ฐํ์ ์๋ฏธ ์ฒด๊ณ์ ๋์ํ์ต๋๊น?
๊ทธ๋ฅ electron
๊ฐ ์๋ ์ด์ ...
7์ 15์ผ ์ํ 2016 om 13:22 heft Joshua Bemenderfer [email protected] het volgende geschreven:
์ฟผํฌ? ๋๊ตฐ๊ฐ "Muon"์ด๋ผ๋ ์ด๋ฆ์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ๋ด ํ๋ก์ ํธ ์ค ํ๋์ ์ด๋ฆ์ ๋ฐ๊ฟ ์ ์์ต๋๋ค.
โ
์ด ์ค๋ ๋์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ๋ณด๊ฑฐ๋ ์ค๋ ๋๋ฅผ ์์๊ฑฐํ์ธ์.
@yurisolovyov ์ฐ๋ฆฌ๊ฐ ๋์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค... ๋ค์๊ฐ.
@job-v ๊ทธ๊ฒ์ด ๋ด๊ฐ ์ค๊ณง ์ ์ํด ์จ ๊ฒ์
๋๋ค. ํ๋๋ง ์ ํํด์ ๋ถ์ด๋๋ก ํฉ์๋ค.
@zcbenz ์ด ์ค๋ ๋๋ฅผ ๊ด์ฐฐํ๊ณ ์์ต๋๊น?
๊ทธ๋ ๋ค๋ฉด ์ฌ๊ธฐ์์ ๋ช ๊ฐ์ง ์ง์นจ์ ์ป๊ธฐ ์ํด ์ด๊ฒ์ด ์ด๋ป๊ฒ ์๋ํด์ผ ํ๋์ง์ ๋ํ ๋น์ ์ ๊ฐ๋ ๊ฒ์ด ์ข์ ๊ฒ์
๋๋ค.
์๋
์ด ์ ์ ๋ฐํ์ ์ ๋ํ ์
๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
@zcbenz ๋ค์์ ๋ํ ๋ชจ๋ ํ ๋ก ์ ๋ํด ์ด๋ป๊ฒ ์๊ฐํ์ธ์?
@alnour-altegani
์, ์ธ๋ถ ํจํค์ง์ ์์กดํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ dpkg ๊ธฐ๋ฐ ๋ฐฐํฌํ์์ ์๋ํฉ๋๋ค. RPM ํจํค์ง๋ ๋น์ทํ ๋ฐฉ์์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค. ์ ์ ๋ ๊น์?
๋๋ ๋ชจ๋ Electron์ ๋ํ ์ค์ ์ ์ฅ์๋ฅผ ์์ํ ์๊ฐ์ ๋๋ค. ์ฆ, ๋ค์์ ์คํํ ์ ์์ต๋๋ค.
sudo sh -c "echo 'deb https://epkg.example.org/ /' > /etc/apt/sources.list.d/epkg.list"
sudo apt-get update
sudo apt-get install min-browser # or whatever
@iamale ๋๋ ์ ์๋ฅผ deb ํจํค์ง๋ก ๋ง๋ค๊ณ ์๋์ผ๋ก ์ค์นํ๊ฑฐ๋ ๋ง์ ์ ์ ๋ฒ์ deb ํจํค์ง์ ์ค์ ์ ์ฅ์์์ ์ค์นํ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ข
์ ํญ๋ชฉ์ผ๋ก ์ฌ์ฉํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ค์น ํ ์ด ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํฉ๋๋ค.
๋๊ตฐ๊ฐ์ด ์์ ์ ์์ํ๋ฉด ์ฌ๊ธฐ์ ๋งํฌ ํ ์ ์์ต๋๋ค ...
@sapioit ์ ๋ Linux(APT/RPM) ์๋ฃจ์ ์์ ์ ์์ํ์ต๋๋ค. .asar๋ฅผ ์ ๋ก๋ํ๋ฉด ํจํค์ง๋ก ๋ณํ๋์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ถ๊ฐ๋๋ ๊ฐ๋จํ ์๋น์ค์ ๋๋ค. Windows ๋ฐ macOS๋ก๋ ํ์ฅํ ์ ์์ด์ผ ํ์ง๋ง ํ์ฌ๋ก์๋ ์ด์ ๋ํ ์ฝ์์ด ์์ต๋๋ค.
@iamale ๋ฉ์ง๋ค! Windows์์ ์๋ํ๊ฒ ๋๋ฉด ์๋ ค์ฃผ์ธ์.
Linux์ฉ Flatpak ๋ฐํ์์ ๋ง๋๋ ๊ฒ์ ์ด๋ป์ต๋๊น? ์ด๋ ๊ฒ ํ๋ฉด ์ฌ๋ฌ ์ฑ ๊ฐ์ ๋ฐํ์์ ๊ณต์ ํ ์ ์๊ณ ์๋๋ฐ์ฑ๋ ์ป์ ์ ์์ต๋๋ค.
Flatpak์ด systemd
์ ๋ํ ์ข
์์ฑ์ ์ ๊ฑฐํ๋ฉด ์
์คํธ๋ฆผ ํจํค์ง์ ์ํด Linux์์ ๋ณดํธ์ ์ด ๋ ๊ฒ์
๋๋ค.
์ฌ๋ฌ ์ฑ ๊ฐ์ ๋ฐํ์์ ๊ณต์ ํ ์ ์์ต๋๋ค.
Flatpak์ผ๋ก๋ ๋ถ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํ๋๋ฐ..?
@iamale Flatpak์ ๋ฐํ์์ ๊ณต์ ํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ฑ ๊ฐ๋ฐ์๋ ๋ฐํ์์ ์ ํํ๊ณ ํด๋น ๋ฐํ์์ฉ SDK๋ฅผ ์ค์นํ ๋ค์ flatpak-builder
๋๋ ์ด์ ์ ์ฌํ ๊ฒ์ผ๋ก ์ฑ์ ๋น๋ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฌ์ฉ์๊ฐ ์ฑ์ ์ค์นํ๋ฉด Flatpak์ด ๊ด๋ จ ๋ฐํ์์ ์ค์นํฉ๋๋ค.
@moosingin3space ์ค๋ช ๊ฐ์ฌํฉ๋๋ค! ๊ทธ๋๋ ํ์คํ ๊ณ ๋ คํด ๋ณผ ๊ฐ์น๊ฐ ์์ต๋๋ค.
Flatpak์ ๋ํด ๋ด๊ฐ ์ข์ํ๋ ๋ ๋ค๋ฅธ ์ ์ ์ฌ์ฉ์๊ฐ ๋ฐํ์ ๊ฐ๋ฐ์ ๋ฐ ์ฑ ๊ฐ๋ฐ์๊ฐ ์คํํ๋ ์ ์ฅ์๋ฅผ (ํฌ๋ช ํ๊ฒ) ์ถ๊ฐํ๊ณ ์ ๋ฐ์ดํธ๋ฅผ ์๋์ผ๋ก ๋ง๋๋ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ค์ฌ์ผ๋ก ์ค๊ณ๋์๋ค๋ ๊ฒ์ ๋๋ค.
๋ด๊ฐ ๋ณผ ์์๋ ์ ์ผํ ๋ฌธ์ ๋ ๋ณด์๊ณผ ๊ด๋ จ๋ ๊ฒ์ ๋๋ค. Flatpak์ "ํฌํธ"์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์๋๋ฐ์ค๋ฅผ ์์ ํ๊ฒ ์ข ๋ฃํ ์ ์๋๋ก ์์คํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์์ ํด์ผ ํฉ๋๋ค.
์ฌ๊ธฐ Flatpak์ ๋ํ ์์ ์ด ์๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค: https://github.com/endlessm/electron-installer-flatpak
์ฐธ๊ณ ๋ก Flatpak์ ํ์ผ ์์คํ ํธ๋ฆฌ์ ๋ํ ์ฝํ ์ธ ์ฃผ์ ์ง์ ์ ์ํํ๋ OSTree ํ๋ก์ ํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ์ฆ, ์ฒดํฌ์ฌ์ด ๋์ผํ ํ์ผ์ ๋์คํฌ์์ ์๋์ผ๋ก ์ค๋ณต ์ ๊ฑฐ๋๊ณ ์ ๋ฐ์ดํธ๋ ์ ์ ๋ธํ๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ฉ๋๋ค. ์ฆ, Electron์ ๋ ๋ฆฝ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๊ณ ์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ณต์ ํ ์ ์๋ ๊ณต์ ๋ฐํ์์ ์ ๊ณตํ ์ ์์ ๋ฟ๋ง ์๋๋ผ ๋์ผํ ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋์ผ๋ก ๋์คํฌ์์ ํ์ผ์ ๊ณต์ ํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ/๋๋ ๋ฐํ์์ด ์ค์น๋๋ฉด ์ ๋ฐ์ดํธ๋ฉ๋๋ค. ์ ์ฒด ๋ค์ด๋ก๋๊ฐ ํ์ํ์ง ์์ต๋๋ค.
๋ค์ ์์งํ ๋ถ๋ถ์ด ์๋๋ผ๋ ์ํด ๋ฐ๋๋๋ค. ๋ฐํ์ ํ๊ฒฝ์ ์์ฐ์ค๋ฌ์ด ๋ ผ๋ฆฌ์ ์งํ์ผ๋ก ๋ฐ์คํฌํ ํ๊ฒฝ์ ๊ตฌ์ถํ ๊ฐ๋ฅ์ฑ์ ๊ณ ๋ คํ๋์ง ๊ถ๊ธํฉ๋๋ค. ๋ ๋๋ฌ์ ์ ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ฑฐ๋ ์ฌ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์ ์ ์ฑ์ ์์ํ ์ ์๋ ๊ธฐ๋ฅ๊ณผ ํจ๊ป ์์ ์ ์ ์๊ฐ ๋ก๋๋๋ ์์ ์ฑ(์: atom ๋์ )์ด ์๋ค๋ ์์ด๋์ด์ ๋๋ค. ์ ํญ์์ ์ฑ์ด ์ด๋ฆฝ๋๋ค.
๋ด ์ดํด์ OS์์์ ๊ฐ์ด Chrome์ ์ ํํ ์ด๊ฒ์ธ ๊ฒ ๊ฐ์ต๋๋ค(๊ทธ๋ฌ๋ ์น ์ฑ์ผ๋ก ์ ํ๋จ). nodejs(chromeAPI์ ์ ํ ์ฌํญ๊ณผ ๋ฐ๋)๋ฅผ ํตํด ์ ์ฒด fs ์ก์ธ์ค ๊ถํ์ด ์๋ ๋ฐ์คํฌํฑ ์ฑ์ Linux ์๋จ์ ๋ฐํ์ ํ๊ฒฝ์ผ๋ก ์ ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ(๋๋ Windows์ ์ด๊ธฐ explorer.exe์์ ๊ต์ฒดํ๊ฑฐ๋ ์ต์ํ ์ฆ๋)์ ๋งค์ฐ ํฅ๋ฏธ์ง์งํ ๊ฒ์ ๋๋ค. ๋๋ ์ด๊ฒ์ด ์ค์ ๋ก ๋ฐํ์์ธ ๊ฒ์ ๋ก๋ํ ๋ค์ ๋ธ๋ผ์ฐ์ ์์ง์ ๋ก๋ํ ๋ค์ ์ฑ์ ํธ์คํ ํ๋ ChromeOS๋ณด๋ค ๋ ๊นจ๋ํ ์๋ฃจ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋ง์ ํ์ ์ ์ธ ์ ์ ๋ธ๋ผ์ฐ์ ํ๋ก์ ํธ๊ฐ ์ผ์์ ์์ต๋๋ค).
๋ค์ ๋งํ์ง๋ง, ์ด๊ฒ์ด ๊ณ ๋ ค๋์๋์ง ๋๋ ์ด๋ฏธ ์ด๊ฒ์ ์ํํ๋ ํ๋ก์ ํธ๊ฐ ์๋์ง ๊ถ๊ธํฉ๋๋ค. ๊ทธ๋ ์ง ์๋ค๋ฉด ์์ ์ด ์ฃผ๋๊ถ์ ์ก๊ธฐ ์ํด Github ๊ฒฝ์์ง์ ๊ท์ ํ๋ง๋ ํด์ค ์ ์์๊น์????
์ถ์ : ์ฌ๊ธฐ์ ์ ์ํ์ง ์์ ํ ๊ฐ์ง๋ OS.js(๊ทธ ์์ฒด๋ก ๊ท์ฌ์ด ์์ ํ๋ก์ ํธ)๋ฅผ ์ ์๋ก ์ด์ํ์ง๋ง ์ ์ ์ฑ์ ์ํ ํ๊ฒฝ์ ๋ง๋๋ ๊ฒ์
๋๋ค(OS.js์์ ์ฝ๋ ์ฌ์ฌ์ฉ์ ๋ฐ๋ํ์ง๋ ์๊ฒ ์ง๋ง).
PPS: ์ถฉ๋ถํ ๊ฐ์น๊ฐ ์๋ค๊ณ ํ๋จ๋๊ฑฐ๋ ๋ฐํ์ ํ๊ฒฝ ๋ฌธ์ ์ ์ฃผ์๋ฅผ ์ฐ๋งํ๊ฒ ํ๋ ๊ฒฝ์ฐ ๋ณ๋์ ๋ฌธ์ ๋ฅผ ๋ง๋ค๊ฒ ์ต๋๋ค.
๋ด์ฅ๋ ๋ฐํ์ ํ๊ฒฝ์ด Electron ์ฑ์ ํจ์ฌ ๋ ์ข๊ฒ ๋ง๋ค ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋๋ ๊ทธ๊ฒ๋ค์ ํฌ์ฅํ๋ ๊ฒ์ด ํ์ผ์ ์์ถํ๊ณ ํ์ฅ์์ ์ด๋ฆ์ asar
๋ก ๋ฐ๊ฟ์ผ ํ๋ค๊ณ ์๊ฐํ์ง๋ง, ๊ทธ ์์นด์ด๋ธ์๋ ๊ธฐ๋ณธ ๋ฐํ์ ํด๋์ ๋ด์ฉ๊ณผ ํจ๊ป asar
๋ผ๋ ๋ ๊ฐ์ ํด๋๊ฐ ์์ด์ผ ํฉ๋๋ค. ๊ธฐ๋ณธ ๊ตฌ์ฑ์ ๋ฎ์ด์จ์ผ ํ๋ ํ์ผ๊ณผ ํจ๊ป enviroment
๋ผ๊ณ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ ์ฑ์ ์คํํ๋ฉด ์์ ํด๋์ ํ์ ๋ฒ์ ์ Electron์ ๋ณต์ฌํ๊ณ ๋ฐํ์( asar
ํด๋์ ๋ด์ฉ)์ ๊ธฐ๋ณธ ํ์ผ ์์น๋ก ์ด๋ํ๋ ๋ฐ๋ฉด ์ ํ์ enviroment
ํด๋๋ ( 3๊ฐ์ ํ์ ํด๋, windows
, linux
, macosx
)์๋ ๊ธฐ๋ณธ ํด๋ ์์ ๋ถ์ฌ๋ฃ์ด ๋ด์ฉ์ ๋ฎ์ด์ธ ํ์ผ์ด ํฌํจ๋์ด์ผ ํฉ๋๋ค.
์ด๋ฐ ์์ผ๋ก, ์ฐ๋ฆฌ๋ ์ฑ์ ๋ํ .asar
ํ์ฅ์ ํ๊ฐํ๊ธฐ ์ํ ์ฑ ๋๋ ๋ฌด์ธ๊ฐ๋ง ํ์ํ๊ณ ํด๋น ์ฑ์ด ๋ค์ด๋ก๋ํ Electron(์์นด์ด๋ธ) ๋ฒ์ ์ด ์๋ ํด๋์ ์ก์ธ์คํ๊ณ ์์ ํด๋์ ๋ณต์ฌ(์ถ์ถ)ํฉ๋๋ค. , .asar
์ ๋ด์ฉ์ ์ฌ์ฉํ์ฌ ํ์ํ ๊ฒ์ ์์ ํ ๋ค์ ํด๋น ์์ ํด๋์์ Electron ์ธ์คํด์ค๋ฅผ ์คํํ๊ณ ์์ ํด๋๋ฅผ ๊ฐ์ ๋ก ์ญ์ ํ๊ธฐ ์ํด ์ฃฝ์ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค. ์ฐ์ , ์ง์๋๋ ๋ชจ๋ ์ด์ ์ฒด์ ์์ ์ฌ์ฉ์ ์ง์ ํ์ฅ ๊ธฐ๋ฅ์ด ์๋ ์์นด์ด๋ธ์ ํจ๊ป ์๋ํ๋๋ก ๊ธฐ๋ณธ ๊ตฌ์ฑ์ ์ป๋ ๊ฒ๋ง์ผ๋ก๋ ์ด๋ฏธ ๊ฐ์ง๊ณ ์๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ๋ง์ ๋์ฝ์ด ๋ ๊ฒ์
๋๋ค. ๊ทธ ํ, ํ์ฌ ๊ตฌ์ฑ ์ค์ ์ ์ ์งํ ์ธ ๋ฒ์งธ ํด๋ config
๊ฐ ์๋์ง ๊ฑฑ์ ํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ ๊ตฌ์ฑ ์ค์ ์ ์ํด ๊ทธ ์์ _config
ํด๋๊ฐ ์์ ์ ์์ต๋๋ค(ํ์ํ ๊ฒฝ์ฐ ).
Chrome ํจํค์ง ์ฑ์ด ๊ณง ๋จ๊ณ์ ์ผ๋ก ์ค๋จ๋จ์ ๋ฐ๋ผ ์ฌ๋๋ค์ ๋์์ ์ฐพ๊ฒ ๋ ๊ฒ์ ๋๋ค. ๋ฐํ์์ ํญ์ ๋น๋/๋ฆด๋ฆฌ์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ ์๊ท๋ชจ ํ๋ก์ ํธ์ ์ ํฉํฉ๋๋ค. ์ฑ์ Chrome ์ฑ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์น ๊ธฐ์ ๋ก ๋ง๋ค์ด์ง๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๊ฐ ๋จ์ํ ์์ค์์ ์ฑ์ ์คํํ๋ ๊ฒ์ด ์ ์ฉํ ๊ฒ์ ๋๋ค. ์ฌ์ฉ์๊ฐ ์คํํ ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ด ๊ฐ ๊ฐ๋ณ ์คํฌ๋ฆฝํธ ๋๋ ์ฑ์ ๋ํ ๋๊ท๋ชจ ๋ฐ์ด๋๋ฆฌ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ์ฌ์ฉ์๊ฐ ์ต์ ์ปค๋ฐ์ ๋น๋ํ๊ฑฐ๋ Electron์ ๋ค์ด๋ก๋ํ์ง ์๊ณ ๋ ์ต์ ์ปค๋ฐ์ ์คํํ ์ ์๋ ๊ฒฝ์ฐ ์๋ง์ ์ฌ์ํ ํ๋ก์ ํธ๋ฅผ Electron์ผ๋ก ์ด์ํ๋ ๊ฒ์ ์ ๋นํํ ์ ์์ต๋๋ค. IDE ์์ฒด.
์๋ ํ์ธ์. ์ ๊ฐ JS ์ค์ฌ์ ์ธ๊ณ์ ์์ง ์๋๋ผ๋ ์ต๊ทผ์ _Electron_(์ด๋ ์ฐ์ฐํ ์๊ฒ ๋์์ง๋ง ๊ฐ๋ฐ์๋ ์ฌ์ฉํ์ง ์์)๊ณผ ๋งค์ฐ ์ ์ฌํ ์์ด๋์ด๋ฅผ ๊ฐ์ง๊ณ ์์์ง๋ง ๋ ๋ง์ ์ฒญ์ค์ ๋์์ผ๋ก ํ์ต๋๋ค. ์์ฃผ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก ๋งํ์๋ฉด: _์น ๊ธฐ์ ์ GUI๋ก ์ ํํ๊ณ API๋ฅผ ์ ๊ณตํ์ญ์์ค._
๋ฐ๋ผ์ ์๋ฏธ๋ก ์ ๋ฒ์ ์ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ/๋ฐํ์(_Blink_, _Skia_ ๋ฑ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋จ, ์๋ง๋ โ "modern" โ _C++_์ ์์)์ ๊ณ์ ์ฌ์ฉํ๊ณ ๊ฐ๋ฐ์๊ฐ ๋ฐ์ธ๋ฉ์ ์ฌ์ฉํ์ฌ ์ธ์ด๋ฅผ ์ ํํ๊ฒ ํ์ญ์์คโฆ
์๋ฅผ ๋ค์ด _JS_๋ฅผ ์ํ๋ฉด _Node.JS_๋ฅผ ์ฌ์ฉํ์ญ์์ค. _C++_์(๋ฅผ) ์ํฉ๋๋ค. ๋ฌธ์ ์์ต๋๋ค. ํ์ค _CPython_์ ์ฌ์ฉํ๋ฉด _Python_์ด ๊ฐ๋ฅํด์ผ ํฉ๋๋ค. ๋ค๋ฅธ ๊ฒ? _SWIG_์ด(๊ฐ) ๋์์ด ๋ ์ ์์ต๋๋ค. (๊ฑฐ์) ์ด๋ค ๊ฒฝ์ฐ์๋ ์ฐ๋ฆฌ๊ฐ ์ด๊น๋๋ค.
๊ณต์ (OS ์ข ์) ๋ผ์ด๋ธ๋ฌ๋ฆฌ/๋ฐํ์์ด ์์ผ๋ฉด ์ฃผ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๋๋จธ์ง๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข๋ค๊ณ ์๊ฐํ๋ ๋ฐฉ๋ฒ์ ์์ธํ ์ค๋ช ํ ์ ์์ต๋๋ค(๋๋จธ์ง ์ฌ์ฉ์๋ฅผ ์ํ GUI ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ ํ์ /ํ๋ํํ๋ ๊ฒ ์ ์ธ). ํฐ ์ง์ !).
๋ฐ๋ผ์ ์์์ ์ _Electron_ ํ๋ก์ ํธ์ "๋ถํ "์ด์ด์ผ ํฉ๋๋ค(๋ฌผ๋ฆฌ ๊ด๋ จ ์ด๋ฆ๋ ์์ด์ผ ํฉ๋๋ค. ์ ๋ง ์ ๊ฒฝ ์ฐ๋ ๊ฒ ๊ฐ๋ค๋ ์ฌ์ค์ ๊ฐ์ํ ๋). :)
์ฐ๋ฆฌ๋ ์ฌ์ง์ด Electron์ ๋ํ ์ ๋์จ์ ์์ฑํ ์ ์์ง๋ง ๋ง์ ๊ด๊ณ ๊ฐ ์๋ค๋ฉด ๊ทธ๋ ๊ฒ ๋ง์ ์ฑ๊ณต์ ๊ฑฐ๋์ง ๋ชปํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
@dezzeus ์ด์ ์ ์ด ๋ผ์ธ์ ๋ํ ๋ ธ๋ ฅ์ด ์์์ต๋๋ค. ์นจํด ๋ธ๋ผ์ฐ์ ๋ฅผ ํธ์คํ ํ๊ธฐ ์ํ ์ถ๋ ฅ ๋ฐํ์ ์ ์ดํด๋ณด์ญ์์ค.
๋๋ ์ด ๋ฐฉํฅ์์ ๋ ๋ง์ ์ถ์ง๋ ฅ์ ๋ณด๊ณ ์ถ๊ธฐ ๋๋ฌธ์ ์ด ๊ธธ๊ณ ๋งคํน์ ์ธ ์ค๋ ๋๋ฅผ ๋ ๋ฒ ์ฝ์์ต๋๋ค. ๋ค์์ @zcbenz ์ ๋ง์ง๋ง ์ง์ ์ ๋๋ค. ์ฌ์ ํ ๊ด๋ จ์ฑ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด๋ฅผ ๊ตฌํํ๋ ๋ฐ ๊ธฐ์ ์ ์ฅ์ ๋ฌผ์ ์์ผ๋ฉฐ ๋ชจ๋ ๊ฒ์ด Electron ์ฑ ์์ฒด์ผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฌธ์ ๋ ๋ชจ๋ ์ธ๋ถ ์ฌํญ์ ๊ณ ๋ คํ์ฌ ์ด๋ ์ชฝ๋ ๊ตฌํํ๊ธฐ๊ฐ ์ฝ์ง ์๋ค๋ ๊ฒ์ ๋๋ค. _์๊ท๋ชจ ํ์ด ํํ์์ผ๋ก ์์ ํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์คํ๋ ์ง๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
(์ถ๊ฐ ๊ฐ์กฐ) - ๋ด๊ฐ ํด์ํ๋ ๋ฐฉ๋ฒ์ ์๋ฃจ์ ์ด ๊ตฌ์ถ๋ ์์ ์ด๋ผ๋ฉด ์ปค๋ฎค๋ํฐ์ ๋ ธ๋ ฅ ๋ฐ/๋๋ GitHub ๋ฐ ์ดํด ๊ด๊ณ๊ฐ ์๋ ๊ธฐํ ์กฐ์ง์ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ๋ฌ๋ ค ์๋ค๋ ๊ฒ์ ๋๋ค.
@yan-foto์ ๊ฐ๊ฒฐํ ๊ฐ์ ๋ ๋ช ํํ ๋ชฉํ/์๊ตฌ์ฌํญ์ด ์๋ ํฉ๋ฆฌ์ ์ธ ์ ๊ทผ ๊ณํ์ฒ๋ผ ๋ณด์ ๋๋ค. @iamale ์ lepton์ด๋ผ๋ ์ฐธ์กฐ ๊ตฌํ/ํ๋กํ ํ์ ์ด ์์ผ๋ฉฐ Electron์ ๋์์ผ๋ก ํ๋ "๋ฒ์ฉ ๋ฐํ์ ๋ฒ์ ๊ด๋ฆฌ์"๋ฅผ ์ ์ํฉ๋๋ค. @jorangreef๊ฐ ์ฐจ๋ฑ ์ ๋ฐ์ดํธ, ์ค๋ณต ์ ๊ฑฐ(๋ ๊ฐ์ง๊ฐ ๋์ผํ์ง ํ์คํ์ง ์์) ๋ฐ ์์ถ์ ์ฌ์ฉํ์ฌ "semver ์๋ ์ ๋ฐ์ดํธ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ๋ ํ๋ก๋์ ์ค์ธ ์ฑ"์ ๋ํด ์ค๋ช ํ๋ฉด์ @jorangreef ์ ์๊ฒฌ ์ ํฅ๋ฏธ๋ก์ ์ต๋๋ค. ๊ทธ๊ฐ ์ค๋ช ํ ๋ง์ ๊ธฐ๋ฅ์ ์ ์/์ฑํ์ ์๋ฒฝํด ๋ณด์์ต๋๋ค.
์ด๊ฒ๋ค์ ํ์๊ณผ ์ง๋ณด์ ํ์คํ ๋จ๊ณ์ด๋ฉฐ, ์ด ๊ณผ์ ์์ ์์ฐ ๊ฐ์น๊ฐ ์๋ ์ผ๋ฐ ์๋ฃจ์ ์ด ํ์ํ ๊ฒ์ด๋ผ๋ ํฌ๋ง์ ์ค๋๋ค.
์ฌ์ ํ ์ธ๊ฐ์ ๋ํ ๋ฏฟ์์ ๊ฐ์ง ์ฌ๋๋ค์ด ์๋ค๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ด๊ฒ์ด ์ ํ์ด ๋๋ ๊ฒ์ ๋ง๋ ์ ์ผํ ๊ฒ์ ์ด ์ ํ(์ปจ์ )์ ๋ง๋ค๋ฉด์ ์ด๋ฆฌ๋ ์ฆ๊ฐ์ ์ธ ๋น์ฆ๋์ค ๊ธฐํ๊ฐ ์๋ค๋ ๊ฒ์ ๋๋ค.
@eliot-akira ๋ค, ๊ทธ๋ ์ต๋๋ค. ๋ด๊ฐ ์์ฑํ ์ฝ๋๋ ํ์ผ ๋ด์์ ๋ช ๋ฐ์ดํธ๋ง ๋ณ๊ฒฝ๋ ๋ ๋ค์ด๋ก๋๋ฅผ ์ต์ํํ๊ธฐ ์ํด ํ์ผ ๋ด์์ ํ์ผ๋ณ ์ฝํ ์ธ ๊ธฐ๋ฐ ์ค๋ณต ์ ๊ฑฐ(๊ฐ๋ณ ํฌ๊ธฐ ์ฒญํฌ)๋ฅผ ์ํํฉ๋๋ค. ๋ํ ๋ฒ์ ๊ฐ์ ๋ณ๊ฒฝ๋๋ ํ์ผ๋ง ์ ๋ฐ์ดํธํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒด์ ๋ํ ์ ๋ฐ์ดํธ๋ ์ค๋ฅ์ ์ง๋ฉดํ์ฌ ์์์ ์ ๋๋ค. ์ ๋ฒ์ ์ด ์์๋๊ฑฐ๋ ์ด์ ๋ฒ์ ์ด ๊ทธ๋๋ก ์ ์ง๋ฉ๋๋ค.
์ฝ๋๋ฅผ ์คํ ์์คํํ๊ณ ์ถ๊ณ , ์ ์ฒด์ ์ธ ์์ด๋์ด๋ฅผ ์ํด ์์ง ์ฝ๋ฉํด์ผ ํ ๋ช ๊ฐ์ง ์ฌํญ์ด ์์ต๋๋ค. ์ฌ๋ฌ Electron ์ฑ์ด ๋จ์ผ ์๋ ์ ๋ฐ์ดํธ ๊ฐ๋ ์ ํ๋ก์ธ์ค๋ฅผ ๊ณต์ ํ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค(์ฌ๋ฌ ๋ ๋ฆฝ Electron ์ฑ์์ ์ค๋ณต ์ ๊ฑฐ๋ฅผ ์ํ ๋ก์ปฌ ๊ณต์ ๋ถ๋ณ ์บ์ ์ฌ์ฉ).
์ด ์ ์ฒด ์ ๊ทผ ๋ฐฉ์์ ๋ชฉํ๋ Electron ์ฑ์ ์ค์น ๋ฐ ์ ๋ฐ์ดํธํ๋ ๋ฐ ํ์ํ ์ ์ฒด ๋ค์ด๋ก๋ ๋์ญํญ์ ์ต์ํํ๋ ๋์์ Electron ์ฑ์ ์๋ก ์์ ํ ๊ฒฉ๋ฆฌํ๋ ๊ฒ์ ๋๋ค(์ฌ๋ฌ ์ฑ์๋ ์์ฒด Electron ๋ฐ์ด๋๋ฆฌ๊ฐ ์์). ๋น๋ชฉํ๋ ๋์คํฌ ๊ณต๊ฐ์ ์ต์ํํ๋ ๊ฒ์ ๋๋ค.
์ฒซ ๋ฒ์งธ Electron ์ฑ ์ค์น๋ ์ ์ฒด๋ฅผ ๋ค์ด๋ก๋ํด์ผ ํ์ง๋ง ์ดํ์ Electron ์ฑ ์ค์น๋ ๋ก์ปฌ ๊ณต์ ๋ถ๋ณ ์บ์์ ์ด์ ์ ๋๋ฆด ์ ์์ต๋๋ค.
์๋ ์ ๋ฐ์ดํธ๊ฐ ๋์๊ธฐ ๋๋ฌธ์ ๋ฒ์ ๊ด๋ฆฌ ๋ฌธ์ ์ ์ฌ๋ฌ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ด ๋ฒ์ ๊ด๋ฆฌ์ ์๋ก ๋ค๋ฅธ ์๋ฆฟ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ๊ฐ๋ค๋ ์ฌ์ค์ ๊ฐ์ ธ์์ผ ํฉ๋๋ค. ์ ๋ ์ผ๋จ ๋ช ์์ ๋ฒ์ ๊ด๋ฆฌ ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์ฌ๊ธฐ์ ์ ๋ฐ์ดํธํด์ผ ํ๋ ๋ ๊ฐ์ง ์ ํ์ด ์์ต๋๋ค.
์ฌ๋ฌ ๋ฒ์ ์์คํ
์ ์ง์ํด์ผ ํ๋ ๊ฒฝ์ฐ package.json
"breakingVersionComponents": 1
๋ฐ ๋ช
์์ ๋ฒ์ ๋๋ Electron ๋ฒ์ ์ ๊ฒฝ์ฐ 2
์ ๊ฐ์ ์ผ๋ถ ์ค์ ์ด ์์ ์ ์์ต๋๋ค.
(๋ ๋ค๋ฅธ ์ต์
์ ๋ฒ์ ์ ๋ค๋ฅธ ๊ตฌ๋ถ ๊ธฐํธ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์
๋๋ค 1.3:3.7
๋ ๊นจ์ง๋ ๋ถ๋ถ๊ณผ ๊นจ์ง์ง ์๋ ๋ถ๋ถ์ ๊ตฌ๋ถํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด Semver๋ x:y.z
๋ฐ Electron Versioning x.y:z
๋ฉ๋๋ค. ํ์ง๋ง ๋ชจ๋ ๋จ์ผ ๋๊ตฌ๋ฅผ ๊นจ๋จ๋ฆด ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.)
@jorangreef ๋ชจ๋ ์ฑ์ ์ฌ์ ํ ์์ฒด Electron ๋ฐ์ด๋๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ ์ฌ๋ฌ Electron ์ฑ์ ์ด ๋ ๊ณผ๋ํ RAM ์ฌ์ฉ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์ต๋๋ค.
๋ด๊ฐ ๊ฐ๊ณผํ๋ @joshuawarner32 ์ ์ค๋๋ ๋๊ธ ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๊ทธ๋ ์์ง ๋ฒ์ฉ ์๋ฃจ์ ์ด ์๋ ์ด๋ฏธ ์๋ ์ค์ธ ์๋ฅผ ์ธ๊ธํ์ง๋ง ์์ฝ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Deploy .asar.gz files for several different apps on a server
- Distribute a single build of atom-shell to users, which doesn't bundle any code for specific apps
- On app startup, download the appropriate .asar.gz file (if it's not there, or there's a more recent one on the server). Extract it and run the contained app.
- Our atom-shell build accepts a --app argument to specify which app to download/run
@jorangreef ์ ์์ ํจ๊ป(์ถ๊ฐ ์ค๋ช ๊ฐ์ฌํฉ๋๋ค - ํธ์ง: ์ค, ๊ฐ ์ฑ์ ๋ด๊ฐ ์๊ฐํ๋ ๊ฒ๊ณผ ๋ค๋ฅธ ๋ชจ๋ธ์ธ ์์ฒด Electron ๋ฐ์ด๋๋ฆฌ๊ฐ ์๋ค๋ ๊ฒ์ ๋ชฐ๋์ต๋๋ค), ์ฌ๋๋ค์ด ์ด๋ฏธ ๊ณต์ ๋ฐํ์ ๋ฌธ์ ์ ๋ํ ๊ณ ์ ํ ์๋ฃจ์ - ์ผ์ข ์ ์ฑ ์คํ๊ธฐ/๊ด๋ฆฌ์ ๊ธฐ๋ฅ๋ ์ ๊ณตํฉ๋๋ค. ์ธ๊ธ๋ ์ด๋ฌํ ๊ธฐ๋ฅ ์ค ์ผ๋ถ๋ฅผ ๋ฒ์ฉ ๋ชจ๋๋ก ๋ถ๋ฅํ๊ธฐ ์ํด ์ผ๋ถ ์๋ ด์ ๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ฐํ์ ์๋ฒ, ๋ฒ์ ๊ด๋ฆฌ, ์ฐจ๋ฑ ์ ๋ฐ์ดํธ์ ๊ฐ์ ๋ค์ด๋ก๋ ๋ฉ์ปค๋์ฆ๊ณผ ๊ฐ์ด ํ์ฉํ ์ ์๋ ๊ธฐ์กด์ Electron ๊ด๋ จ์ด ์๋ ๋ชจ๋์ด ์๋์ง ๊ถ๊ธํฉ๋๋ค. ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ด๋ฏธ ์ด๋ฌํ ์์ญ ์ค ์ผ๋ถ๋ฅผ "ํด๊ฒฐ"ํ ๊ฒฝ์ฐ ์ฒ์๋ถํฐ ๋ชจ๋ ๊ฒ์ ๊ตฌ์ถํ๋ ๊ฒ์ ์ฝ๊ฐ ๋ฒ ์ฐจ๊ฒ ๋ณด์ ๋๋ค. @iamale , Lepton ์ ๋ํ ์์ ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ ๋์๋ ์ด๊ฒ์ด ์๋ฃจ์ ๋ฐฉํฅ์ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ์ ๋๋ค.
๋ ๋ค๋ฅธ ์์ด๋์ด๋ npm์ ์ฑ์ ๊ฒ์ํ๊ณ ์ฑ์ ์ค์นํ๊ณ ์คํํ ์ ์๋ ํน๋ณํ npm ๋ํผ๋ฅผ ๋ง๋๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ฐฐํฌํ๊ธฐ๊ฐ ์ ๋ง ์ฌ์ธ ๊ฒ์ด๊ณ ์๋ง๋ ์ฌ์ฉํ๊ธฐ๋ ์ฌ์ธ ๊ฒ์ ๋๋ค(๋ํผ์ ํ์ง์ ๋ฐ๋ผ ๋ค๋ฆ). ์ฌ๋ฌ๋ถ์ ์ด๋ป๊ฒ ์๊ฐํ์ธ์?
oss ํ๋ก์ ํธ์ ๊ฒฝ์ฐ npm์ ํธ์คํ ์ผ๋ก ์ฌ์ฉํ ์ ์๊ณ , ๋น๊ณต๊ฐ ์์ค์ ๊ฒฝ์ฐ ํจํค์ง ๊ด๋ฆฌ์๊ฐ ๋ค์ด๋ก๋ํ .asar ํ์ผ๊ณผ ์ถ๊ฐ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ฆฌํฌ ์ ์์ด์ผ ํฉ๋๋ค. ๋ฌธ์ ๋ ์ด๋ฐ ์ข ๋ฅ์ ๊ด๋ฆฌ์๊ฐ ์ด๋ป๊ฒ ์๊ฒผ๋์ง(๊ทธ๋ฆฌ๊ณ ๋ถ๋ฆ)์ ๋๋ค.
๋ํ ์ฑ์ ์ค์นํ๊ธฐ ์ํด ๋ณ๋์ ๋ช
๋ น์ด ์ ๋ง๋ก ํ์ํ์ง ๊ถ๊ธํฉ๋๋ค.
electron install atom
์ถฉ๋ถํ ๊น์?
Node Weekly์์ ์ด๊ฒ์ ๋ณด์์ต๋๋ค.
Electrino๋ ์ธ๊ธฐ ์๊ณ ๊ฐ๋ ฅํ Electron์ ์คํ์ ์ธ ํ๋๊ธ ๋์์ ๋๋ค. Electron์์ ์ฌ์ฉ ๊ฐ๋ฅํ API์ ์์ฃผ ์์ ๋ถ๋ถ์ ๊ตฌํํ์ง๋ง ์ถ๋ ฅ ์ฑ ํฌ๊ธฐ๋ ํจ์ฌ ์์ต๋๋ค.
https://medium.com/@pauli/put -your-electron-app-on-a-diet-with-electron-c7ffdf1d6297
@YurySolovyov ๋น๊ณต๊ฐ ์์ค ํ๋ก์ ํธ๋ npm์ผ๋ก ๊ฒ์ํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ด์ผ ํฉ๋๋ค. ์ด๋ฏธ ๋ช ๊ฐ์ง Node.js ํ๋ก์ ํธ๊ฐ ์์ต๋๋ค. ์ฆ, enclose . (๊ธฐ์ ์ ์ผ๋ก, ๊ทธ๊ฒ์ npm์ด ์๋๋ผ ๋ก๋์ผ ๋ฟ์ ๋๋ค. ํ์ง๋ง ์ด์จ๋ ๋๋ .asar๋ฅผ ์ฌ์ด๋๋ก๋ฉํ๋ ๊ฒ์ด ์ฌ์ ํ ์์ถ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ป๊ฒ ๋์์ด ๋ ์ง ์ ์ ์์ต๋๋ค.)
์ด๋ป๊ฒ ํ๋ฉด ๊ธฐ์กด ์ํ๊ณ๋ฅผ ์ต๋ํ ์ฌ์ฌ์ฉํ ์ ์์๊น ํ๋ ์๊ฐ์ด ๋ค์์ต๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ํ๋์ง ํ์คํ์ง ์์ต๋๋ค ...
@jorangreef ๋ชจ๋ ์ฑ์ ์ฌ์ ํ ์์ฒด Electron ๋ฐ์ด๋๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ ์ฌ๋ฌ Electron ์ฑ์ ์ด ๋ ๊ณผ๋ํ RAM ์ฌ์ฉ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์ต๋๋ค.
@Jop-V ์๋์, ๊ทธ๋ ์ง ์์ต๋๋ค. ๋๋ ๋ฌผ๊ฑด์ ํฉ์ฑํ๊ณ ๊ดด๋ฌผ๋ก ๋๋๋ ๊ฒ์ ์ํ์ง ์์ต๋๋ค. ์์ด๋์ด๋ ์ด ๋ฌธ์ ๋ฅผ ์ฐ ๋๊ธ์์ ๋๋ถ๋ถ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ํ๋ฅญํ ์ค์น ํ๋ก๊ทธ๋จ/์๋ ์ ๋ฐ์ดํธ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. https://github.com/electron/electron/issues/673#issue -44580957
๋ฌธ์ ๋ ๋์คํฌ์ ์ฌ๋ฌ ๋ฐ์ด๋๋ฆฌ๊ฐ ์๋ ๊ฒ์ด ์๋๋ผ ๋์ผํ ๋ฐ์ด๋๋ฆฌ์ ์ฌ๋ฌ ๋ณต์ฌ๋ณธ์ ๋ค์ด๋ก๋ํ๊ณ ์๋ ์ ๋ฐ์ดํธํด์ผ ํ๋ ์ฌ์ฉ์์ ๋ํ ๋คํธ์ํฌ ์ํฅ์ ๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ํด๊ฒฐํ๋ ๊ฒ์ ํ์คํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ๋ค์ํ ๋ฐฉ๋ฒ์ด ์๋ค๊ณ ์๊ฐํ์ง๋ง ์ค๋ณต ์ ๊ฑฐ ์ค์น ํ๋ก๊ทธ๋จ/์๋ ์ ๋ฐ์ดํธ ํ๋ก๊ทธ๋จ๊ณผ ํจ๊ป ๋ฒ๋ค๋ก ์ ๊ณตํ ํ์๋ ์์ต๋๋ค.
๋์คํฌ ๊ณต๊ฐ๋ ๋ฌธ์ ์ธ ๊ฒฝ์ฐ ์ด๋ฅผ ์ง์ํ๋ ์์คํ ์ ํ๋ ๋งํฌ๋ฅผ ํตํด ํด๊ฒฐํ ์ ์์ง๋ง, ์ด๋ ์ฑ ๊ฐ์ ๊ฒฉ๋ฆฌ ๊ฐ๋ ์ ์นจํดํ๊ธฐ ์์ํ ์ ์์ต๋๋ค(์: ํ ์ฑ์ด ๋ค๋ฅธ ๊ฒ๊ณผ ๊ณต์ ๋๋ ํ๋ ๋งํฌ์ ์ฐ๊ธฐ๋ก ๊ฒฐ์ ํ ๊ฒฝ์ฐ).
๋๋ ์ ์ด๋ ์ค๊ธฐ์ ์ผ๋ก macOS์์ APFS๋ ๋ด๋ถ์์ ํฌ๋ช ํ ์ค๋ณต ์ ๊ฑฐ๋ฅผ ํตํด ์ฐธ์กฐ๋ก ํ์ผ์ ๋ณต์ฌํ์ฌ ๋์คํฌ ๊ณต๊ฐ์ ์ต์ํํฉ๋๋ค. ์ด๊ฒ์ ๊ฒฉ๋ฆฌ๋ฅผ ๊ทธ๋๋ก ์ ์งํ๊ธฐ ๋๋ฌธ์ ํ๋๋งํฌ๋ณด๋ค ๋์ ๊ฒ์ ๋๋ค(๊ธฐ๋ก ์ค ๋ณต์ฌ).
@jorangreef ์ฑ์ ๋ณ๋์ Electron ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ด๋ค ๊ณ ๋ฆฝ์ ๋ง์ํ์๋ ๊ฑด๊ฐ์? ์ด๋ฆฌ์์ ์ง๋ฌธ์ด๋ผ๋ฉด ์ฃ์กํ์ง๋ง ์ดํด๊ฐ ๋์ง ์์ต๋๋ค.
@iamale ์ผ๋ถ ์ฑ์ ๋ค๋ฅธ ๊ณต์ ๋ฒ์ ์ Electron์ ๋์์ผ๋ก ํ๊ฑฐ๋ ์์ ๋ โโ์์ค์์ ์ปดํ์ผ๋ ๋ฏธ๋ฆฌ ๋น๋๋ Electron์ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๊ทธ๋ค ๋ชจ๋์ ํจ๊ป ์๋ํฉ๋๋ค. ๋ฐ์ด๋๋ฆฌ์ ์ฃผ์ ์ฐจ์ด์ (JS ๋ฐ ์์ฐ ๋ณ๊ฒฝ๊ณผ ๋ฐ๋)์ด ์๋๋ผ๋ ์ค๋ณต ์ ๊ฑฐ๋ ๋ค์ด๋ก๋ ์๊ตฌ ์ฌํญ์ 70% ์ด์์ ์ ๊ฑฐํ๋ฏ๋ก ๋ค๋ฅธ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋์์ผ๋ก ํ๋ ์ฑ์ ์ฌ์ ํ โโ์ด์ ์ ๋๋ฆด ์ ์์ต๋๋ค.
์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด Electron ์ฑ๋ฟ๋ง ์๋๋ผ ๋ชจ๋ ์ข ๋ฅ์ ํจํค์ง(JSON ๋งค๋ํ์คํธ์ ์ํด ์ ์๋ ๋ชจ๋ ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ ์ธํธ)๋ฅผ ๋ฐฐ์กํ ์๋ ์์ต๋๋ค. Python ์ฑ์ผ ์๋ ์์ต๋๋ค. ๊ฐ๋ฐ์๊ฐ ์ฑ์ ๊ตฌ์ฑํ๊ฑฐ๋ ํจํค์งํ๋ ๋ฐฉ๋ฒ(ํ์ผ ๋ asar ๋ฑ)์ ๋ํด ์ ํํ๋ ค๋ ๋ชจ๋ ์ ํ์ ๋ถ๊ฐ์ง๋ก ์ ์ ๋๋ค.
์ฃผ์ ์์ด๋์ด๋ ๋ ๋ง์ ์ฑ์ด ๋์ผํ ์ค์น ํ๋ก๊ทธ๋จ/์๋ ์ ๋ฐ์ดํธ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํจ์ ๋ฐ๋ผ ์ํ๊ณ๊ฐ ๋งค์ฐ ์์ ์ค์น/์ ๋ฐ์ดํธ ๋ธํ์ ์ด์ ์ ๋๋ฆด ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ค๋๋ ๋ชจ๋ ์ฑ์ ์์ฒด ๊ฐ๋ ์๋ ์ ๋ฐ์ดํธ ํ๋ก๊ทธ๋จ์ ์คํํ๊ณ ์์ผ๋ฉฐ ํ์ํ์ง ์์ต๋๋ค.
@jorangreef ๊ฐ์ฌํฉ๋๋ค! ๋๋ ๊ทธ๊ฒ์ด ๊ณ ์ ์ ์ธ APT/RPM ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋งค์ฐ ํก์ฌํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋จ์ง ๋ "์ค๋งํธ"ํฉ๋๋ค(์ข ์์ฑ ๋ฑ์ ์ ์ธํ ํ์๊ฐ ์์).
๋ฌธ์ ๋ ์ด๋ฐ ์ข ๋ฅ์ ๊ด๋ฆฌ์๊ฐ ์ด๋ป๊ฒ ์๊ฒผ๋์ง(๊ทธ๋ฆฌ๊ณ ๋ถ๋ฆ)์ ๋๋ค.
Minifitron
(์ํ ์ ์)๋ ์ด๋ป์ต๋๊น?
์์นด์ด๋ธ ํ์ผ(์: .asar
)์๋ ์ ์์ ๋ฐ์ด๋๋ฆฌ๊ฐ ์๋ ํด๋์ ๋ด์ฉ์ด ํฌํจ๋์ด์ผ ํ๋ฏ๋ก ํ์ค์์ ๋ฒ์ด๋ ํ์ผ์ ์ถ๊ฐํ๊ฑฐ๋ ๊ต์ฒดํ ์ ์์ต๋๋ค. ํด๋ ๋๋ ์์นด์ด๋ธ์ ๊ฐ ๋ฒ์ ์ด ์๊ณ ์คํ๋๋ ๋์ ์ ์์ ํด๋์ ๋ณต์ฌํฉ๋๋ค.
์ฑ์ ์ค์นํ๊ฑฐ๋ ์ถ์ํ ์ ์๋ ์ต์
์ด ์์ด์ผ ํฉ๋๋ค. ์ค์น ์ ํด๋น ์ฑ์ ์ ์์ ์ ์ธ์คํด์ค๋ก ๋จ๊ฒจ๋๋ ๋ฐ๋ฉด, ์ถ์๋ ์ฑ์ md5๋ฅผ ์ฌ์ฉํ์ฌ .asar
์ ์์นด์ด๋ธ ํด์ ๋ก ๋ณ๊ฒฝ๋์ง ์์ ํ์ผ์ ์ญ์ ํฉ๋๋ค.
๋ค๋ฅธ ์๊ฐ์ ํ์๋ฉด: ๊ฐ Electron ์ฑ์ ์์ฒด ๋ฐํ์ ๋ณต์ฌ๋ณธ ์ด ํฌํจ๋์ด ์์ง๋ง ์คํ ์ ์ด๋ฏธ ์คํ ์ค์ธ Electron ์ธ์คํด์ค(๋ฐ ํด๋น ๋ฒ์ )๊ฐ ์๋์ง ํ์ธํ ์ ์๋ค๋ฉด - ํธํ ๊ฐ๋ฅํ ๊ฒฝ์ฐ(semver ๋ฒ์ ๋ด) ๋ฑ), ์ฑ์ ์ฑ๊ณผ ํต์ ํ๊ณ ๋์ผํ ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํธํ๋์ง ์๋ ๊ฒฝ์ฐ ์ฑ์ ์์ฒด Electron ์ธ์คํด์ค๋ฅผ ์์ํ ์ ์์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์ด๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
(๊ทธ๋ฐ ๋ค์ ๋ค์, ์ฑ์ด ์คํ๋ ์ฆ์์๋ ์ด์จ๋ ๋ฐํ์์ ์ฌ๋ฌ ์ธ์คํด์ค๊ฐ ์ด๋ฏธ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋์ ๋ ผ๋ฆฌ์ ์ด์ง ์์ ์ ์์ต๋๋ค..)
@eliot-akira ์ด ์ค๋ ๋๋ฅผ ์ฝ๋ ๋์ ๋งค์ฐ ๋น์ทํ ์๊ฐ์ ํ์ต๋๋ค.
(๊ทธ๋ฐ ๋ค์ ๋ค์, ์ฑ์ด ์คํ๋ ์ฆ์์๋ ์ด์จ๋ ๋ฐํ์์ ์ฌ๋ฌ ์ธ์คํด์ค๊ฐ ์ด๋ฏธ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋์ ๋ ผ๋ฆฌ์ ์ด์ง ์์ ์ ์์ต๋๋ค..)
๊ธ์, ๊ทธ๊ฒ์ ์ด๊ฒ์ ํ์ธํ๊ธฐ์ ์ถฉ๋ถํ ๋งํผ๋ง ๋ก๋ํ ์ ์๊ณ , ๋ฐํ์์ ๊ณต์ ํ ์ฌ์ฉ ๊ฐ๋ฅํ "์ ์ ๋ฉ์ดํธ"๊ฐ ์๋ ๊ฒ์ ํ์ธํ ํ ๋๋จธ์ง๋ฅผ ๋ก๋ํฉ๋๋ค.
์ด๊ฒ์ ๋ง์ ๋ณด์ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ ๊ฒ์ ๋๋ค. ์ ์์ ์ธ ์ฑ์ ์์ ๋ ๋ฒ์ ์ ๋ฐํ์์ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๊ณ ํด๋น ๋ฐ์ดํฐ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๋ง๋ค ์ ์์ผ๋ฉฐ "์ฌ์ฉ์" ์ฑ(์ด์ ์ ์คํ๋ ์ฑ์ ๋ฐํ์์ ์ฌ์ฉํ๋)์ด ๋ฐํ์์ ์ฒดํฌ์ฌํ ์ ์์ง๋ง ๋ชจ๋ ๋์ OS์ ๋ํด ์ด๋ฅผ ๊ฐ๋ฐํ๋ ๊ฒ์ ์ ๋ชฝ์ผ ์ ์์ต๋๋ค( ๋๋ ์ด๊ฒ์ด Windows์ ์กด์ฌํ๋์ง์กฐ์ฐจ ๋ชจ๋ฆ ๋๋ค; ๋๋ ๊ทธ๊ฒ์ด ์์ด์ผ ํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค).
๋จ์ง ํธ๊ธฐ์ฌ์ ์ํ ๊ฒ์ด๋ผ๋ฉด ๋ง์ด ์ ๋๋ ๊ฒ์ ๋๊น? ๋ณ๋์ ๊ณต์ ๋ฐํ์๋ณด๋ค ๋ง๊ฑฐ๋ ํจ์ฌ ๋ ๋ง์ ์์ ์ด ํ์ํฉ๋๊น? ๋ค๋ฅธ ์ถ๊ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๊น?
๋์ค์ ์ถ๊ฐ๋จ: ์ด๊ฒ์ ๋จผ ์ด์ผ๊ธฐ์ผ ์ ์์ง๋ง RAM์์ ๋์ผํ ํ์ด์ง๋ฅผ ์ค๋ณต ์ ๊ฑฐํ๋ ๊ธฐ์ ์ด ์์ต๋๋ค. ๊ฐ์ํ ํ๊ฒฝ๊ณผ ํ์ดํผ๋ฐ์ด์ ์์ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์ด๊ฒ์ด ๋ด๊ฐ ์ค๋๋ ์ OS๊ฐ ์ด๊ฒ์ ์ฌ์ฉํ๋์ง ํ์ธํ๊ธฐ ์ํด ๋ด๊ฐ ์๊ฐํ๊ณ ์คํํ ์ฒซ ๋ฒ์งธ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ด ๊ธฐ๋ฅ์ ์ด์ฉํ ์ ์๋ ๋ฐฉ์์ผ๋ก ์ ์๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ด ์์ ์ ์์ง๋ง ๋ถ๋ช ํ ๊ทธ๋ ์ง๋ ์์ต๋๋ค.
@jorangreef ๊ฐ๋ฐ์๊ฐ Electron ๋ฐ์ด๋๋ฆฌ๋ฅผ ์์ ํ๋ค๋ฉด ํ ๋ฆฌํ์คํธ๋ฅผ ์์ฑํด์ผ ํ์ง ์์๊น์?
@Jop-V ๊ทธ๋ค์ ํ ์ ์์ง๋ง ์์ ์ ํฌํฌ๋ ์ ์งํ ์ ์์ต๋๋ค. ๊ทธ๋ค์ ์ํ์ง ์๋ ๊ฒฝ์ฐ ์์ค๋ฅผ ๊ณต๊ฐํ์ง ์์ ์๋ ์์ต๋๋ค. MIT ๋ผ์ด์ ์ค๋ ์ด์ ๋ํ ์๋ฌด๋ฅผ ๋ถ๊ณผํ์ง ์์ต๋๋ค.
@jkurei ์์ด๋์ด๋ฅผ ๋ ํ๊ตฌํ๊ธฐ ์ํด ์๋ํ ์ ์๋ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์ํฉ๋๋ค.
1) Electron ๋๋ ์ฑ ์์ฒด๋ฅผ ๋๋ฌ์ผ ์์ ๊ธฐ๋ณธ ๋ํผ("๋ฐ์ฒ"). ์ด๋ฏธ ์คํ ์ค์ธ Electron ์ธ์คํด์ค์ ํด๋น ๋ฒ์ ์ ํ์ธํฉ๋๋ค. ํธํ๋๋ ๊ฒฝ์ฐ ๋๋จธ์ง ์์ ํ๋ก์ธ์ค๋ฅผ ํด๋น ์ธ์คํด์ค๋ก ๋๊ธฐ๊ณ ์ข ๋ฃํฉ๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ Electron์ ์์ฒด ์ธ์คํด์ค๋ฅผ ๊ณ์ ์์ํ์ญ์์ค.
2) ์ฑ ์์ฒด๊ฐ ๋ฐ์ฒ๋ก ๋ฉ์ธ ํ๋ก์ธ์ค๋ก ๊ฐ์ ธ์ฌ ์ ์๋ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ. ์์ ์ ์ฌํ ํ๋กํ ์ฝ์ ๊ตฌํํ ์ ์์ต๋๋ค. Electron ์ธ์คํด์ค์ ์กด์ฌ๋ฅผ ๋ธ๋ก๋์บ์คํธํ๊ณ ๋ค๋ฅธ ์ฑ(๋์ผํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ)์ด ์ด๋ฅผ ์ฐพ๊ณ ํต์ ํ ์ ์๋ ๋ฐฉ๋ฒ - ์๋ง๋ ๋คํธ์ํฌ ํฌํธ๋ฅผ ํตํด ..?
@eliot-akira ๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ๋น์ ์ด ๋งํ๋ ์ผ์ข
์ ์์์ ์ธ "ํ๋กํ ์ฝ"์ด ์ด๋ฏธ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. app.makeSingleInstance
๋ค์ ์๋ ๊ฒ์ ์ด๋ฏธ ์คํ ์ค์ธ Electron ํ๋ก์ธ์ค์ ๋์ผํ ์ฑ์ธ์ง ์๋์ง(์๋ง๋ ์ ์ฒด ์คํ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ ธ์ด) ๊ฐ์งํ๋ ๊ฒ์
๋๋ค.
@iamale ์ด ๋ฉ์๋๋ Chromium์ ๊ธฐ๋ณธ ProcessSingleton
ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฌ ์ฑ ๋๋ ํฐ๋ฆฌ(๊ณ ์ ์๋ณ์๋ก?)๋ฅผ ๋ฑ๋กํฉ๋๋ค. ์, app.on('ready')
์ ์ ์ด๊ธฐํ๋๋ ์ด์ ๊ฐ์ ๊ฒ์ ๊ทธ๋ฆฌ๊ณ ์์์ต๋๋ค. ๋ฐ๋ผ์ ํด๋น ํน์ ์ฑ์ ๊ธฐ์กด ์ธ์คํด์ค๋ฅผ ํ์ธํ๋ ๋์ Electron์ ๋ชจ๋ ์ธ์คํด์ค๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ํธํ๋๋ ๊ฒฝ์ฐ "์คํ ํ๋ก์ธ์ค๋ฅผ ๋๊ฒจ์ค๋๋ค".
๋ค๋ฅธ ๊ฐ๋์์๋ ๋ณ๋์ Node.js ํ๋ก์ธ์ค ๊ฐ์ ํต์ ํ ์ ์๋ node-ipc
๋ผ๋ ๋ชจ๋์ ์ฐพ์์ต๋๋ค. ์์ ํ JS ๋ ์ด์ด์์ ์์ ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ค์์ ํ๋ก์ธ์ค ๊ฐ ํต์ ์ node-ipc
๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ์ฑ ๊ฐ์ ๋จ์ผ Electron ์ธ์คํด์ค๋ฅผ ๊ณต์ ํ๋ ๊ธฐ๋ณธ ์์
๋๋ค. https://github.com/eliot-akira/singletron-example.
IPC ํ๋ธ๋ node-ipc
์ฃผ์์ ์์ ๋ํผ์ธ ์์ฒด ๋ชจ๋ ์
๋๋ค. ์ด๊ธฐํ๋ ๋ฉ์ธ ํ๋ก์ธ์ค, main.js
๋งจ ์๋์ ์์ต๋๋ค.
์ฑ์ด ์์๋๋ฉด ๋จผ์ ๊ธฐ์กด Electron ์ธ์คํด์ค์ ์ฐ๊ฒฐ์ ์๋ํฉ๋๋ค. ์๋ ๊ฒฝ์ฐ ํ๋ก์ธ์ค ๊ฐ ์์ฒญ์ ์์ ํ๋ "์๋ฒ"๋ฅผ ์์ํฉ๋๋ค. ์ฑ์ ๋ชจ๋ ํ์ ์ธ์คํด์ค๋ ์ฒซ ๋ฒ์งธ ์ธ์คํด์ค์ ์ฐ๊ฒฐ๋๊ณ ํด๋น "๊ตฌ์ฑ"(Chrome, Node, Electron ๋ฒ์ )์ ์์ ํ๊ณ ์๋ฅผ ๋ค์ด ์์ฒด์ ์ผ๋ก ์ ์ฐฝ์ ์์ฒญํ๊ธฐ ์ํด ๋ฉ์์ง๋ฅผ ๊ตํํ ์ ์์ต๋๋ค.
์ฒ์์๋ ์์งํ ๊ตฌํ์ด์ง๋ง ์ด ์ ๊ทผ ๋ฐฉ์์์ ๋ด๊ฐ ์ข์ํ๋ ๊ฒ์ ์๋ฒ/ํด๋ผ์ด์ธํธ๊ฐ ํ์ํด์ผ ํ๋ ๋ฐฉ๋ฒ(ํธํ์ฑ ํ์ธ, ์ ์ฐฝ ์ด๊ธฐ ์ฌ๋ถ, ๋ค๋ฅธ ๊ตฌ์ฑ ์ ๋ฌ ๋ฑ)์ ์ฒ๋ฆฌํ๋ ๊ฒ์ ์ฑ์ ๋ฌ๋ ค ์๋ค๋ ๊ฒ์ ๋๋ค.
@eliot-akira ์ด ์์ ์์ ๊ธฐ๋ณธ ์๋ฒ ID๋ฅผ ์ง์ ํ๋ ๊ฒ์ _์ ๋ง๋ก-์ ๋ง-๋์_ ์๊ฐ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋๊ตฐ๊ฐ ์์ ์ ๋ชฉ์ ์ผ๋ก ์ด๊ฒ์ ์ฌ์ฉํ๊ธฐ ์์ํ๋ฉด ์์ ์ ํ์์ ๋ง๊ฒ ์์ ์ฝ๋๋ฅผ ์์ ํ๊ณ ํ๋กํ ์ฝ์ ์ค๋จํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค( ๋ฐ๋ผ์ ์ด์ ์์กดํ๋ ๋ค๋ฅธ ์ฑ์ ์ค๋จ).
๊ทธ ์ธ์๋ ๊นจ๋ํ๊ณ ์ข์ ๋ณด์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
Re: ๋ณด์ ๋ฌธ์ : Electron ์ฑ์ ์ด๋ฏธ ์ฌ์ฉ์ ๊ถํ์ผ๋ก ์คํ ์ค์ด๋ฉฐ ํ๋์ ํ๋ก์ธ์ค ํธ๋ฆฌ์ ๋ฐฐ์นํ๋ฉด ์ค์ ๋ก ๋ค๋ฅธ Electron ์ธ์คํด์ค์ ์ก์ธ์คํ ์ ์์ต๋๋ค(๋๋ ์ป์ ์ ์์). ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ์ํํ๋ ค๋ ๊ฒฝ์ฐ ํจ์น๋ Electron ์ธ์คํด์ค๋ฅผ ์ ๊ณตํ ์ ์๋ ๋ชจ๋ ์ฌ๋์ด ํ์คํ ๋์์ด ๋์ง ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
@iamale ํผ๋๋ฐฑ ๊ฐ์ฌํฉ๋๋ค. ์ผ๋ถ ์ฑ์ด ๋ชจ๋ Electron ์ฑ์ ๋ํ ๊ณตํต ํ๋กํ ์ฝ์ด ์๋ ์์ฒด ํ๋กํ ์ฝ์ ๊ตฌํํ๋ ค๋ ๊ฒฝ์ฐ์ ๋๋นํ์ฌ ์๋ฒ ID๋ฅผ ์ค์ ํ๋ ์ต์ ์ ๋ ธ์ถํ์ต๋๋ค. ์ฌ์ค, ์์ง๊น์ง๋ ๊ทธ๋ฌํ ๊ณตํต ํ๋กํ ์ฝ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด ์์ ์์ ์ ์ ์๋ ์ฑ์ด ์ฐ๊ฒฐ๋์ด ์คํ ํ๋ก์ธ์ค๋ฅผ ๋๊ฒจ์ฃผ๋ ๊ฒ์ ๊ทธ๋ฌํ ๋ชฉ์ ์ ์ค์ฉ์ ์ด์ง ์์ต๋๋ค. ์ด๋ ๊ฐ๋ ์ฆ๋ช ์ ์ํ ๊ฒ์ด๋ฏ๋ก ์ด๋ฅผ ์ธ๊ธํ๋๋ก ๋ฌธ์๋ฅผ ์ ๋ฐ์ดํธํ๊ฒ ์ต๋๋ค. ์ด๋ป๊ฒ ํ๋ฉด ๋ ์ค์ฉ์ ์ผ๋ก ๋ง๋ค ์ ์์์ง ๊ณ์ ์ฐ๊ตฌํ๊ฒ ์ต๋๋ค.
์๋ก ์ค์๋ ๋ถ๋ค์ด ๋ฐ๋ ์ ์ ํ๋ ๊ฒ๊ณผ ๊ฐ์ ์์ฝ์ ๋ค์ ํ๋ฉด ๋์์ด ๋ ๊ฒ ๊ฐ์์.
๋ํ ์ต์ข ์ฌ์ฉ์๋ ๋ฌด์์ ํฉ๋๊น?
๋ด๊ฐ ์ต์ข ์ฌ์ฉ์๋ผ๋ฉด (๋ถ๋ถ์ ์ผ๋ก๋ ofc์ ๋๋ค) Portableapps.net ์ค์น ํ๋ก๊ทธ๋จ๊ณผ ์ ์ฌํ ๋ฐฉ์์ผ๋ก ์๋ํ๋ ๋จ์ผ .exe/.app/.deb ํจํค์ง๋ฅผ ์ํ ๊ฒ์ ๋๋ค. ํด๋น exe ํ์ผ์ ์์์ผ ํ๋ฉฐ ์ค์น๋์ง ์์ ๊ฒฝ์ฐ ๋ฐํ์๊ณผ ํจ๊ป ์ํํธ์จ์ด์ ์ต์ ์ ์คํธ๋ฆผ ๋ฒ์ ์ ์๋์ผ๋ก ๋ค์ด๋ก๋ํด์ผ ํฉ๋๋ค. ๊ฐ๋จํ ์ค์ ๊ณผ์ ์์ ์์คํ ๋งํฌ(๋ฐ์คํฌํฑ, ์์ ๋ฉ๋ด ๋ฑ)๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ์ธ๋๊ณผ ํจ๊ป "๋ฐํ์ ์์น"(๊ณ ๊ธ ์ต์ ํ์ธ๋ ์ฌ์ฉ)๋ฅผ ์๋์ผ๋ก ์ค์ ํ ์ ์์ด์ผ ํฉ๋๋ค.
๋ค์ ์ํํธ์จ์ด๋ฅผ ๋ค์ด๋ก๋ํ ๋ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ด์ ๋ฐํ์(idc๊ฐ ๋ฌด์์ด๋ ๊ฐ์)์ ์ฌ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๊ฐ๋ฐ์๋ก์ (๊ธฐ๊ปํด์ผ) ํ ๋ฒ์ ํด๋ฆญ์ผ๋ก ๋ค์ด๋ก๋ ๊ฐ๋ฅํ ํจํค์ง๋ฅผ ๋ง๋ค ์ ์๊ธฐ๋ฅผ ์ํฉ๋๋ค. ์ด ํ ๋ฒ์ ํด๋ฆญ์ผ๋ก ๋ด ์ฝ๋๋ฅผ ์ผ๋ถ ์ ์ฅ์(play/web/app ์คํ ์ด์ ์ ์ฌ)์ ์ ๋ก๋ํ๊ณ ์ ์ธ๊ณ์ ๊ณต์ ํ ์ ์๋ .exe/.app/.deb ํจํค์ง๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
์ ๋ C#์ฉ Electron ๋ฐ Electron-Edge๋ฅผ ์ฌ์ฉํ์ฌ ์์ ๋ชจ๋ ์ค์น ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ณ ์๊ธฐ ๋๋ฌธ์ ์์ง Electron๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
๋ด๊ฐ ์์งํ ์๋ ์์ง๋ง, +-0.1 ๋ฒ์ ๊ณผ ํธํ๋์ง ์๋ ์ ์ผํ "์ง์ง" ์ด์ ๋ .node ํ์ผ์ด ๋ชจ๋ ๋ฒ์ ์ Electron์ ๋ํด ๋ค์ ์์ฑ๋์ด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. ์ผ์ข ์ ํด๋ผ์ฐ๋ ์๋ฃจ์ ์ ์ฌ์ฉํ์ฌ ์ค์ ํ๋ ๋์ ์ด๋ฌํ .node ํ์ผ์ ๋น๋ํ ์ ์์ต๋๊น?
๋ํ ๋ฐ๋ ๋ง๋ค ํ๋์ ํฐ Electron LTS๋ฅผ ๋ง๋๋ ๊ฒ์ด ์ ๋ง ๊ทธ๋ ๊ฒ ํฐ ์ผ์ ๋๊น? ์ ๋ ๊ฐ๋ฐ์๋ค์ด ๋ชจ๋ ์๋ก์ด Electron ๋ฆด๋ฆฌ์ค์ ๋ชจ๋ ์ต์ ๊ธฐ๋ฅ์ ์ค์ ๋ก ์ฌ์ฉํ๊ณ ์๋์ง ์์ฌ์ค๋ฝ์ต๋๋ค. ๋ฐ๋ผ์ (์ผ์ข ์) ํ ๋ฒ์ ์ ๋ ์ค๋ ์ฌ์ฉํ๋๋ก ๊ฐ์ ํ๋ฉด ์ผ์ด ํจ์ฌ ์ฌ์์ง ๊ฒ์ ๋๋ค.
Imo, ์ ์ผํ ๋ฌธ์ ๋ ๋ชจ๋ ์ฌ๋์ด ์์งํ ์ ์๋ LTS ๋ฒ์ ์ Electron์ด ์ค๋น๋์ด ์์ง ์๋ค๋ ๊ฒ์ ๋๋ค.
๊ทธ lts ๋ฒ์ ์ ์ฌ์ฉํ๋ฉด ๋น๋ ์๋ ์ ๋ฐ์ดํธ, ์ค๋ณต ์ ๊ฑฐ, ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ๊ธฐํ ๋ชจ๋ ์์ ์ด ์ผ์ดํฌ ์กฐ๊ฐ์ด ๋์ด์ผ ํฉ๋๋ค.
๋ด๊ฐ ์ ์ํ ์ค์น ํ๋ก๊ทธ๋จ ์๋ฃจ์ ์๋ ์ฌ์ฉ์๊ฐ ์ค์ ๋ก ์ํํธ์จ์ด์ ํด๋๋ฅผ ๋ณผ ์ ์๋ค๋ ์ถ๊ฐ ์ด์ ์ด ์์ผ๋ฏ๋ก .whatever๋ก ํจํค์งํ๊ณ ์์ ํ ๊ณณ์ผ๋ก ์ฎ๊ธฐ๋ผ๊ณ ๋งํ ํ์๊ฐ ์์ต๋๋ค. ๋ํ ์ค์นํ๋ ๋์ ์ฌ๋ฌ "ํ์ ์คํ ํ์ผ"์ ์ถ๊ฐํ ์ ์์ต๋๋ค(์: ๋ฉํฐํ๋ ์ด์ด ๊ฒ์, ์ฌ๋ฌ "ํ๋กํ" ๋ฑ). ์ด๋ฌํ ์คํ ํ์ผ์ somelaunchername.electron์ด๋ผ๊ณ ํด์ผ ํ์ง๋ง ์ํํธ์จ์ด๋ฅผ ์์ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ณด(์: ๋ก๋ํ index.html ๋ฑ)์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋ Json ํ์์ด์ด์ผ ํฉ๋๋ค. node_modules๋ ์คํ ํ์ผ ๊ฐ์ ๊ณต์ ๋์ด์ผ ํฉ๋๋ค(๊ฐ๋ฐ์๊ฐ ๊ฐ ์คํ ํ์ผ์ ๋ํด ๋ค๋ฅธ ๋ฒ์ ์ ๋ชจ๋์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ ์ ์ธ). ์ด๊ฒ์ ์ธ ๊ฐ์ node_modules ํด๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌ์ฑํ ์ ์์ต๋๋ค. ๊ฐ ์คํ ํ์ผ์ ๋ํด ํ๋์ฉ, ๋ ๋ค์ ๋ํด ํ๋์ฉ. package.json์๋ ์ผ๋ฐ ์ ๋ณด๋ง ์์ ๊ฒ์ ๋๋ค. ๊ฐ .electron ํ์ผ์ (imo) package.json์ ๊ฐ์ ๋ฎ์ด์ธ ์ ์์ด์ผ ํฉ๋๋ค.
์ด๋ฌํ .electron ํ์ผ์ "runtime --appname" ๋๋ steam๊ณผ ๊ฐ์ ์ฌ์ฉ์ ์ง์ ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์์ ๋ฉ๋ด ๋ฐ ๊ธฐํ ์์น์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ์ด ๋ ๋์์ง ํ์คํ์ง ์์ง๋ง ๊ณผ๊ฑฐ์๋ ์คํ์ด ๋ช ๋ฒ์ด๋ ์ ๋ฅผ ํ๋๊ฒ ํ์ต๋๋ค.
์ด์ ๊ฐ๋ฐ์๊ฐ ์ค์ ๋ก ์์ ๋ ๋ฐํ์์ ์ ๊ณตํ๋ ค๋ ๊ฒฝ์ฐ ํ์ฌ ์ํ๋๋ ๋ฐฉ์์ผ๋ก ๊ณ์ ํจํค์งํ ์ ์์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก:
์ ์๊ฐ์ ๋ค์ ๋จ๊ณ๋ ์์ ์ ์ธ lts ๋ฒ์ ์ ๋ง๋ค๊ณ ๊ฐ๋ฐ์์๊ฒ ์ฌ์ด ํจํค์ง ์๋ฃจ์
์ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ์๋ฅผ ์ฐธ์ฌ์ํค๋ ๊ฒ์
๋๋ค. ์ค์น ํ๋ก์ธ์ค๋ ๋์ค์ ๊ฐ์ ํ ์ ์์ต๋๋ค. ํ์ฌ๋ ์ด๋ฌํ .electron ํ์ผ์ ๋ํ ๋ฐํ์๊ณผ ์คํ ํ๋ก๊ทธ๋จ์ ๋ค์ด๋ก๋ํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํฉ๋๋ค.
์ฌ๋ฌ๋ถ์ ์ด๋ป๊ฒ ์๊ฐํ์ธ์?
@CiriousJoker ์ ์ ๋น๋๋ ํด๋์ฉ ์ฑ๊ณผ ์น ์ค์น ํ๋ก๊ทธ๋จ์ ๋ง๋ค ์ ์์ต๋๋ค. ๋ด๊ฐ ์๋ ํ Windows ๊ณต์ DLL ์ด ์๋ฃจ์ ์ ๋๋ค. Shared DLL์ ๋ํ ์ฌ์ฉํ์ง ์๋ ์ ์ ๋ฐํ์์ ์๋์ผ๋ก ์ ๊ฑฐํ๊ธฐ ์ํด ์ฐธ์กฐ ์นด์ดํ ์ ์ง์ํฉ๋๋ค. ํ์ฌ, ํ๋์ ํฐ exe(node.dll ์ ์ธ)์ Windows์์ ์ ์ ๋ฐํ์. dll๋ก ๋๋ ์ ์๋ค๋ฉด ์ ์ ๋น๋ ์ธก ์๋ฃจ์ ์ ๊ตฌํํ๊ธฐ๊ฐ ๋งค์ฐ ์ฝ์ต๋๋ค. ๋์คํฌ ๊ณต๊ฐ๋ฟ๋ง ์๋๋ผ ๋ฉ๋ชจ๋ฆฌ๋ ์ ์ฝ๋ฉ๋๋ค.
@zcbenz @paulcbetts ๊ณต์ dll ์ฌ์ฉ์ ๊ณ ๋ คํ์ จ์ต๋๊น? exe์ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ ๋ชจ๋ ์ ์ ์ฝ๋๋ฅผ dll๋ก ์ด๋ํ ์ ์์ต๋๊น(๋ฐ๋ผ์ exe์๋ ์ต์ํ์ ์ฝ๋๋ง ์ ์ง)? ์ ์ 1.7.5 ์ดํ ๊ณต์ C ๋ฐํ์์ด node.dll ๋ฐ exe์์ ์ ๊ฑฐ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด์ 30MB์ ์ฝ๋๊ฐ ์ด๋ฏธ DLL ํ์ผ์ ์์ผ๋ฏ๋ก(ํ์ง๋ง exe๋ ์ฌ์ ํ 80MB์) ์คํ์ ์์ํ ์ ์์ต๋๋ค.
@develar imo, ์ง์ง ๋ฌธ์ ๋ dll์ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ์ด ์๋๋ผ lts ๋ฒ์ ์ ์ ์๋ฅผ ์ป๋ ๋ฐฉ๋ฒ์ ๋๋ค.
Chromium์ ์ด์ ๋ฒ์ ์ ๋ํ ๋ณด์ ์์ ๋ ์ํํฉ๋๊น? ๋๋ ๊ทธ๋ค์ ์ ์ฑ ์ด "๋ณด์์ ์ํด ์ต์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋"ํ๋ค๋ ๊ฒ์ ๊ฐํ๊ฒ ๋๋๋๋ค. Chromium์ ๋ณด์ ์ ๋ฐ์ดํธ๊ฐ ์์ผ๋ฉด Electron์ LTS๋ ๋จผ ์ด์ผ๊ธฐ์ฒ๋ผ ๋ณด์ ๋๋ค.
@sedwards2009 ๊ทผ๋ฐ ์ ๋ง ์ํ์ด ๊ทธ๋ ๊ฒ ๋ง๋์? ๋ฌผ๋ก ์ฌ๊ธฐ์์ ๋ด๊ฐ ์์งํ ์๋ ์์ง๋ง ์ฐ๋ฆฌ๋ ๊ฐ๋ฐฉํ ์ธํฐ๋ท์ด ์๋ (๋๋ถ๋ถ) ๋ก์ปฌ ์ฑ์ผ๋ก๋ถํฐ ์ฌ์ฉ์๋ฅผ ๋ณดํธํ๊ณ ์์ต๋๋ค. .exe ํ์ผ์ ์คํํ๋ ๊ฒ์ 10000๋ฐฐ ๋ ์ํํ๊ณ .exe ๋ฐ์ด๋ฌ์ค๋ฅผ ์์ฑํ๋ ๊ฒ๋ AVG์์ ๋ด ํฉ๋ฒ์ ์ธ ์ ์ ์ฑ ์ค์น ํ๋ก๊ทธ๋จ์ ๋ฐ์ด๋ฌ์ค๋ผ๊ณ ๋ถ๋ ์ ๋ 10000๋ฐฐ ๋ ์ฝ์ต๋๋ค.
๊ทธ๋์ ๋์๊ฒ๋ 6๊ฐ์ ์ ๋๋ง๋ค ํด๋น ๋ณด์์ "๊ฐฑ์ "ํ๋ฉด ์ถฉ๋ถํฉ๋๋ค. ๋ํ ๋ชจ๋ ๊ฐ๋ฐ์๊ฐ ์์ฒด ํจํค์ง ๋ฒ์ ์ ํฌ๋กฌ์ ์ฌ์ฉํ๋๋ก ํ๋ ๊ฒ์ด ๋ ์์ ํ์ง ์์ ๋ฐฉ๋ฒ์ผ๋ก, ์ด์จ๋ ์ฐ๋ฆฌ๊ฐ ๋ง์ ์ ์๋ ๋ ๋์ ์ผ์ ํ ์ ์์ต๋๋ค(๊ณต์ ๋ฐํ์ ๋๋ ๊ธฐํ ์ฌ์ฉ)
์, ์ฑ์ด fs ๋ฐ ๋คํธ์ํน์ ๋ํ ์์ ์ก์ธ์ค ๊ถํ์ ์ป๋ ๊ณณ์์ ๋ณด์์ด ์ข
๋ฃ๋ฉ๋๋ค.
์ฑ ๊ณต๊ธ์
์ฒด๋ฅผ ์ ๋ขฐํ๊ฑฐ๋ ๋ฉ๋ฆฌํ์ญ์์ค. <- ํ์ ์์ค ์ฑ์ฉ์
๋๋ค.
OSS์ ๊ฒฝ์ฐ ๋๋ถ๋ถ์ด ์ ์ด๋ ๋์ ์๋๋ ์์ง๋ง ๋ฒ๊ทธ๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.
์, ๊ทธ๋ผ lts ๋ฒ์ ์ ์ป๋ ๊ฒ์ด ์ผ๋ง๋ ์ฝ์ต๋๊น? ํ์ฌ ๋ฒ์ ์ ์ ํํ๊ณ lts ๋ฒ์ ์ผ๋ก ์ ์ธํ ์ ์์์ต๋๊น?
๋ ํฐ ๋ฌธ์ ๋ ๋์ค์ ๊ฐ๋ฐ์๊ฐ ์ด ํน์ ๋ฒ์ ์ฉ ์ฑ์ ๋น๋ํ๋๋ก ์ค๋ํ ๋ ๋ํ๋ ์ ์์ง๋ง ์ด์จ๋ ๋ง์ง๋ง ๋จ๊ณ์ ๋๋ค. ๊ณต์ ๋ฐํ์์ ๋น๋ํ๋ ค๋ฉด ๋จผ์ ๋ฐํ์์ ์ ํํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
์ด๋ค ๋ฐํ์ ๋ฒ์ ์ฑ์ด ์๋ํด์ผ ํ๋์ง ํ์
ํ๋ ๊ฒ์ ๊ฐ๋ฐ์์ ๊ฒฐ์ ์ด๋ผ๊ณ ๋งํ๊ณ ์ถ์ต๋๋ค.
npm
์์ง ํ๋ ์ ๊ฐ์ ์ข
๋ฅ์
๋๋ค.
์ฌ๊ธฐ์ ๋ฐํ์์ ์์
์ ํ์ํ dll ๋๋ ๋ฌด์์ด๋ ๊ฐ์ ธ์์ ์ฑ์ด ์คํ๋๋๋ก ํ๋ ๊ฒ์
๋๋ค.
๊ทธ๋ฌ๋ ํธํ๋์ง ์๋ ์์ญ ๊ฐ์ ๊ฑฐ์ ๋์ผํ ๋ฐํ์ ์ค ํ๋๋ฅผ ์ ํํ๋๋ก ํ์ฉํ๋ฉด ์์ ์ ์์ ํ ๋์น๊ฒ ๋์ง ์์ต๋๊น? ๋จ์ํ ์ค๋ณต์ ์ ๊ฑฐํ๋ ๊ฒ์ด ์๋๋ผ ์ฌ๋ฌ ๋ฐํ์์ ์ฌ์ฉํ์ง ์์ผ๋ ค๊ณ ํฉ๋๋ค. ๋๊ตฐ๊ฐ ์ฒ์์ ์ธ๊ธํ๋ฏ์ด ๋์ผํ ๋ฐํ์์ด ๋์ผํ ์์คํ ์์ ๋ค์ ์ฌ์ฉ๋ ๊ฐ๋ฅ์ฑ์ด 20๋ถ์ 1์ธ ๊ฒฝ์ฐ ๋ฐํ์ ์ค๋ณต ์ ๊ฑฐ๋ ์๋ฏธ๊ฐ ์์ต๋๋ค.
์๋๋ฉด ๋๋ถ๋ถ์ ๋ฐํ์์ ๊ณต์ ํ๊ณ ํ์์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ถ๋ถ์ผ๋ก ์ ํํ๋ค๋ ์๋ฏธ์ ๋๊น? ์ดํด๊ฐ ๋์ง๋ง ๊ตฌํํ๊ธฐ ์ด๋ ต๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ฐํ์์ ๊ณต์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ์ ์์ต๋๋ค. ์ฃผ์ ํฌ๊ธฐ ์๋น์๋ Chromium๊ณผ Node์ด๋ฉฐ ๋ฐ์ ํ๊ฒ ํตํฉ๋์ด ์์ผ๋ฉฐ ๋ ์ด์์ ๋ฒ์ ์์ ์๋ก ์๋ํ๋๋ก ๋ง๋ค ์ ์๋์ง ์์ฌ๋ฉ๋๋ค.
๋ ธ๋์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ ์ ํ์ด ๋ ๊ฐ์ง๋ฅผ ๋ชจ๋ ์ง์ํ ์ ์๋ ์ถฉ๋ถํ ๋ฆฌ์์ค๊ฐ ์๋์ง ํ์คํ์ง ์์ง๋ง ์ ๊ฐ ํ๋ฆด ์ ์์ต๋๋ค.
์ด์จ๋ ์ด๊ฒ์ ๋ฒ์ ์ง์ ๋ฒ์์ ์ถฉ๋ํ์ง ์์ผ๋ฉฐ ์ด๋ค ๋ฒ์ ์ด "LTS"์ธ์ง ๋ํ๋ด๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
๋ชจ๋ ์ ์ ์ฑ์ด ๋์ผํ ๋ฐํ์์ ์ฌ์ฉํ๊ณ ํด๋น ๋ฐํ์์ ์ํด ํน๋ณํ ๋น๋๋ .asar ํจํค์ง์ ํจ๊ป ์ ๊ณต๋๋ค๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์๊น์?
๋ค, ํ์ง๋ง ๊ฐ๋์ ์ต์ Chrome๊ณผ Node๋ฅผ ์ํ์์ฃ ?
์, ํ์ง๋ง 6๊ฐ์ ๋์ ๋์ผํ ๋ ธ๋/ํฌ๋กฌ์ ์ฌ์ฉํ๋ฉด์ ์ด ์ ์์ต๋๋ค. Node์๋ ์ด์จ๋ LTS ๋ฒ์ ์ด ์์ผ๋ฉฐ ํฌ๋กฌ์ ๋ด๊ฐ ์์์ฐจ๋ฆฐ ๊ฒ๊ณผ ํฌ๊ฒ ๋ค๋ฅด์ง ์์ต๋๋ค. Imo, ๋ชจ๋ ์ฑ ์ค์น ์ 100MB๋ฅผ ์ ์ฝํ ์ ์๋ ์ด์ ์ Chromium/Electron์ ์ ๋ฒ์ ์ด ์ถ์๋ ๋๋ง๋ค ์ฝ๊ฐ์ ์๋ ํฅ์์ ๋ณด์ํฉ๋๋ค. ๋ํ ์ผ๋จ ๊ฐ๋ฐ์๊ฐ ์ฐธ์ฌํ๋ฉด ์ ๋ฒ์ ์ ๋ฐํ์ ์ฌ์ด์ ์๊ฐ์ ์ค์ด๋ ๊ฒ์ด ๋๋ฌด ์ด๋ ต์ง ์์์ผ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ต์ ๋ฒ์ ์ ๋ฐํ์๊ณผ ํ๋ ๋๋ ๋ ๊ฐ์ ์ด์ ๋ฒ์ ์ ์ง์ํ ์ ์์ต๋๋ค.
6๊ฐ์๋ง๋ค .node ํ์ผ์ ๋ค์ ๋น๋ํ๋ ๊ฒ๋ ๊ทธ๋ ๊ฒ ์ด๋ ต์ง ์์์ผ ํฉ๋๋ค.
Electron-builder๋ ๋ชจ๋ nsis ๋์์ ๋ํ ์๋ก์ด ์ต์ ์ธ useSharedElectronRuntime์ ์ง์ํฉ๋๋ค. ํ์ฌ๋ก์๋ ๊ธฐ์กด์ ๋ชจ๋ dll์ด ๋ ๊ฒ์ ๋๋ค. exe์ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ ์ฝ๋๋ฅผ dll๋ก ์ฎ๊ธฐ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํ์ง๋ง ๋์ค์ ํ ์ ์์ผ๋ฏ๋ก 30Mb๋ฅผ ์ ์ฝํ๋ ๊ฒ์ด ์ด๋ฏธ ์ข์ ๋ชฉํ์ ๋๋ค.
@CiriousJoker Re: ๋ณด์. ์์ฉ ํ๋ก๊ทธ๋จ ์์ฒด๊ฐ ์
์์ ์ธ ๋ณด์ ๋ฌธ์ ๋ ์๊ฐํ์ง ์์์ต๋๋ค. ์ ๋ขฐํ ์ ์๋ ์ฝํ
์ธ ๋ฅผ ๋นจ์๋ค์ด๊ณ ์ฌ์ฉํ๋ ์ ์ ์ฑ์ ์๊ฐํ๊ณ ์์์ต๋๋ค. ์ฆ, ์ ์ ์ฑ์ด ์ด๋ฆฐ ์น์ ์น ํ์ด์ง๋ฅผ webview
๋๋ ์ด์ ์ ์ฌํ ํ์์ผ๋ก ํ์ํ ๋๋ง๋ค.
๋ง์ ์ฑ์ด ๊ฐ๋ฐฉํ ์น์ ๋ ธ์ถ๋์ง ์์ผ๋ฉฐ ์ด์ ์ ์์์ ์ ์คํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๋ค๋ฅธ ๊ทน๋จ์ ์น ๋ธ๋ผ์ฐ์ ๋ก์ ์์ ์ ๋ ธ์ถ์ํค๋ ๊ฒ ์ธ์๋ ์๋ฌด๊ฒ๋ ํ์ง ์๋ Brave์ ๊ฐ์ ๊ฒ์ ๋๋ค. :-)
@sedwards2009 ye, ํ์ง๋ง ์ฐ๋ฆฌ๊ฐ ๋ชจ๋ ์ฌ๋๊ณผ ๊ทธ๋ค์ ์๋ง๋ฅผ ๋๋ณด๊ธฐ ์์ํ๋ค๋ฉด ์ฐ๋ฆฌ๋ ์๋ฌด ์ง์ ๋ ์์ ๊ฒ์ ๋๋ค. ๋ญ๊ฐ๋ฅผ ํ์ง ์๋ ๋ฐ์๋ ํญ์ ์ด์ ๊ฐ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ฅผ 100% ์ฐธ์ฌ์ํค์ง ๋ชปํ๋ ๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์น๋ฌ์ผ ํ ํฌ์์ผ ๋ฟ์ ๋๋ค. ๋ณด์์ด ์ ๋ง๋ก ํ์ํ๊ฑฐ๋ ์ํ๋ ๊ฒฝ์ฐ ์๋์ผ๋ก ๊ฐ์ง ์ ์์ต๋๋ค.
LTS๋ฅผ ์ ํํ๋ ๊ฒ๊ณผ ๊ด๋ จํ์ฌ ๊ฐ์ฅ ํฉ๋ฆฌ์ ์ธ ์ ํ์ Nodejs LTS์ ๋ฐ์ธ๋ฉํ๋ ๊ฒ์ ๋๋ค. ์ฆ, ๋ ธ๋ LTS์ ํด๋นํ๋ ์ ์ ๋ฒ์ ์ด ์ฌ์ค์ ์ ์ LTS์ ๋๋ค. ์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์ง๋จ์ ์ผ๋ก ์์ผ๋ก ๋์๊ฐ ์ ์๊ณ (์ด ์ปค๋ฎค๋ํฐ๋ฅผ ๋ถ์ ํ๋) ์์ ๋ก์ด ์ ํ์ด๋ ๋ ผ์(์ฐ๋ฆฌ๋ฅผ ์๋ฌด๋ฐ๋ ์ด๋์ง ์์)์ผ๋ก ๋จ๊ฒจ๋์ง ์๊ณ ์ด๋ ์ ๋ ํ์ ์ ๊ฐ์ง ์ ์๋๋ก ์ฝ๊ฐ์ ์กฐํ์ ํฉ์๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
@CxRes ํ์ง๋ง ์ด๋ค ๋ฒ์ ์ Electron์ ์ง์ํฉ๋๊น? ๋ด ํ๋ก์ ํธ์์ ์ฃผ์ ๋ฌธ์ ๋ ํน์ ๋ฒ์ ์ Electron(Node๊ฐ ์๋)์ ๋ํด .node ํ์ผ์ ๋ค์ ๋น๋ํ๋ ๊ฒ์ด์์ต๋๋ค.
์ต์ Electron ๋ฒ์ ์ lts๋ก ์ค์ ํ๊ฑฐ๋ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฒ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ด๊ฐ ์ฌ๊ธฐ์์ ๋ญ๊ฐ๋ฅผ ๋์น๊ณ ์์ต๋๊น? ์์ด๊ณ , ๋ฌธ์ ๋ Node๊ฐ ์๋๋ผ Electron์ ๋๋ค.
์ข์์, ์๋ฅผ ๋ค์ด ๋ค์ ์ค๋ช ํ๊ฒ ์ต๋๋ค.
๋ ธ๋ LTS๊ฐ v8๋ก ์ด๋ํ๋ฉด(LTS๋ ์ง์๋ง ์์) ์์ง ์ถ์๋์ง ์์ ์ ์๋ก ํจ๊ป ์ด๋ํฉ๋๋ค. ์ด ์ ์๋ ๋ ธ๋ v8์ ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋๊ฑฐ๋ ์ ์ ๋ฒ์ ์ด ์ถ์๋ ๋๊น์ง ํ์ฌ LTS ํฌํฌ์ ๋จ์ ์์ต๋๋ค.
์ต์ ์ ์ต๊ณ ๋ฅผ ์ํ๋ ๊ฐ๋ฐ์๋ ์ด๋ป์ต๋๊น?
@CxRes @CiriousJoker ์ฌ๊ธฐ์๋ ์ฃผ์ ๋ฅผ ๋ฒ์ด๋์ง ์๋๋ก ํฉ์๋ค. ๋ค๋ฅธ Electron ๋ฒ์ ์ ์ฌ์ฉ์ ๋ฐฉํดํ๋ ๊ธฐ์ ์ ์ธ ์ด์ ๋ ์์ต๋๋ค. ๋จํธํ๋ ์ด๋ค ๊ฒฝ์ฐ์๋ ๋ฐ์ํฉ๋๋ค(๊ฐ๋ฐ์๊ฐ 1๋ ์ ์ ์ฑ์ ์ถ์ํ๊ณ ์์ด๋ฒ๋ ธ๊ณ ์ต๊ทผ์ ์ถ์๋ ๋ค๋ฅธ ๊ฐ๋ฐ์์ ๋ค๋ฅธ ์ฑ์ด ๋ค๋ฅธ ๋ฒ์ ์ ์ฌ์ฉํจ).
@YurySolovyov LTS์ ์ ์ฒด ์์ด๋์ด๋ ์ต์ ์ด ์๋๋ผ ๊ฐ์ฅ ์์ ์ ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๊ฐ ํ๋์ ์๋ฃจ์ ์ ์ง์คํ๋ ๋ฐ ๋์ํ ์ ์๋ค๋ฉด, ์ด๋ค ๊ทธ๋ฃน๋ ๋ชจ๋ ๋ฒ์ ์ ๋ค์ ๋น๋ํ๊ณ ๋ฒ๊ทธ๋ฅผ ์ ๋ณํ ์๊ฐ๊ณผ ๋ฅ๋ ฅ์ด ์๊ธฐ ๋๋ฌธ์ ๋ฐํ์์ด ์๋ Pareto ์ฐจ์ ์ฑ ์ผ๋ก ๊ณ ํต์ ๊ฒช์ ์ด๋ช ์ ๋๋ค.
๋ํ ์์ @CiriousJoker ์ฃผ์์ ์ฐธ์กฐํ์ญ์์ค.
๋ค, ํ์ง๋ง ์ฐ๋ฆฌ๊ฐ ๋ชจ๋ ์ฌ๋๊ณผ ๊ทธ๋ค์ ์๋ง๋ฅผ ๋๋ณด๊ธฐ ์์ํ๋ค๋ฉด ์ง์ ์ด ์์ ๊ฒ์ ๋๋ค.
@develar ์๊ฒ ์ต๋๋ค . ๊ทธ๋ฌ๋ ๋น์ ์ด ์ง์ ํ๋ฏ์ด ์ด๊ฒ์ ๊ธฐ์ ์ ์ธ ๋ฌธ์ ๊ฐ ์๋๋ผ ์ ์น์ ์ธ ๋ฌธ์ ์ ๋๋ค(๋ถ๋ด์ด ๊ณต์ ๋๋๋ก ์ผ๊ด๋๊ฒ ๋๋ถ๋ถ์ ์ฌ๋๋ค์๊ฒ ์๋ํ๋ ๋น๋์ ๋์ํ๋ ๊ฒ).
์ด์ ์ฐ๋ฆฌ๋ ๋ฌด์์ ํฉ๋๊น? lts ๋ฒ์ ์ ์ ํํ๊ณ ์์ํ๊ฑฐ๋ ๋ชจ๋์ dll์ ์ฌ์ฉํ์ฌ ๋ง๋ฅ ๋ฐํ์์ ๊ตฌ์ถํ์ฌ ๋ชจ๋ ์ฌ๋์ด ์ฌ์ฉํ ์ ์๋ ์๋ฃจ์ ์ ์ฐพ ์ต๋๊น ?
@CiriousJoker ํน์ ์ ์ ๋ฒ์ ์ ๋ํ ๋ณ๋ ฌ ์ด์
๋ธ๋ฆฌ. ์: ElectronUserland.ElectronRuntimeAssembly.1.6.11.0
.
@develar Google์์ ์ ์๋ฐํด์ด์ ๋ธ๋ฆฌ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. ๋งํฌ๋ smth๋ฅผ ์ ๊ณตํ ์ ์์ต๋๊น?
Imo, ์๋๋ฅผ ๋์ด๋ ค๋ฉด ์์์ Electron ๋ฒ์ ์ lts ๋ฒ์ ์ผ๋ก ์ ํํ๊ณ ์์ํด์ผ ํฉ๋๋ค. ์ด์จ๋ ๋์ค์ ์ธ์ ๋ ์ง ๋ฒ์ ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
@develar ์ฌ์ ํ ๋ณ๋ ฌ ์ด์
๋ธ๋ฆฌ๊ฐ ๋ฌด์์ ์๋ฏธํ๋์ง ๋ชจ๋ฅด์ง๋ง ํฌ๋ก์ค ํ๋ซํผ์์ ์๋ํด์ผ ํ๋ฉฐ ๋์ค์ ๊ตฌํํ ์๋ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ฐ๋ฆฌ(๋๋ ์ค์ ๋ก ์ฌ๋ฌ๋ถ)๋ ์ด ๋ฌธ์ ์ ๋ํด ๋ช ๋ ๋์ ์ด์ผ๊ธฐํด ์์ง๋ง ์๋ฌด๋ ์์ํ์ง ์์ผ๋ฉด ์๋ฌด ๊ฒ๋ ๋ฐ๋์ง ์์ ๊ฒ์ด๋ฉฐ ์์ด๋์ด๋ฅผ ๋ ผ์ํ๊ณ ์์ํ์ง ์๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ ๋ฐ ๋ 3๋ ๋์ ์์ ์์ ๊ฒ์ ๋๋ค.
์ ์ ๊ฐ๋ฐ์๋ค์ด ํ๋ฃจ ๋นจ๋ฆฌ ์คํ ํ๊ฒฝ๊ณผ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ถ๋ฆฌ๋ฅผ ํด๊ฒฐํ์ฌ ์ ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ํฌ๊ฒ ์ด์งํ๊ณ ๋ฐ์ ๋ฏธ๋๋ฅผ ๋ณผ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๊ทธ๋ค์ ๋์๊ฒ ๋ช ๋ ์ฒ๋ผ ๋ณด์ด๋ ๋์ ๊ทธ๊ฒ์ ํด๊ฒฐํ์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ ๊ทธ๊ฒ์ ๋ํด ์ฝ๊ฐ ๋น๊ด์ ์ ๋๋ค. ๋ฌผ๋ก ๊ต์ฅํ๊ฒ ์ง๋ง ๊ทธ๋ค์ ์ฌ์ง์ด ๊ทธ๊ฒ์ ๋ํด ์ ๊ทน์ ์ผ๋ก ์ผํ๊ณ ์์ต๋๊น?
@CiriousJoker ์์์ ์ธ๊ธํ๋ฏ์ด ์ ๋ ์ ์ ๋น๋์ ์ฐฝ์ ๋ํ ๊ณต์ ์ ์ ๋ฐํ์ ์ง์ ์์ ์ ํ๊ณ ์์ต๋๋ค. ์งํ ์ํฉ์ ์ถ์ ํ๊ธฐ ์ํด https://github.com/electron-userland/electron-builder/issues/1942 ๋ฅผ ์ ์ถํ์ต๋๋ค. 1๊ฐ์ ์์ ์ฌ์ฉํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
@develar ๋ด ๋์, ๊ทธ๊ฒ์ ๊ฐ๊ณผํ์ ๊ฒ์ ๋๋ค.. ๊ทธ๋ ๋ค๋ฉด ํ์ด์ ๋น๋๋ค, ๋น์ ์ด ๊ทธ๊ฒ์ ๋ง๋ค ์ ์๋ค๋ฉด ๊ต์ฅํ ๊ฒ์ ๋๋ค!
https://github.com/electron/electron/issues/673#issuecomment -157980607์ ์ค๋ ๋์์ ์์ ์ธ๊ธํ ํ์ ํ์ผ content-defined-chunking ์ค๋ณต ์ ๊ฑฐ์ ๊ด์ฌ์ด ์๋ ์ฌ๋์ด ์๋ ๊ฒฝ์ฐ ์ด๋ฅผ ์คํ ์์ค๋ก ์ง์ ํ์ต๋๋ค: https:// github.com/ronomon/deduplication
์ด ๊ธด ์ค๋ ๋๋ ์ง๋ ๋ช ๋ฌ ๋์ ํด๋ฉด ์ํ์์ง๋ง ์ด ์ค๋ ๋๊ฐ ํด๊ฒฐํ๋ ๋ฌธ์ ๋ ์ฌ์ ํ ์กฐ์ฌํ ๊ฐ์น๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฃผ๋ง ๋์ ๋๋ ํ์ผ ์ด๋ฆ์ ๋๋์ผ๋ก ๋ฐ๊พธ๊ธฐ ์ํ ์๊ณ ์ต์ํ์ ํ ํ์ด์ง ์ ํธ๋ฆฌํฐ๋ฅผ ๋ง๋ค์์ต๋๋ค. ์ ์ ๋น๋๊ฐ ํฌํจ๋ ์ต์ข Mac .app ํ์ผ์ 121mb ...
๋๋ ์ต๊ทผ์ ์ด ๋ฌธ์ ์ ๋ํด ์๊ฐํ๊ณ ์์๋ค. ๊ทธ๋ฐ ๋ค์ ๋ด ์ค๋งํธํฐ์ ์ดํด๋ณด์์ต๋๋ค. Facebook ์ฑ์ 600MB ํฌ๊ธฐ์ ๋๋ค. Chrome์ 325MB, Mesenger๋ 300MB... ๊ทธ๋์ ๋ฐ์คํฌํฑ์ 120MB ์ฑ์ ๋ณ๋ก ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค...
์ค๋๋ ํฌ๊ธฐ๋ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. ๋จ๊ณผ ์๋น์ ๋ ฅ์ ๋๋ค.
_ํธ์ง: ๋์ํ์ง ์๋ ๊ฒฝ์ฐ ์ด์ ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ์ธ์_
Windows ํ๋ซํผ์ ๊ฒฝ์ฐ @develar ์ electron-builder(electron-userland/electron-builder#1942) ๋ ธ๋ ฅ์ ๊ณต์ ๋ฐํ์ ๋ฌ์ฑ์ ๊ฐ๊น์ ๋ณด์ ๋๋ค.
๋ํ ์น ์ฑ์ ๋ ๋ฆฝ ์คํํ Electron ์ฑ์ผ๋ก ํจํค์งํ๋ ์ฑ ์น ์นดํ๋ก๊ทธ๊ฐ ์ฑ ํฌ๊ธฐ๋ฅผ ๋ํญ ์ค์ด๊ธฐ ์ํด ๊ณต์ ๋ฐํ์ ์ฌ์ฉ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค: webcatalog/webcatalog/issues/171. ์ฑ ๊ฐ์ ๊ณต์ ๋ฆฌ์์ค๋ฅผ ์ฌ๋ณผ๋ฆญ ๋งํฌ ํ์ฌ ํจํค์ง ํ๋ก๊ทธ๋จ์์ ์ํ๋์์ต๋๋ค.
ํ๋ก๊ทธ๋ ์๋ธ ์น ์์ฉ ํ๋ก๊ทธ๋จ(PWA)์ ์ด ๋ฌธ์ ์ ๋ํ ๋ถ๋ถ์ ์ธ ์๋ฃจ์
์
๋๋ค. Android์์๋ PWA๋ฅผ ํ ํ๋ฉด์ ์ถ๊ฐํ ์ ์์ผ๋ฉฐ ์ค์ APK์ฒ๋ผ ์๋ํฉ๋๋ค. Chrome ํ์ ํ์ฌ ๋ฐ์คํฌํฑ์ PWA๋ฅผ ์ค์นํ ์ ์๋๋ก ์์
์ค์
๋๋ค(http://www.androidpolice.com/2017/12/05/google-want-progressive-web-apps-replace-chrome-apps/), Microsoft ๋ํ PWA ์ง์(https://www.windowscentral.com/faq-progressive-web-apps-windows-10)์ ๊ด์ฌ์ ๋ณด์ด๋ฉฐ Firefox์ Safari๊ฐ ๊ณง ๋ฐ๋ผ์ก๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ฐ๋ฐ์๊ฐ ๊ด์ฌ์ ๋ณด์ด๋ฉด ๋๋ฝ๋ API(์: ๊ธฐ๋ณธ ํ์ผ ์์คํ
์ก์ธ์ค)๊ฐ ์ถ๊ฐ๋ฉ๋๋ค.
๋๋ถ๋ถ์ ์น ๊ธฐ๋ฐ Electron ์ ํ๋ฆฌ์ผ์ด์
์ PWA๋ก ์ฝ๊ฒ ๋ณํํ ์ ์์ง๋ง Atom, VSCode์ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์
์ ํ์คํ์ง ์์ต๋๋ค. ๋ค์ดํฐ๋ธ ์ฝ๋๋ ์๋ง๋ WebAssembly์์ ๋ค์ ์์ฑํด์ผ ํ ๊ฒ์
๋๋ค.
@develar ๋ ์ด ์์ด๋์ด์ ๋ํด ์ง์ ์ด ์์ต๋๊น?
์ถ์๋๋ฉด ์ฌ์ฉํ๊ฒ ์ต๋๋ค!
์ต๊ทผ์ ์ด๊ฒ์ ๋ฐ๊ฒฌํ๊ณ ๋๋ ๋จ์ง ๋ด ์๊ฒฌ์ ๋์ง๊ณ ์ถ์์ต๋๋ค. ํ์ง๋ง ์ ์ฒด ๋ฌธ์ ๋ฅผ ์ฝ์ง ์์๊ธฐ ๋๋ฌธ์ ๋๋ ๋ชจ๋ฅด๊ฒ ๋ช ๊ฐ์ง๋ฅผ ๋ฐ๋ณตํ ์ ์์ต๋๋ค.
Electron ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ๊ฐ ์ง๊ธ์ ๊ทธ๋ ๊ฒ ํฐ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ผ ์ ์์ง๋ง ์ฌ์ฉ์ ์ ์ ๊ณ์ฐ๊ธฐ์ ๊ฐ์ ๋งค์ฐ ๊ฐ๋จํ๊ณ ์์ ํ๋ก๊ทธ๋จ์ ๋ฐฐํฌํ ๋ ์ค์ ๋ก ๋ณด๊ธฐ ์์ํ๋ฏ๋ก ์ด์ ๊ฐ์ ๊ฒ์ด ๋งค์ฐ ์ค์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด ๊ฒฝ์ฐ 5-10MB ์ ๋๊ฐ ์ ๋นํฉ๋๋ค. 60MB ์ด์์ด๋ฉด ๋ง๋ ์๋ฉ๋๋ค. ๋ ํฐ ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ Electron ์์ฒด์ ํฌ๊ธฐ๋ ๋ ๋ฌด์ํ ์ ์์ง๋ง ์ฌ์ ํ ์ฑ๊ฐ์ค ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ด์ ์ด๋ฌํ ๋ฐํ์ ๋ชจ๋์๋ ํ์ฌ ๋ฆด๋ฆฌ์ค ์๋๋ฅผ ๊ณ ๋ คํ์ฌ ์ผ๋ถ ์ ํ์ LTS ๋ฆด๋ฆฌ์ค ์์คํ ์ด ํ์ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ฐ๋ฐ์๋ LTS ๋ฆด๋ฆฌ์ค์ ์์กดํ๋๋ก ๊ถ์ฅํ ์ ์์ผ๋ฉฐ ์ฌ์ฉ ์ค์ธ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฒ์ ๋ชฉ๋ก์ ์ฑ ๋๋ ํ ๋ฆฌ์ ํ์ํ์ฌ ํ์ ๊ธฐ๋ฅ์ด ๋ถ์กฑํ ๊ฒฝ์ฐ๊ฐ ์๋๋ฉด ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฒ์ ์ ์ฌ์ฉํ๋๋ก ๊ถ์ฅํ ์ ์์ต๋๋ค.
๋ฐํ์ ๋ชจ๋ ์์ฒด๋ IMO์ ๋ค๋ฅธ ๋ฒ์ ์ Electron ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ธฐ ์ํ ๋ด์ฅ ์์คํ ๋ ์์ด์ผ ํ๋ฏ๋ก ์ฌ์ฉ์๊ฐ ๋ค๋ฅธ ๋ฒ์ ์ด ํ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์นํ๋๋ก ์์ฒญํ๋ฉด ๋ฐํ์ ํ๋ก๊ทธ๋จ์ด ์๋์ผ๋ก ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. ์ค์น ํ๋ก์ธ์ค ๋ด์ ๋จ๊ณ์ ๋๋ค.
Electron ์ฑ์ RAM ์ฌ์ฉ๋๋ ์ด๋ฅผ ํตํด ๊ฐ์ ๋ ์ ์์ง๋ง, ์ด๋ฅผ ์ ์ฉํ๋ ๋ฐ ํ์ํ ๋ณ๊ฒฝ ์ฌํญ์ ํจ์ฌ ๋ ์ค์ํ ์ ์์ต๋๋ค. ๊ณต์ ๋ฐํ์์ ์ฌ์ฉํ๋ฉด ๋์ผํ ๋ฒ์ ์ ์ฌ์ฉํ๋ Electron ์ฑ์ด ๋ฉ๋ชจ๋ฆฌ ๋ด์์ ์ผ๋ถ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค.
์ด์จ๋ , ๋๋ ์ด์จ๋ Electron ํ๋ก์ ํธ์ ์ ์ฒด ์์ค์ ๋ํด ๋งค์ฐ ์๋กญ๊ธฐ ๋๋ฌธ์ ๋ถ๋ถ๋ช ํ ๊ฒ์ด ์๊ฑฐ๋ ๋ถํ์ํ๊ฒ ๋ฌด์ธ๊ฐ๋ฅผ ๋ฐ๋ณตํ๋ค๋ฉด ์ฃ์กํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ด ๊ตฌํ๋๊ธฐ๋ฅผ ์ง์ฌ์ผ๋ก ๋ฐ๋๋๋ค. Electron์ด ํจ์ฌ ๋ ๋ง์ ์ ํ์ ํ๋ก๊ทธ๋จ์ ์ํ ํจ์ฌ ๋ ์ ๋งํ ํ๋ซํผ์ด ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. :+1:
@octacian PWA๊ฐ ๋ ๋์ ์ต์ ์ด๋ผ๊ณ ์๊ฐํ๊ธฐ ์์ํ์ต๋๋ค. ๋ณดํธ์ ์ธ ๊ฒ์ ์๋์ง๋ง PWA๋ฅผ ์ฌ์ฉํ์ฌ _๋ชจ๋ ๊ฒ์_ ํ ์๋ ์์ง๋ง ์ฌ์ฉ์ ์ ์ ๊ณ์ฐ๊ธฐ์ ๊ฐ์ ๊ฒฝ์ฐ์๋ ์ถฉ๋ถํด์ผ ํฉ๋๋ค.
์ด์ ๋ฐ์คํฌํฑ์์ PWA ์ง์ ์ด ๋ํ๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค.
๋ํ ์ด๋ฌํ ์์คํ ์ ์ฌ์ฉํ๋ฉด 1- ์๋ฒ ๋๋/์ํ ์์คํ ์ผ๋ก ๋ฐฐ์กํ๋ ๊ฒ์ด ๋ ์ฌ์ธ ๊ฒ์ด๊ณ 2- ๋ฏธ๋์๋ ๋ชจ๋ฐ์ผ ์ฅ์น์ฉ ์ ์ ๊ฐ์ ์ด์ ์ฒด์ ๊ธฐ๋ฐ์ด ๋ง๋ค์ด์ง ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
@yasinaydin ์ด๋ฏธ LG WebOS๊ฐ ์์ต๋๋ค. (Firefox OS๋ ์์์ง๋ง ๋จ์ข ๋จ)
@KeitIG โโ์ ์๋, Electron์ ์ ์ผํ ๋ฌธ์ ๊ฐ ํฌ๊ธฐ๋ผ๋ฉด ๊ทํ์ ์ฃผ์ฅ์ ์ ๋์ ์ผ๋ก ์ ์ ํ ๊ฒ์
๋๋ค. ์ฝ๊ฐ ๋ ํฐ ํ๋ก๊ทธ๋จ์ ๊ฐ์ง์ง๋ง ๊ฐ๋ฐ์๋ฅผ ์ํ ๋ณต์ก์ฑ๊ณผ ์คํจ ๊ฐ๋ฅ์ฑ์ ๋จ์ํํ๋ ๊ฒ(์ฐ๋ฆฌ๋ Electron์ด ๊ฐ๋ฐ์๋ค์๊ฒ ์๋ง์ด ๋ ์ฌ์ง ์์ด ์ฑ์ ๊ตฌ์ถํ๋ ํ์คํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ ๋ฐ ํ์ํ๋ค๋ ๊ฒ์ ๋ถ์ ํ ์ ์์ต๋๋ค) ๊ต์ฅํ ๊ฒ์
๋๋ค. ์์, ๊ฐ ์ฑ์ ๋ํด ๋ณ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ์ ์ฌ์ฉํ๋ฉด RAM ์ฌ์ฉ๋์ด ์ฆ๊ฐํ๊ณ ๋ณด์ ๋ฌธ์ ๊ฐ ๋ถ์ฐ๋๊ณ ์์ ํ๊ธฐ ๋ ์ด๋ ค์์ง๋๋ค. ๋ด ์ค๋ณต ๋ฌธ์ ์์ ์ด๊ฒ์ ๋ ์ ์ค๋ช
ํ์ง๋ง ๊ฐ๋จํ ๋งํด์ ๊ณต์ ๋ฐํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์์ฒด์ ์ผ๋ก ์
๋ฐ์ดํธํ๊ณ ๋ค๋ฅธ Electron ์ฑ ๊ฐ์ ๊ณต์ ํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค("๋ผ์ดํธ" ๋ฒ์ ๋ ์ ๊ณต๋ฉ๋๋ค. JVM์์ ์ฌ์ฉํ Java ํ์ผ์ ๋ฐฐํฌํ๊ณ .exe
๋ฒ๋ค๋ก ๋ฌถ์ ์ผ๋ถ ๊ฐ๋ฐ์๋ ์ค์ ๋ก Electron์ ๊ฑฐ๋ ์ฐจ๋จ๊ธฐ์ด๋ฉฐ ์์ฒญ๋ ์์
๋์ด ๋ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์ดํดํ์ง๋ง ์ฌํ๊ฒ๋ ์์ง ๊ฐ๋ฐ์์ ๊ณํ์ ์๋ค๋ ๊ฒ์
๋๋ค. ๊ทธ๋ค์ด ๋ฏธ๋์ ๊ทธ๊ฒ์ ํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
@dre-hh ์ ์์ ์ข์ ์๋๋ ์ธ์ ํ์ง๋ง ๋ฌด์๋ณด๋ค๋ ์ง๋์น๊ฒ ์ ํ์ ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ์ ๋ ๊ณ ์ฉ์ฃผ๋ฅผ ์ํด ์์ ์ฉ ์ ์ ์ฑ์ ๊ฐ๋ฐํ์ผ๋ฉฐ ๊ณ ๋๋ก ๊ท์ ๋ ํ๊ฒฝ(์ธํฐ๋ท ์ฐ๊ฒฐ ์์, ์ถ์ ๊ฐ๋ฅ์ฑ/๊ฐ์ฌ ์๊ตฌ ์ฌํญ ๋ฑ)์์ ์ฌ์ฉ๋ฉ๋๋ค. ๊ณ ๊ฐ์ ์ํํธ์จ์ด ์๋ ์ ๋ฐ์ดํธ์ ๊ฐ์ ์์ ์ ์ํํ๋๋ก ํ์ฉํ ์ ์์ต๋๋ค. ๋์ค์ ์ํ ์ผ๋ฐ์ ์ธ ์น ์ฑ๊ณผ๋ ๋งค์ฐ ๋ค๋ฅธ ์ธ์์ ๋๋ค. ์๋ฒ๊ทธ๋ฆฐ ๋ธ๋ผ์ฐ์ ์ OS ๋ณด์ ์ ๋ฐ์ดํธ์ ์๋ ์ค์น๋ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋๋ถ๋ถ์ ์ฌ๋๋ค์๊ฒ ์ข์ ์์ด๋์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋๋ก๋ ์ํํธ์จ์ด ๋ณ๊ฒฝ์ผ๋ก ์ธํ ์ค๋จ์ ์ํ์ด ํนํ ๋ค๋ฅธ ๋ณด์ ์ํ ๊ธฐ์ ์ด ์๋ ํต์ ๋ ํ๊ฒฝ์์ ์ค๋๋ ๋ฒ์ ์ ์ํํธ์จ์ด๋ฅผ ์คํํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ์ํ๋ณด๋ค ํจ์ฌ ๋ ํฝ๋๋ค. ๋ฐ๋ผ์ ์ค๋๋ ๋ฒ์ ์ ์ ์(๋๋ ์ค์ ๋ก๋ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ)๋ฅผ ์ฌ์ฉํ์ฌ ์์ฉ ํ๋ก๊ทธ๋จ ์คํ์ ์ฐจ๋จํ๋ ๊ฒ๊ณผ ๊ฐ์ ๊ทน๋จ์ ์ธ ์กฐ์น๋ฅผ ์ทจํ๋ ๊ฒ์ ์ด์์ ์ธ ์๋ฃจ์ ์ด ์๋๋๋ค. (๊ฒ๋ค๊ฐ ๊ด๋ฆฌ์๋ ์ด๋ฏธ ์คํํ ์ ์๋ ํ๋ก๊ทธ๋จ์ ์ ํํ๋ ๋ง์ ์ ์ด ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก ์๋ก์ด OS ๊ธฐ๋ฅ ์์ด๋ ์ด๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค.)
๋ํ ๋๋ถ๋ถ์ ๋ณด์ ๋ฌธ์ ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋๋ถ๋ถ์ ๋ฌธ์ ๋ ์ํ์ ์ธ์ํ์ง ๋ชปํ๊ฑฐ๋ ์ด๋ค ์ด์ ๋ก๋ (์: ์๊ฐ ๋ถ์กฑ) ์ฌ์ฉ ์ค์ธ ๋๊ตฌ์ ๋ํ ๋ณด์ ์ง์นจ์ ๋ฐ๋ฅด์ง ์๊ธฐ๋ก ์ ํํ ๊ฐ๋ฐ์์์ ๋น๋กฏ๋ฉ๋๋ค. (์: ๋ณด์, ๊ธฐ๋ณธ ๊ธฐ๋ฅ ๋ฐ ๊ทํ์ ์ฑ ์ ) ์ฐ๋ฆฌ๋ ๊ฐ๋ฐ์๋ก์ ๋ชจ๋ ์ฐ๋ฆฌ ์์ ์ ํ์ง(๋ณด์ ํฌํจ)์ ๋ํ ์ฑ ์์ ์ ธ์ผ ํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก, ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Microsoft์ ๊ฐ์ ์์ฉ ์ํํธ์จ์ด ๊ธฐ์ ์ ์ฐพ๋ ๊ฒ์ ์ค์๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ด๋ ๋ถ๋ถ์ ์ผ๋ก๋ ๋ฐฉ๊ธ ์ธ๊ธํ ๊ฒ์ฒ๋ผ ๋ณด์ ์์์ด ์๋ ๊ฐ๋ฐ์๋ฅผ ํตํด ๋ณด์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ฑํ ๊ฒ์ผ๋ก ๊ธฐ๋ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ ์ค์ํ ๊ฒ์ ์ ์ด๋ ๋ด ์๊ฐ์ Electron์ ์๋ฆ๋ค์ด ์ ์ค ํ๋๋ ์ผ๋ฐ์ ์ผ๋ก ์์ฉ ์ํํธ์จ์ด ๊ณต๊ธ์ ์ฒด์๊ฒ ๋์ ์ฐ์ ์์๊ฐ ์๋ ์คํ ์์ค ๋ฐ ๋ค์ค ํ๋ซํผ ํน์ฑ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ์ ์๊ฐํ๊ณ ์ฑ๊ณต์ ์ธ ์งํ์ ์ํด์๋ ์ ์ฒด ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ์ ์ด๋ ์ ๋ ์์ค์ ํฉ์์ ๋ ธ๋ ฅ์ด ํ์ํ ๊ฒ์ ๋๋ค. ๋ฌผ๋ก ์๋ฆฌ ๋จ์ฒด์ ๊ธฐ์ฌ๋ ๋ฌผ๋ก ๊ฐ์ฌํฉ๋๋ค.
@jacobq ํน์ ๋ชจ๋ฅด์ ๊ฒ ์ง๋ง, ๋ง์ดํฌ๋ก์ํํธ๋ Electron์ ์์ ์ฃผ์ ๋๋ค.
ํน์ ๋ชจ๋ฅด๋ Microsoft๊ฐ Electron์ ์์ ์ฃผ์ ๋๋ค.
@Jop-V ์ด์ ๋ํ ์ธ์ฉ์ ์ถ๊ฐํ์ญ์์ค. ๋๋ ๊ทธ๊ฒ์ด ์ณ์ง ์๋ค๊ณ ์๊ฐํ๋ค. electronjs.com ์ฒซ ํ์ด์ง ์ ๋ค์๊ณผ ๊ฐ์ด ๋์ ์์ต๋๋ค.
Electron์ GitHub์ ํ๋ฐํ ๊ธฐ์ฌ์ ์ปค๋ฎค๋ํฐ์์ ์ ์ง ๊ด๋ฆฌํ๋ ์คํ ์์ค ํ๋ก์ ํธ์ ๋๋ค.
Microsoft๋ Electron์ ์๋น์(Visual Studio Code์ ๊ฐ์ ์ ํ์์ ์ฌ์ฉ)์ด์ ๊ธฐ์ฌ์์ด๊ธฐ๋ ํ์ง๋ง ์์ ๊ถ์ ์์ต๋๋ค. ๋ผ์ด์ ์ค ํ์ผ ์๋ Microsoft๊ฐ ์ธ๊ธ๋์ด ์์ง ์์ผ๋ฉฐ Wikipedia ๊ธฐ์ฌ ์์๋ Microsoft๊ฐ ์์ ๊ถ์ ๊ฐ๊ณ ์๋ค๊ณ ์ ์ํ์ง ์์ต๋๋ค.
@jacobq Microsoft๋ GitHub๋ฅผ ์ธ์ํ ์์ ์ด๋ฏ๋ก ํ์ฌ GitHub์์ Electron์ ์ ์ง ๊ด๋ฆฌํ๊ณ ์๋ค๋ฉด ๋ด๊ฐ ๋งํ ์ ์๋ ํ ๊ณง Microsoft์์ ์ ์ง ๊ด๋ฆฌํ ๊ฒ์ ๋๋ค.
https://news.microsoft.com/2018/06/04/microsoft-to-acquire-github-for-7-5-billion/
Microsoft์ Github ์ธ์๋ Electron์ ์๋ฌด๋ฐ ์๋ฏธ๊ฐ ์์ต๋๋ค. Github์ ์์ฒด ์ ํ๊ณผ ํ๋ก์ ํธ๊ฐ ์๋ ๋ณ๋์ ํ์ฌ์ ๋๋ค. ๋๋ ๋ง์ดํฌ๋ก์ํํธ๊ฐ ์ํฐ์ ์์ ๊ถ์ ๊ฐ์ ธ๊ฐ๋ ๊ฒ์ ๋ณด๋ ๊ฒ์ฒ๋ผ ๋ง์ดํฌ๋ก์ํํธ๊ฐ ์ ์์ ์์ ๊ถ์ ๊ฐ์ ธ๊ฐ๋ ๊ฒ์ ๋ณด์ง ์๋๋ค.
๋๋ ์ด ๋ ผ์์ด ๋ฌธ์ ์ ์ด๊ธฐ ์์ ์ ์ค์ ๋ก ๋์์ด ๋์ง ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค.
Carlo๋ ๊ฝค ํฅ๋ฏธ๋กญ๊ฒ ๋ณด์ ๋๋ค. ๋๋ ๊ทธ๊ฒ์ ํ์ ์์ผ ๋ณด์๊ณ ๋งค์ฐ ์ง๊ด์ ์ ๋๋ค. pkg ๋ก ์คํํด๋ณธ ์ฌ๋์ด ์์ต๋๊น?
์ต์ข ์ฌ์ฉ์์ ํ๋ ๋๋ผ์ด๋ธ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ํฝ์ฐฝ์ ์ค์ด๊ธฐ ์ํ ๋ชจ๋ ์ ์์ด ์คํ๋์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ด๊ฒ์ 4๋ ์ด ์ง๋ ์ง๊ธ๋ ์ฌ์ ํ ์์ด๋์ด์ผ ๋ฟ์ธ ํ์์ ์ธ ์์ด๋์ด์ ๋๋ค. ์ ์ด๋ฐ ์ข ๋ฅ์ ๊ฒ๋ค์ด ํ๋ก์ ํธ ์ฐ์ ์์์ ๋งจ ์์ ์์ง ์์์ง ์ดํดํ ์ ์์ต๋๋ค.
@danielo515 ๋ ๋ค๋ฅธ ๋ถ์ง๋ฐํ ํ๋ก์ ํธ๋ฅผ ๋ง๋๋ ๋์ https://github.com/GoogleChromeLabs/carlo#q -can-a-node-app-using-carlo-be-packaged-as-a-desktop-app์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ฌด์จ ์๊ธฐ๋ฅผํ๋ ๊ฑด๊ฐ์? ์ด๊ฒ์ ์ด๋ฏธ ์์ฒญ๋ ํ๋ก์ ํธ์
๋๋ค. ๋ํ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์ฌ์ฉ๋๋ฏ๋ก ์ด ํ๋ก์ ํธ์ ์ผ๋ถ์ฌ์ผ ํ๋ ๊ธฐ๋ฅ์ ๋ํด ๋ค๋ฅธ ํ๋ก์ ํธ์ ๋ํด ์ฌ๋๋ค์ ์ง์ ํ๋ ๊ฒ์ ๋์๊ฒ ์ณ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
๋ํ Carlo๋ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ด๋ฉฐ ์ค์น๋ Chrome์ ์ฌ์ฉํ๋ฏ๋ก Electron์ ๋ฐ๋ชฌ ๋ฒ์ ๊ณผ ๋ค๋ฆ
๋๋ค.
์ ์ด๋ฐ ์ข ๋ฅ์ ๊ฒ๋ค์ด ํ๋ก์ ํธ ์ฐ์ ์์์ ๋งจ ์์ ์์ง ์์์ง ์ดํดํ ์ ์์ต๋๋ค.
๊ทธ๊ฒ์ ํ์ค๋ก ๋ง๋๋ ๊ฒ์ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋๋ค(์: "์ ๋ง" ์ด๋ ต์ต๋๋ค).
๋ง์กฑ์ค๋ฝ์ง ์๋ค๋ฉด(์์ ํ ์ดํดํ ์ ์์), ์์ ๋กญ๊ฒ Electron์ ํฌํฌํ๊ณ PR์ ์ ์ถํ์ญ์์ค.
์คํดํ์ง ๋ง์ธ์. ์ด ๋ฌธ์ ์ ๋ํ ์ฌ์ด ํด๊ฒฐ์ฑ ์ด ์์๋ค๋ฉด ์ด๋ฏธ ๊ตฌํ๋์์ ๊ฒ์ ๋๋ค.
@danielo515
... ์ฌ๋๋ค์๊ฒ ์ด ํ๋ก์ ํธ์ ์ผ๋ถ์ฌ์ผ ํ๋ ๊ธฐ๋ฅ์ ๋ํด ๋ค๋ฅธ ํ๋ก์ ํธ๋ฅผ ์ง์ํ๋ ๊ฒ์ ์ณ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
์์ ์ ๊ฐ ํ๋ก์ ํธ๋ง๋ค ์ฅ๋จ์ ์ด ์๊ณ Carlo๋ ๊ณต๊ฐ์ด ์ ํ๋ ๊ฒฝ์ฐ์ ์ ํฉํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ด ์ฌ์ฉ ์ฌ๋ก์ ๊ฒฝ์ฐ 100MB ์ฑ ํฌ๊ธฐ๊ฐ ์๋ฒฝํ๋ฏ๋ก ์ด ๊ธฐ๋ฅ์ด ๊ตฌํ๋๋ ๊ฒ์ ๋ณด๊ณ ์ถ์ง๋ง ๋ค๋ฅธ ์ ์ ๊ธฐ๋ฅ์ด ํจ์ฌ ๋ ์ค์ํฉ๋๋ค.
@jacobq ๋ค, ๋ง์ต๋๋ค. ์ฌ์ฉ ์ฌ๋ก์ ๋ฐ๋ผ ๋ค์ํ ๋๊ตฌ๊ฐ ํ์ํฉ๋๋ค.
๊ด์ฌ ์๋ ์ฌ๋์ด ์์ผ๋ฉด ๋ฐ์คํฌํฑ์์ js ์ฑ์ ๊ฐ๋ฐํ๊ธฐ ์ํ ์ ์ฌํ ๋๊ตฌ ๋ชฉ๋ก์ ๋ง๋ค์์ต๋๋ค.
๋๋ ์์ญ ๊ฐ์ 100MB ์ฑ์ ์
๋ฐ์ดํธํ ์ฌ์ ๊ฐ ์๊ธฐ ๋๋ฌธ์ Electron์ ์ฌ์ฉํ์ง ์์ต๋๋ค. ์ฑ์ ์
๋ฐ์ดํธํด์ผ ํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ต๋๋ค(์ด์ ๋ํด ๋ค๋ฅธ ์๊ฒฌ์ด ์์ง๋ง ๊ณต์ ํ๋ฉด ๋์์ด ๋์ง ์์ต๋๋ค).
carlo์ ์ ๊ทผ ๋ฐฉ์์ ๋ํด ๋ด๊ฐ ์ ๋ง ์ข์ํ๋ ๊ฒ์ ์ค์น๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋ ์์ด๋์ด์
๋๋ค.
๋ ์ข์ ์ ์ puppeteer๊ฐ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ๋ ๊ด๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ carlo๋ ํฌ๋กฌ๋ฟ๋ง ์๋๋ผ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์
๋๋ค. OSX์์๋ Safari, linux epiphany(webkitgtk) ๋๋ firefox ๋ฑ์์ ์์ฑ๋ฉ๋๋ค...
๋ฐ๋ผ์ ์ค์ ๋ก ์ฑ์ ์ป์ผ๋ ค๋ฉด nodejs์ ์ฑ๋ง ์ค์นํ๋ฉด ๋ฉ๋๋ค.
์ด์ ์ง๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์์คํ
์ค์น ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ธฐ๋ณธ ์ ๋์จ์ ์ฌ์ฉํ๋ ๋ฐ pkg๊ฐ ์ผ๋ง๋ ์ข์๊ฐ์?
์๋ฅผ ๋ค์ด ํ์ฌ ๊ฐ๋ฐ ์ค์ธ ์ฑ์ ํจํค์งํด์ผ ํ๋ค๋ฉด postgresql, sharp(๋ฐ vips), webkitgtk ๋ฐ exiftool์ด ํ์ํฉ๋๋ค. linux debian, fedora ๋๋ ubuntu ์ฌ์ฉ์์๊ฒ๋ง ์ฑ์ ๋ฐฐํฌํ ์ ์๊ธฐ๋ฅผ ์ํฉ๋๋ค. ๋๋ "๋ฏธ์น ๋ฒ๋ค"์์ ๋ฒ์ด๋ ๊ทธ ๋ฐฐํฌํ์์ ์ํํ ํ๋ ์์
์ ๋ฌด๋ฃ๋ก ํ์ฉํ๊ณ ์ถ์ต๋๋ค.
@kapouer ... ์ค์น๋ ๋ธ๋ผ์ฐ์ ์ฌ์ฉ ...
์ด๋ก ์์ผ๋ก๋ ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ ์ ๋ํ ์ง์์ ์ง์คํด์ผ ํ๋ฏ๋ก ์น ์ธก์์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฝ๋ฉํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช์ ์ ์์ต๋๋ค. Chromium์์ ์ฐพ์ ์ ์๋ ๊ฒ๊ณผ ๊ฐ์ ๊ฒ์ ์๋ฒฝํ๊ฒ ์ง์ํ์ง ์์ต๋๋ค. ๋ํ ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ต์ ์ํ์ธ์ง ํ์ธํ๊ณ ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด๊ฐ ์ ๋ฐ์ดํธ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค๋จ์ํค์ง ์๋๋ก ํด์ผ ํฉ๋๋ค.
๋ง์ ์ฌ์ฉ์๊ฐ ๋ธํ ์ ๋ฐ์ดํธ๋ก ์ ํํ๊ฑฐ๋ ํจํค์ง ๊ด๋ฆฌ์๊ฐ .asar ํ์ผ ๋๋ ๋ฆฌ์์ค ํด๋๋ง ์ ๋ฐ์ดํธํ๋๋ก ํ์ฌ ๋๊ท๋ชจ 50Mb ์ ๋ฐ์ดํธ๋ฅผ ์ํํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ํ ๋๋ง ๋๊ท๋ชจ Electron ์ ๋ฐ์ดํธ๋ฅผ ์ํํ์ญ์์ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ํ์ฌ์์ ํ๋ ์ผ์ด๋ฉฐ ํ๋ฅญํ๊ฒ ์ด๋ฃจ์ด์ก์ต๋๋ค.
์์งํ ์ฌ์ฉ์์ ๊ด์ ์์ Electron app-shell์ Shared Runtime์ผ๋ก ์ฌ์ฉํ๋ฉด ๋ฐฐํฌ์ ์ฌ์ฉ์ด ์ ๋ง ์ฌ์์ง๋๋ค. ์๋ฅผ ๋ค์ด ๋จ์ผ ์์คํ ์ 5๊ฐ์ ์ ์ ์ฑ์ด ์์ผ๋ฉด 5๊ฐ์ app-shell ์ธ์คํด์ค๊ฐ ์๊ณ ์ฝ 300MB์ ๋๋ค. ๊ทธ๋ ์ฃ ?
๋๋ ์ ์๊ฐ ๋ฐ์คํฌํ UX์ ๋ฏธ๋์ด๋ฉฐ ์ด๊ฒ์ ์น ๊ธฐ์ ์ ๋ ๊ฐ๋ ฅํ๊ฒ ๋ง๋๋ ํฐ ๋จ๊ณ๊ฐ ๋ ๊ฒ์ด๋ผ๊ณ ๊ตณ๊ฒ ๋ฏฟ์ต๋๋ค.
Electron์๋ ์ด๋ฏธ ๊ฐ๋ฐ์ฉ ๋ฐํ์์ด ์์ต๋๋ค. ๊ทธ๋ ์ง ์๋์? "์ ์ ." ๋ช ๋ น, ๋ด ๋ง์. ์ฌ์ฉ์ ์ธก์์ ์ฌ์ฌ์ฉํ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
Electron์ ๋ค๋ฅธ ๋ฒ์ ์ ๋ฐ๋ผ ์ฌ๋ฌ ์ฑ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด .NET core๊ฐ ์ฌ์ฉํ๋ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ๋ฌ ๋ฒ์ ์ ๋ฐํ์์ ๋๋ํ ์ค์นํ๊ณ ์ฑ์ด ํ์ํ ์ต์(๋๋ ์ต๋) ๋ฒ์ ์ ์ ์ธํ๋๋ก ํ์ญ์์ค.
๋๋ ๊ฐ๋ ์ฆ๋ช ๋ฐ์ฒ๋ฅผ ๋ง๋ค์์ต๋๋ค: https://github.com/ProPuke/electron-shared
ํฌ๊ธฐ๊ฐ 1MB ๋ฏธ๋ง์ธ ๋จ์ผ ์คํ ํ์ผ์ ๋๋ค. ์ฑ ๋๋ ํ ๋ฆฌ ๋๋ asar ํจํค์ง๋ฅผ ์ ๋ฌํ๋ฉด package.json devDependencies์์ ์ ์ ๋ฒ์ ์๊ตฌ ์ฌํญ์ ํ์ธํ๊ณ ์ฌ๋ฐ๋ฅธ ๋ฒ์ ์ผ๋ก ๋ค์ด๋ก๋/์คํํฉ๋๋ค.
Electron ๋ฐํ์์ AppData\Local\Local\electron-shared
(windows) .cache/electron-shared
(linux) Library/Application Support/electron-shared
(mac)์ ์ ์ฅ๋๋ฏ๋ก ์ฑ ๊ฐ์ ๊ณต์ ํ ์ ์์ต๋๋ค.
๊ฒฝ๋ก๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด app
๋๋ ํ ๋ฆฌ ๋๋ app.asar
(์๋ ๊ฒฝ์ฐ)๊ฐ ์๋์ผ๋ก ์คํ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ด ํ์ผ๊ณผ app.asar
๋ง์ผ๋ก ์ฑ์ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ .asar ํ์ผ๊ณผ ์ฐ๊ด๋ ์ ์์ผ๋ฉฐ asar๋ง ๋ฐฐํฌ๋ ์ ์์ต๋๋ค.
๋ํ --downloadOnly
๋ฐ --silent
๋ฅผ ํฌํจํ ๋ช ๊ฐ์ง ๋ช
๋ น์ค ๋งค๊ฐ๋ณ์๊ฐ ์์ผ๋ฏ๋ก ์ค์ ํ๋ก์ธ์ค ์ค์ ์ค์น ํ๋ก๊ทธ๋จ ๋ด์์ ํธ์ถํ ์ ์์ต๋๋ค.
์๋ ์ ๋ฐ์ดํธ๋ฅผ ์ฒ๋ฆฌํ์ง ์์ต๋๋ค(Electron์ ํธํ ๋ฒ์ ์ด ์ปดํจํฐ์์ ์์ง ์ฌ์ฉ ๊ฐ๋ฅํ์ง ์์ ๊ฒฝ์ฐ์๋ง ๋ค์ด๋ก๋๋จ). ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์คํ ์ ๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์๋น์ค์ ์ํด ์ฃผ๊ธฐ์ ์ผ๋ก ์ํ๋ ์ ์์ต๋๋ค(๋ฐํ์์ด ๋ค์ ์์น์ ์๋ ํ ์ฑ์ด ์คํ๋ ๋ ์ต์ ์์น๋ฅผ ์ฐพ์ ์ฌ์ฉํฉ๋๋ค.
๋ฐํ์์ ์ค๋๋ ๋ณต์ฌ๋ณธ์ ์ญ์ ํ ๋๋ฅผ ์๋ ๊ฒ์ ๊น๋ค๋ก์ธ ์ ์์ต๋๋ค. ์๊ฐ์ด ์ง๋๋ฉด ์์ผ ์ ์์ต๋๋ค. ์ค์น๋ ์ฑ์ด ์ด๋ค ๋ฒ์ ์ ์ฌ์ฉํ๋์ง(๋ฐ๋ผ์ ๋ ์ด์ ํ์ํ์ง ์์ ์ฑ) ์ถ์ ํ๊ฑฐ๋ ๊ฐ ๋ฐํ์ ๋ฒ์ ์ ๋ํด ๋ง์ง๋ง์ผ๋ก ์ฌ์ฉํ ๋ ์ง๋ฅผ ์ ์ฅํ๊ณ ์ฌ์ฉํ์ง ์์ ๊ฒฝ์ฐ ์๋ ์ญ์ ํด์ผ ํฉ๋๋ค. ์ ์ ํ.
์ด์จ๋ , ๊ฐ๋ /์ ์ ์ฆ๋ช . ์ด์ ๊ฐ์ ๊ฒ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๊น? ๋ด๊ฐ ๋์ ๋๊ณ ๋ถ๋ช ํ ๊ฒ์ ๋์น ์ ์ด ์์ต๋๊น?
@ProPuke ์ ์ ์ ๊ณต์ ๋ฅผ ์ฌ์ฉํด ๋ณด์๊ณ ์ ์ ๋น ๋ฅธ ์์ ๋ฐ๋ชจ๋ฅผ ์คํํ ์ ์์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ์ ์น ์ฌ์ดํธ์ ์ค๋ช ๋ ์ฑ์ ์คํํ ์ ์์์ต๋๋ค( ๋๋ถ๋ถ์ ์ฑ์ด ์ผ๋ถ ์ ธ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ์ ์์ํ๊ณ ๋ด๊ฐ ์ดํดํ๋ ๋๋ก package.json ๋ฟ๋ง ์๋๋ผ). ๊ทธ๋ฌ๋ ๋๋ ์ด _๊ฐ๋ ์ฆ๋ช /์ ์_์ด ๋ค์ ํฐ ์ ๊ทธ๋ ์ด๋์ ๋ํ ํฌ์ธํฐ๊ฐ ๋ ์ ์๋ค๊ณ ๋ฏฟ์ต๋๋ค.
์ ์๋ ํ์ฌ "electron.exe ๊ฒฝ๋ก" ๋ช
๋ น์ ์ง์ํ๊ธฐ ๋๋ฌธ์ ๋ช
๋ น์ค์์ ์ฌ๋ฌ asars๋ฅผ ํธ์ถํ์ฌ ์ด ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ํ์ฌ๋ก์๋ ๊ทธ๋ฅ ์์ด๋์ด์ผ ๋ฟ์
๋๋ค. ๋๊ตฐ๊ฐ๊ฐ ํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ด ์ํํธ์จ์ด์ ๋ํด ๋ฐฉ๊ธ ๋ง์ก๊ธฐ ๋๋ฌธ์
๋๋ค.
______________ ์ค๊ตญ์ด ๋ฒ์ญ ๋ฒ์ __________
๋๋ ์์ด๋์ด๊ฐ. ํ์ฌ ์ ์๋ "electron.exe ๊ฒฝ๋ก" ๋ช
๋ น์ ์ง์ํ๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ช
๋ น์ค์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ asar๋ฅผ ํธ์ถํ์ฌ ์ด ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ ๋ ํ์ฌ๋ก์๋ ๊ทธ์ ์์ด๋์ด์ผ ๋ฟ์
๋๋ค. ์ด ์ํํธ์จ์ด์ ์ด์ ๋ง ์ฐธ์ฌํ๊ธฐ ๋๋ฌธ์ ๋๊ตฐ๊ฐ๊ฐ ๊ทธ๊ฒ์ ๋ณผ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ ์ฒด ๋ํ(๋ฐ ์ฌ๋ฌ "์ฑ"๊ณผ ๊ฐ์ ๋ค๋ฅธ ํ ๋ก )๋ฅผ ๋์ถฉ ์ดํด๋ณธ ํ ์์ฝํ๊ฒ ์ต๋๋ค. ์ฌ๋ฌ ๋ฐ์ด๋๋ฆฌ๋ก ์์ํ๋ ๋์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ๋ฌ asar๋ฅผ ํธ์ถํ๋ ๊ฒ์ ์ค๋ ์ญ์ฌ๋ฅผ ๊ฐ์ง๊ณ ์์ง๋ง ์ง์๋์ง๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ์์ default_app์ ๋ช
๋ น์ค์ ์ฌ์ฉํ์ฌ ๊ตฌํ๋ฉ๋๋ค(๋น๋ถ๊ฐ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค). ์ ์๋ฅผ ํตํด cmd๋ฅผ ํธ์ถํ๋ฉด(๊ฐ๋ฅํ ๊ฒ ๊ฐ์ต๋๋ค) ์ด ๊ธฐ๋ฅ ํธํ์ฑ์ ๋ฌ์ฑํ ์ ์์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ชจ๋ ๋ํ(๋ฐ ์ฌ๋ฌ "์ฑ"๊ณผ ๊ฐ์ ๊ธฐํ ํ ๋ก )๋ฅผ ๋์ถฉ ์ดํด๋ณด๋ฉด ์ฌ๋ฌ ๋ฐ์ด๋๋ฆฌ ๋์ ์ฌ๋ฌ Asar์ ๋ํ ๊ธฐ๋ณธ ํธ์ถ์ด ์์๋๋ค๋ ๊ฒฐ๋ก ์ ๋ด๋ ธ์ต๋๋ค. ์ด๋ ์ค๋ ์ญ์ฌ๋ฅผ ๊ฐ์ง๊ณ ์์ง๋ง ์ง์๋์ง๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ Electron์ default_app์ ๋ช
๋ น์ค์ ํ์ฉํ๋ ๊ตฌํ(๊ทธ๋ฆฌ๊ณ ์๋ง๋ ํ๋์์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.) ๋๋ ์ ์๋ฅผ ํตํด cmd๋ฅผ ํธ์ถํ๊ณ ์ถ์ต๋๋ค(๊ฐ๋ฅํ ๊ฒ์ฒ๋ผ) ์ด ๊ธฐ๋ฅ ํธํ์ฑ ๋ง๋๋ฅผ ๋ฌ์ฑํ ์ ์์ด์ผ ํฉ๋๋ค.
์ต์ ์ ์๋๋ฆฌ์ค์์๋ .bat ํ์ผ ๋๋ Windows๊ฐ ์๋ OS์ ํด๋นํ๋ ํ์ผ์ ๋ง๋ค๊ณ Electron์์ ์คํํด์ผ ํฉ๋๋ค.
์ ์ฉํ ๋งํฌ:
https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options
https://www.freecodecamp.org/news/node-js-child-processes-everything-you-need-to-know-e69498fe970a/
https://stackoverflow.com/questions/50491092/execute-a-cmd-line-with-electron-angular
https://github.com/martinjackson/electron-run-shell-example
app.asar๋ app โโํด๋๊ฐ ์์ ๋๋ง ์ปค๋งจ๋ ์ ์์ธ ๊ฒ ๊ฐ์ต๋๋ค. ์ ํจํ exe ๊ฒฝ๋ก
์ค, ๊ทธ๋์ ๋น์ ์ ๋ชจ๋ ๊ฒ์ ์ค์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ ์ ๋ด๋ถ์ exe ๊ฒฝ๋ก๋ฅผ ์คํํ๊ธฐ ์ํด ์ ์๊ฐ ํ์ํฉ๋๋ค. ์ฌ์ฉํ๋ ๋ชจ๋ ์ฑ์ ๋ํด ์ ์ ์ค์น๋ณด๋ค ์ฌ์ ํ ๋ซ์ต๋๋ค. ์ฑ์ ํ์ํ ๋ชจ๋ ์ ์ ๋ฒ์ ์ ๋ํด ํ๋์ ์ ์ ์ค์น๋ง ํ์ํฉ๋๋ค. ์คํํ๋ ค๋ ์ฑ๊ณผ ๊ถ์ฅ ๋ฒ์ (์ฆ์ ์คํ), ํธํ ๋ฒ์ (์คํ ๋๋ ๊ถ์ฅ ๋ฒ์ ์ ์ค์นํ๊ณ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๊ถ์ฅ Electron ๋ฒ์ ์ ๋ค์ด๋ก๋) ๋๋ ๊ถ์ฅ ๋ฒ์ ์ ๋ค์ด๋ก๋ํ ์ ์๋๋ก ๋ค์ด๋ก๋ ์งํ๋ฅ ํ์์ค๋ง ํ์ํฉ๋๋ค.
์๋๋ฉด ๋ด๊ฐ ๋ญ๊ฐ๋ฅผ ์๋ชป ์ดํดํ์ต๋๋ค.
์ด ์์ด๋์ด๋ ์๋ง๋ ๋์ผํ ๊ฒ์ ๋๋ค. bat๋ ํ์ฌ ๋งํ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ ์๋ฅผ ๋ค์ด ๋ด์ฉ์ electron.exe app1.asar์ด๊ณ ์คํ ํ electron์ app1.asar์ ๋ด์ฉ์ ์ฝ๋๋ค. ์๋ง๋ ๊ทธ๊ฒ์ด ์๋ํ๋ ๋ฐฉ์์ด์ง๋ง bat์์ ๋ค์ ๋ฌธ์ฅ electron.exe app2.asar๋ฅผ ์์ฑํ ๋ app1.asar์ ์ ์๊ฐ ๋๋ ๋๋ง ์ํํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐฐํธ๊ฐ ๊บผ์ง๋ฉด ์ ์๋ ๊บผ์ง๋๋ค. ํ์ง๋ง ์ ๋ electron.exe app3.asar|electron.exe-v ๋๋ electron.exe app3.asar|start ๋ฑ์ ์์ฑํฉ๋๋ค. ๋ฐ์ฅ๋ฅผ ๋ซ์ผ๋ฉด ์ ์๋ ์ด์๋จ์ ์ ์์ง๋ง ๋ค๋ฅธ asar๋ฅผ ๊ณ์ ์ด ์๋ ์์ต๋๋ค. bat๋ ์ฌ์ ํ ๋ค์ ์ ํ์ ์ด๊ธฐ ๋๋ฌธ์ ์ด ๋ ๋ฆฝ ์คํํ ํ๋ก๊ทธ๋จ์ด ์ด ํ๋ก๊ทธ๋จ๋ณด๋ค ๋์ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์์ ํด๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ๊ทธ๋ ์ง ์์ต๋๋ค.
์ ์ ๋ฒ์ ํด๋์ (์์นด์ด๋ธ ๋๋ ์์นด์ด๋ธ๋์ง ์์) ๋ฒ์ ์ด ์์ต๋๋ค. ์ฌ๊ธฐ์์ ๊ถ์ฅ ๋ฒ์ ๋๋ ์ฌ์ฉ ์ค์ธ ๋ฒ์ ์ ์์ ํด๋์ ๋ณต์ฌํ์ฌ ๋ค์ด๋ก๋ํ ์ต์ ํธํ ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์๋ฃํ ํ ํด๋๋ฅผ ์ญ์ ํฉ๋๋ค.
๋ก์ปฌ์ ์ ์ฅ๋ ํ์ผ์ ๊ฒฝ๋ก๋ ์ ์ ํด๋์ ์๊ฑฐ๋ ์ฌ์ฉ ์ค์ธ ํ์ผ ์์ ์์ต๋๋ค. ์ง๋ 24์๊ฐ ๋์ ๋ด๊ฐ ์ธ๊ธํ ๋ด์ฉ์ด ํฌํจ๋ ์์นด์ด๋ธ์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ ์ฅ๋ ๋ฐ์ดํฐ ํ์ผ์ ์์นด์ด๋ธ๋ก ๋ค์ ์ด๋ํ๊ฑฐ๋ ์์ ์ ์ ์ธ์คํด์ค ํด๋๋ฅผ ์ญ์ ํ๊ธฐ ์ ์ ์ ํ ์ด๋ํ์ง ์์์ผ ํฉ๋๋ค.
SSD?
???
์์ ์ ์ ํด๋๋ฅผ ์ญ์ ํ๋ ์ด์ ๋ ์ฑ์ด ์ด๋ก ์ ์ผ๋ก ์ค๊ณ์ ๋ฐ๋ผ ์คํ ์ค์ธ ์ ์ ์ค์น ํ์ผ์ ๋ณ๊ฒฝํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ด ๋ง์, ์์นด์ด๋ธ์๋ ์์ ์ ์ ์ค์น ๋ด์์ ์ฐ๊ฑฐ๋ ๋ฎ์ด์จ์ผ ํ๋ ํ์ผ๊ณผ ํด๋๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ์ค์น๋ฅผ ์ฌ์ฉํ ํ์๋ ์คํํ ์ฑ์ ์ํด ์์๋ ๊ฒ์ผ๋ก ์ฒ๋ฆฌ๋ ์ ์์ผ๋ฏ๋ก ์ฌํ์ฉํ ์ ์์ผ๋ฏ๋ก ์ญ์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๊ฐ ๋ง๋ค๋ ค๊ณ ํ๋ ๋ฐํ์ ์ ์ ์ฑ์ electron_versions ํด๋์์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ๋ ๊ทธ๋๊น์ง ์์๋ ์ค์น ๋ฒ์ ์ ์ฌ์ ํ โโ์์๋์ง ์์์ต๋๋ค.
์ค์ ๋ก ์์ ์ธ๊ธํ ๊ณ ์ ํ ํ์ฅ์๋ฅผ ๊ฐ์ง ์์นด์ด๋ธ๊ฐ ์ฝ๊ธฐ ์ ์ฉ์ธ ๊ฒฝ์ฐ ์ด๋ก ์ ์ผ๋ก ์ฌ์ฉ๋ ๋ฐ์ดํฐ๋ฅผ %appdata%๋ก ์ด๋ํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๊ฐ ๋ง๋ค๋ ค๊ณ ํ๋ ๋ฐํ์ ๋ชจ๋ ์ ์ ๋ด๋ถ์์ ์คํ๋๋ ์ฑ์ ์ค์ ๋ก ์ด์ ๊ฐ๋ฅ(์์ฒด ํฌํจ)๋๋ฏ๋ก ํด๋น ํ์ผ์ ๋ณต์ฌํ๋ฉด ํด๋น ์ฑ์ ๊ตฌ์ฑ์ ๊ฐ์ ธ์ค๊ธฐ์ ์ถฉ๋ถํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ์๋ง๋ ๊ทธ ํ์ผ ์ ํ์ ๋ํ ์ ๋ฐ์ดํธ ๊ธฐ๋ฅ์ ์ถ๊ฐํด์ผ ํ ๊ฒ์ ๋๋ค. ์ด๋ ์ ์ค์น ํ์ผ์์ ์ด์ ์ค์น ํ์ผ์ ์ฌ๋ณธ์ผ๋ก ํ์ผ์ ๋ณต์ฌํ๊ณ ๋ฎ์ด์ฐ๊ณ ์ ์ค์น ํ์ผ์ ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ. ์ฐ๋ฆฌ๊ฐ ๋ง๋ค๋ ค๊ณ ํ๋ ๋ฐํ์ ๋ชจ๋ ์ ์๊ฐ ์ฌ์ฉํ๋ ํ์ผ์ ๋ค์ด๋ก๋ ๋งํฌ๊ฐ ์์ผ๋ฉด ๋ชจ๋ ์์ ์ด ์๋์ผ๋ก ์ํ๋ ์ ์์ต๋๋ค.
์ค๋น๊ฐ ์๋ฃ๋๋ฉด ์ถ๊ฐ ์์ ์ ์ํํ๋ ค๋ ๊ฒฝ์ฐ ์ฑ์ ์ ๋ฐ์ดํธํ git ํด๋ผ์ด์ธํธ๋ฅผ ์ถ๊ฐํ ์๋ ์์ต๋๋ค. ํ์ง๋ง ์ด๋ฅผ ์ํด์๋ github ๋ฐ bitbucket์ ์ฌ์ฉํ์ฌ ์์นด์ด๋ธ ์ปดํ์ผ๋ ํ์ผ์ ํธ์คํ ํด์ผ ํ ์๋ ์์ต๋๋ค.
"curl, wget, aria2c" ๋ค์ด๋ก๋ ํ์ผ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์ฌ์ฉ์๋ git์ ์ค์นํ ํ์๊ฐ ์์ต๋๋ค.๏ผ์ค๏ผ "gzip,7z" ์์ถ ํ๊ธฐ zip์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
electron-builder
์ ์ ์ฌํ๊ฒ ์๋ํ๋ electron-runtime
๋๊ตฌ๋ฅผ ๋ง๋ค๊ณ ์์ต๋๋ค. app.asar
ํ์ผ๋ง ๊ฐ๋จํ sh
์คํฌ๋ฆฝํธ์ ํจ๊ป ๋ฒ๋ค๋ก ์ ๊ณต๋ฉ๋๋ค(๋์ค์ ์ด๊ฒ์ Electron ๋ค์ด๋ก๋์ ์งํ ์ํฉ์ ๋ณด์ฌ์ฃผ๋ UI๊ฐ ๋ ๊ฒ์
๋๋ค). ํ์ฌ๋ macOS์์๋ง ์๋ํฉ๋๋ค.
electron-runtime
ํจํค์ง๋ก ๋ ์ฑ์ ์คํํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ํด๋นํ๋ ๋ฉ์ด์ ๋ฒ์ ์ Electron์ ๋ค์ด๋ก๋ ํ์ง๋ง, Electron์ ๋ธ๋ ์ดํน ์ฒด์ธ์ง๋ ๋ฉ์ด์ ๋ฒ์ ์ฆ๋ถ์์๋ง ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋ง์ด๋ ๋ฐ ํจ์น์ ๊ฒฝ์ฐ ์ต์ ๋ฒ์ ์
๋๋ค.
electron-quick-start
์ฑ์ 62KB์ ๋ถ๊ณผํฉ๋๋ค. ์คํฌ๋ฆฐ์ท:
๊ด์ฌ์ด ์์ผ์๋ฉด ๋ณ, PR ๋๋ ์ด์๋ฅผ ๋จ๊ฒจ์ฃผ์ธ์.
electron-builder
๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋ํ ์ ์๋๋ก ํจํค์ง๋ฅผ ์ฝ๊ฐ ์
๋ฐ์ดํธ ํ์ต๋๋ค(์๋ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค ). ์ด์ Visual Studio Code๋ ๋น๋ํ ์ ์์ต๋๋ค! (๊ทธ๋ฌ๋ ์ฌ์ ํ macOS์์๋ง).
electron-global
์ ์ฒซ ๋ฒ์งธ ๋ฒ์ ์ ์ฑ๊ณต์ ์ผ๋ก ์ถ์ํ์ต๋๋ค! ( electron-runtime
๋ฅผ ๊ฐ์ ธ๊ฐ๊ธฐ ๋๋ฌธ์ ๋ณ๊ฒฝํ์ต๋๋ค.) electron-builder
๋ด npm ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ์ ๋น๋ํ ์ ์์ต๋๋ค. ๋ํ Electron ๋ค์ด๋ก๋ ์งํ๋ฅ ์ ํ์ํ๊ธฐ ์ํด ์งํ๋ฅ ํ์์ค์ด ์๋ UI๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ์ ์๋ฅผ ๋ ์ข๊ฒ ๋ง๋ค๊ธฐ ์ํด ๋ ๋์คํ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ฃ์กํฉ๋๋ค. ์ ๋ Windows ์์คํ ์ ์ฌ์ฉํ๊ณ ์๊ณ MacOS๋ฅผ ์ฌ์ฉํ ๋์ด ์์ต๋๋ค. ํ์ง๋ง ๊ทํ์ ํ๋ก์ ํธ๋ ๋งค์ฐ ์ฑ๊ณต์ ์ผ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ์ต๋๋ค.
@nwdxlgzs Windows, macOS ๋ฐ Linux๋ฅผ ์ง์ํฉ๋๋ค...
์ด ํ๋ก์ ํธ๋ MAC๋ง ์ง์ํ๋ค๊ณ ์๊ฐํ์ต๋๋ค.
๋๋ ์ด ํ๋ฅญํ ํ๋ก์ ํธ๋ฅผ ์๋ํ๋ ๋ฐ ์๊ฐ์ ํ ์ ํ ๊ฒ์
๋๋ค.
๋ง๋ค์ด ์ฃผ์
์ ๊ฐ์ฌํ๊ณ ์ต์ ์ ๋ณด๋ฅผ ์ ์งํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค!
์ ๋ ์๋์ฐ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
๋ณ๊ฒฝ๋๋ฉด ์ฝ๋๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์, electron-global
์
์คํธ๋ฆผ์ ํตํฉํ๊ณ ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ง๋๋ ๊ฒ์ ์ด๋ป์ต๋๊น ๐
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
.asar
ํ์ฅ์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๊น? ํ๊ฐ๋ฆฌ์ด๋ก๋ ์ ๋ง ์ด์ํ๊ฒ ๋ค๋ฆฝ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ ์๋ฏธthe shit
๋ฅผ ์๋ฏธํฉ๋๋ค( link ).