Electron ๋ฐ Tauri๋ฅผ ์ฌ์ฉํ ํฌ๋ก์ค ํ๋ซํผ ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ. ๋จ์ผ ์ฝ๋๋ฒ ์ด์ค๋ก Windows, macOS, Linux์ฉ ๋ค์ดํฐ๋ธ ํ์ง์ ๋ฐ์คํฌํฑ ์ฑ์ ๊ตฌ์ถํฉ๋๋ค.
์์ํ๊ธฐ
๋ฐ์คํฌํฑ ์ฑ์ ์ฌ์ ํ ์ ๋ฌธ ๋๊ตฌ, ์ฐฝ์ ์ํํธ์จ์ด ๋ฐ ์ฌ์ธต์ ์ธ OS ํตํฉ์ด ํ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ํฉ๋๋ค. ์ ํฌ๋ Electron ๋๋ Tauri๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ํ๋ซํผ์์ ๋ค์ดํฐ๋ธ์ฒ๋ผ ๋๊ปด์ง๋ฉด์ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ฝ๋๋ฅผ ๊ณต์ ํ๋ ํฌ๋ก์ค ํ๋ซํผ ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก: ํ๋์ ํ, ํ๋์ ์ฝ๋๋ฒ ์ด์ค, ์ธ ๊ฐ์ง ํ๋ซํผ์ ์ป์ ์ ์์ต๋๋ค.
์ ํฌ๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์ ํ๋ฆฌ์ผ์ด์ ์๋ Electron์, ๊ฒฝ๋ ๋์์ผ๋ก๋ Tauri๋ฅผ ์ฌ์ฉํฉ๋๋ค. UI ๋ ์ด์ด๋ ์ผ๊ด๋ ๋์์ธ์ ์ํด TypeScript์ Tailwind CSS๋ฅผ ์ฌ์ฉํ๋ React๋ฅผ ํ์ฉํฉ๋๋ค. ๋ฐฑ์๋ ํ๋ก์ธ์ค๋ ์์คํ ์์ค ์์ ์ ์ํด Node.js (Electron) ๋๋ Rust (Tauri)๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๋ก์ปฌ ๋ฐ์ดํฐ ์ ์ฅ์๋ SQLite๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ฐ์คํฌํฑ ์์ค์ OS ํตํฉ์ด ํ์ํ ์ ๋ฌธ ๋๊ตฌ, ์ฐฝ์ ์ ํ๋ฆฌ์ผ์ด์ , ๊ฐ๋ฐ์ ๋๊ตฌ ๋๋ ์ํฐํ๋ผ์ด์ฆ ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ถํ๋ ๊ธฐ์ ์ ์ํ ์๋น์ค์ ๋๋ค. ๋ํ ์คํ๋ผ์ธ ์ง์, ํ์ผ ์์คํ ์ ๊ทผ ๋ฐ ๋ค์ดํฐ๋ธ ์ฑ๋ฅ์ ๊ฐ์ถ ํฅ์๋ ๋ฐ์คํฌํฑ ๊ฒฝํ์ด ํ์ํ ๊ธฐ์กด ์น ์ฑ์๋ ์ด์์ ์ ๋๋ค.
Electron๊ณผ Tauri ์ค ์ ํํ๊ณ , OS ํตํฉ ์๊ตฌ์ฌํญ์ ์ ์ํ๋ฉฐ, ๋ฐฐํฌ ์ ๋ต์ ๊ณํํฉ๋๋ค.
๋ฉ์ธ/๋ ๋๋ฌ ํ๋ก์ธ์ค ์ํคํ ์ฒ, IPC ํจํด, ๋ฐ์ดํฐ ์ ์ฅ์ ๋ฐ ์ ๋ฐ์ดํธ ๋ฉ์ปค๋์ฆ์ ์ค๊ณํฉ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ฅ์ ๊ตฌ์ถํ๊ณ , OS ํตํฉ์ ๊ตฌํํ๋ฉฐ, ๋ชจ๋ ํ๋ซํผ์ฉ ์ค์น ํ๋ก๊ทธ๋จ ํจํค์ง๋ฅผ ์์ฑํฉ๋๋ค.
Windows, macOS, Linux์์ ํ ์คํธํฉ๋๋ค. ์ค์น ํ๋ก๊ทธ๋จ, ์๋ ์ ๋ฐ์ดํธ ๋ฐ ํ๋ซํผ๋ณ ๋์์ ๊ฒ์ฆํฉ๋๋ค.
์ฝ๋ ์๋ช ์ ๊ตฌ์ฑํ๊ณ , ์ ๋ฐ์ดํธ ์๋ฒ๋ฅผ ์ค์ ํ๋ฉฐ, ๋ฐฐํฌ ์ฑ๋์ ์์ฑํ๊ณ , ์ฌ๋ฌ ํ๋ซํผ์ ๊ฑธ์ณ ์ถ์ํฉ๋๋ค.
Windows, macOS, Linux์์ ๋ค์ดํฐ๋ธ ํ์ง์ ๊ฒฝํ์ ์ ๊ณตํ๋ ๋ฐ์คํฌํฑ ์ฑ์ ๋ง๋ค์ด ๋ด ์๋ค.
์ ํฌ๋ Electron, Tauri, .NET MAUI๋ฅผ ์ฌ์ฉํ์ฌ ํฌ๋ก์ค ํ๋ซํผ ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋จ์ผ ์ฝ๋๋ฒ ์ด์ค๋ก ๋ค์ดํฐ๋ธ OS ํตํฉ ๋ฐ ํ๋์จ์ด ์ ๊ทผ๊ณผ ํจ๊ป Windows, macOS, Linux๋ฅผ ๋์์ผ๋ก ํ ์ ์์ต๋๋ค.
๋ค, ์ ํฌ๋ React, Vue ๋๋ Svelte ํ๋ฐํธ์๋๋ฅผ ์ฌ์ฉํ์ฌ Electron ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํฉ๋๋ค. ์ด ๊ณผ์ ์์ main ๋ฐ renderer ํ๋ก์ธ์ค ๊ฐ์ IPC ํต์ , ๋ค์ดํฐ๋ธ ๋ฉ๋ด, ์์คํ ํธ๋ ์ด ํตํฉ, ์๋ ์ ๋ฐ์ดํธ, ๊ทธ๋ฆฌ๊ณ ์์ ํ ๋ก์ปฌ ๋ฐ์ดํฐ ์ ์ฅ ๊ธฐ๋ฅ์ ๊ตฌํํฉ๋๋ค.
์ ํฌ๋ ์ฝ๋ ์๋ช ๋ ๋ฆด๋ฆฌ์ค์ ํจ๊ป electron-updater๋ฅผ ์ฌ์ฉํ์ฌ ์๋ ์ ๋ฐ์ดํธ ๋ฉ์ปค๋์ฆ์ ๊ตฌํํ๊ณ , ๊ท์ฌ์ ์น์ฌ์ดํธ ๋๋ ํ๋ซํผ๋ณ ์คํ ์ด๋ฅผ ํตํด ๋ฐฐํฌํฉ๋๋ค. ๋ํ, ๋ชจ๋ ๋์ ํ๋ซํผ์ ์ํ ๋ฆด๋ฆฌ์ค๋ฅผ ๋น๋, ์๋ช ๋ฐ ๊ฒ์ํ๋๋ก CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํฉ๋๋ค.
๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์๊ฐ๋น $10์์ $50๋ก ์ฑ ์ ๋๋ฉฐ, ์ผ๋ฐ์ ์ธ ํ๋ก์ ํธ๋ ํ๋ซํผ ๋์, ๋ค์ดํฐ๋ธ ํตํฉ ์๊ตฌ ์ฌํญ ๋ฐ ์คํ๋ผ์ธ ๋ฐ์ดํฐ ๋๊ธฐํ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ 6์ฃผ์์ 20์ฃผ๊น์ง ์์๋ฉ๋๋ค.
์ ํฌ๋ ๋ฆฌ์์ค ํจ์จ์ ์ธ ๋ฐ์คํฌํฑ ์ฑ์ ์ํด Tauri๋ฅผ ์ถ์ฒํฉ๋๋ค. Electron์ 100MB ์ด์์ ๋นํด 10MB ๋ฏธ๋ง์ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ ๊ณตํ๋ฉฐ, ์์คํ ์์ ์ ์ํ Rust ๋ฐฑ์๋์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ํ React, Vue, Svelte ์ค ์ ํํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค.