๐Ÿ“บ ์˜์ƒ ์š”์•ฝ ์•„์นด์ด๋ธŒ
โ† ๋ชฉ๋ก

Building ambitious software โ€” Jonathan Kelley, Dioxus Labs & Cognition

AI Engineer ยท 2026-09-12 05:00 ยท 19:14

ํ•œ ์ค„ ํ•ต์‹ฌ

AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋กœ ์ฝ”๋“œ ์ž‘์„ฑ์€ ํ›จ์”ฌ ์‹ธ์กŒ์ง€๋งŒ, ๋Œ€๊ทœ๋ชจ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฒฝ์Ÿ๋ ฅ์€ ์—ฌ์ „ํžˆ ์•„ํ‚คํ…์ฒ˜ยทํ’ˆ์งˆยท๊ฒ€์ฆ์— ๋‹ฌ๋ ค ์žˆ์œผ๋ฉฐ Rust ๊ฐ™์€ ์–ด๋ ค์šด ์Šคํƒ์ผ์ˆ˜๋ก ์—์ด์ „ํŠธ๋ฅผ ์ž˜ ์“ฐ๋ฉด ์˜คํžˆ๋ ค ๊ฐ•์ ์ด ๋œ๋‹ค.

์‹œ๊ฐ„๋ณ„ ์š”์•ฝ

  1. 0:00
    5๋…„ ์ „, ์ฒซ ์ปค๋ฐ‹ Dioxus๋Š” Rust๋กœ ํฌ๋กœ์Šคํ”Œ๋žซํผ ์•ฑ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ์•„์ด๋””์–ด์—์„œ ์‹œ์ž‘๋๊ณ , React Native์™€ Flutter์˜ ํ•œ๊ณ„๋ฅผ ๋„˜๊ธฐ ์œ„ํ•ด ๋„ค์ดํ‹ฐ๋ธŒ ์„ฑ๋Šฅ๊ณผ ์ต์ˆ™ํ•œ ์›น ๊ธฐ์ˆ ์˜ ๊ฒฐํ•ฉ์„ ๋…ธ๋ ธ๋‹ค. ๋‹น์‹œ์—๋Š” ํ•ต์‹ฌ ๊ตฌ์„ฑ์š”์†Œ ๋Œ€๋ถ€๋ถ„์„ ์ง์ ‘ ๋งŒ๋“ค์–ด์•ผ ํ–ˆ๊ณ , ๋ธŒ๋ผ์šฐ์ €์— ๊ฐ€๊นŒ์šด ๊ธฐ๋Šฅ๊นŒ์ง€๋„ ํ”„๋กœ์ ํŠธ์˜ ์ผ๋ถ€๋กœ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š” ๋งค์šฐ ์•ผ์‹ฌ์ฐฌ ์‹œ๋„์˜€๋‹ค.
  2. 2:49
    ํ”„๋กœ์ ํŠธ์˜ ํ˜„์žฌ ์œ„์น˜ Dioxus๋Š” ํฌ๋กœ์Šคํ”Œ๋žซํผ ์ง€์›, ๋„ค์ดํ‹ฐ๋ธŒ ๋ Œ๋”๋ง, Rust hot reload, bundle splitting๊นŒ์ง€ ์›๋ž˜ ๋ชฉํ‘œ๋ฅผ ๋„˜์–ด์„œ๋Š” ์ˆ˜์ค€์œผ๋กœ ์„ฑ์žฅํ–ˆ๊ณ , ์ˆ˜๋งŒ ๊ฐœ์˜ GitHub stars์™€ ์ˆ˜๋ฐฑ๋งŒ ๋‹ค์šด๋กœ๋“œ๋ฅผ ํ™•๋ณดํ•œ ๋Œ€ํ˜• ์˜คํ”ˆ์†Œ์Šค๊ฐ€ ๋๋‹ค. ์ „์šฉ ์›น ๋ Œ๋”๋ง ์—”์ง„ Blitz๋Š” ๊ฐ€๋ฒผ์šด ๋ฒˆ๋“ค ํฌ๊ธฐ์™€ ์ ์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์œผ๋กœ Electron๋ณด๋‹ค ํ›จ์”ฌ ๊ฐ€๋ฒผ์šด ๋Œ€์•ˆ์„ ์ œ์‹œํ•œ๋‹ค.
  3. 4:35
    Blitz์™€ Subsecond Subsecond์€ Rust, C, C++๋ฅผ ์œ„ํ•œ ๋ฒ”์šฉ hot reload ์—”์ง„์œผ๋กœ, ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ๊ฐ์ง€ํ•ด ๋ถ€๋ถ„ ์žฌ์ปดํŒŒ์ผ ํ›„ ์‹คํ–‰ ์ค‘์ธ ์•ฑ์— ์•ฝ 100 milliseconds ์ˆ˜์ค€์œผ๋กœ ํŒจ์น˜ํ•œ๋‹ค. ์ด ์‹œ์ ๊นŒ์ง€ Dioxus์˜ ์ฝ”๋“œ๋Š” ๊ฑฐ์˜ ์ „๋ถ€ ์‚ฌ๋žŒ์ด ์ง์ ‘ ์ž‘์„ฑํ•ด ์™”๊ณ , ๋†’์€ ์ถœ์‹œ ์†๋„์™€ ํ’ˆ์งˆ ๊ธฐ์ค€์„ ๋™์‹œ์— ์œ ์ง€ํ•ด ์™”๋‹ค.
  4. 6:15
    ์—์ด์ „ํŠธ๊ฐ€ Rust๋ฅผ ์ž˜ ๋‹ค๋ฃจ๊ฒŒ ๋œ ์ˆœ๊ฐ„ ์ตœ๊ทผ 6๊ฐœ์›” ์‚ฌ์ด AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๊ฐ€ ํŠนํžˆ Rust์—์„œ ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜๋ฉด์„œ, ๋Œ€๊ทœ๋ชจ Rust ์ฝ”๋“œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑํ•˜๊ณ  ์˜ค๋žซ๋™์•ˆ ๋ฏธ๋ค„ ๋‘” ๊ธฐ๋Šฅ๊ณผ ํ†ตํ•ฉ ์ž‘์—…์„ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋๋‹ค. ๋‹ค๋งŒ ์ƒ์„ฑ๋œ ์ฝ”๋“œ์˜ ์ƒ๋‹น์ˆ˜๋Š” ํ’ˆ์งˆ ๊ธฐ์ค€์„ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•ด, ์—์ด์ „ํŠธ๋ฅผ ์ œ๋Œ€๋กœ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ฒ€์ฆ ๋ฐฉ์‹์ด ๋ณ„๋„๋กœ ํ•„์š”ํ•˜๋‹ค๋Š” ์ ์ด ๋“œ๋Ÿฌ๋‚ฌ๋‹ค.
  5. 7:07
    ์–ด๋ ค์šด ์–ธ์–ด๊ฐ€ ๊ฐ•์ ์ด ๋œ ์ด์œ  ์—์ด์ „ํŠธ๋Š” Rust์˜ ์–ด๋ ค์šด ๋ฌธ๋ฒ•๊ณผ borrow checker๋ฅผ ๋Œ€์‹  ์ƒ๋Œ€ํ•ด ์ฃผ๊ธฐ ๋•Œ๋ฌธ์—, ์‚ฌ๋žŒ์ด ๋А๋ผ๋Š” ์ž‘์„ฑ ๋ถ€๋‹ด์€ ์˜คํžˆ๋ ค ์ค„๊ณ  ์–ธ์–ด์˜ ์ง„์ž… ์žฅ๋ฒฝ์€ ์•ฝ์ ์ด ์•„๋‹ˆ๋ผ ํŠน์ง•์ด ๋œ๋‹ค. ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋น ๋ฅธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€์™€ ์•ˆ์ •์„ฑ, ๋ฌธ์„œ, ํ…Œ์ŠคํŠธ, ๋ฒค์น˜๋งˆํฌ๋ฅผ ๋™์‹œ์— ์ง€์ผœ์•ผ ํ•˜๋ฏ€๋กœ, ์—์ด์ „ํŠธ๋Š” ์ง€์‹๊ณผ ์ธ๋‚ด๊ฐ€ ํ•„์š”ํ•œ ๋ฌธ์ œ๋ฅผ ๋ณด์กฐํ•˜๋Š” ๋„๊ตฌ๋กœ ํŠนํžˆ ์œ ์šฉํ•˜๋‹ค.
  6. 10:32
    ์ธ๋‚ด์‹ฌ ์žˆ๋Š” ์ „๋ฌธ๊ฐ€๋กœ์„œ์˜ ์—์ด์ „ํŠธ ์—์ด์ „ํŠธ๋Š” ๋ฐฉ๋Œ€ํ•œ ๋ฌธ์„œ์™€ ํŠน์ˆ˜ํ•œ API๋ฅผ ๋น ๋ฅด๊ฒŒ ํ›‘๊ณ , ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋ถ„์„ํ•˜๊ฑฐ๋‚˜ API๋ฅผ ์—ญ๊ณตํ•™ํ•˜๋Š” ์‹์˜ ์ง€์‹ ํƒ์ƒ‰์— ๊ฐ•ํ•˜๋‹ค. ์ด ๋•๋ถ„์— Kotlin๊ณผ Swift ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฐ™์€ ๊นŠ๊ฒŒ ํ†ตํ•ฉ๋œ ๊ธฐ๋Šฅ์„ ๋ช‡ ์ฃผ ๋‹จ์œ„๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , CSS์™€ ๋ ˆ์ด์•„์›ƒ ๋ฌธ์ œ๋„ WebKit ์†Œ์Šค๋ฅผ ์ง์ ‘ ๋’ค์ง€์ง€ ์•Š๊ณ  ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
  7. 13:04
    ์ž๋™ํ™”ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ์‚ฌ์†Œํ•œ ์ผ ์ž‘์€ ํŒ€์ด ๋Œ€ํ˜• ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์šด์˜ํ•  ๋•Œ๋Š” tarball ๊ฒ€์ฆ, ๋ฆด๋ฆฌ์Šค ์ฒดํฌ๋ฆฌ์ŠคํŠธ ์ ๊ฒ€, ๋ฐฑํฌํŠธ, ๋ฌธ์„œ ํ’ˆ์งˆ ๊ด€๋ฆฌ ๊ฐ™์€ ๋ฐ˜๋ณต ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ํฐ ํšจ๊ณผ๋ฅผ ๋‚ธ๋‹ค. ๋ฐ˜๋ฉด ํ…Œ์ŠคํŠธ๋Š” ๋‹จ์ˆœํžˆ ์ƒ์„ฑ๋งŒ ์‹œํ‚ค๋ฉด ์–•์€ ํ…Œ์ŠคํŠธ๊ฐ€ ๋‚˜์˜ค๊ธฐ ์‰ฌ์›Œ ํ•œ๊ณ„๊ฐ€ ์žˆ๊ณ , ์—ฌ์ „ํžˆ ์‚ฌ๋žŒ์ด ์กฐ๊ฑด์„ ์„ค๊ณ„ํ•˜๋˜ ์—์ด์ „ํŠธ๋Š” ํ…Œ์ŠคํŠธ ์•„์ด๋””์–ด์™€ ์ปค๋ฒ„๋ฆฌ์ง€ ๋ณด์กฐ์— ๋” ์ ํ•ฉํ•˜๋‹ค.
  8. 15:37
    ํ…Œ์ŠคํŠธ๊ฐ€ ์•ฝํ•œ ์ง€์ , ํผ์ง•์ด ๊ฐ•ํ•œ ์ง€์  production-grade ์†Œํ”„ํŠธ์›จ์–ด์—์„œ๋Š” ์ˆ˜๋งŽ์€ ์ž…๋ ฅ๊ณผ ์•…์˜์  ์ž…๋ ฅ์„ ๊ฒฌ๋””๋Š” fuzzing์ด ํ•ต์‹ฌ์ด๋ฉฐ, ์—์ด์ „ํŠธ๋Š” ์ด๋Ÿฐ harness๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ํŠนํžˆ ๊ฐ•ํ•˜๋‹ค. ๋ฐ˜๋ฉด ์ข‹์€ ์•„ํ‚คํ…์ฒ˜๊ฐ€ ๊น”๋ ค ์žˆ์ง€ ์•Š์œผ๋ฉด ์—์ด์ „ํŠธ์˜ ์†๋„๋Š” ์˜คํžˆ๋ ค ๋‚˜์œ ์„ค๊ณ„๋ฅผ ๋” ๋นจ๋ฆฌ ํผ๋œจ๋ฆด ๋ฟ์ด์–ด์„œ, ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ์˜ ํ’ˆ์งˆ์ด ๊ฒฐ๊ณผ๋ฅผ ์ขŒ์šฐํ•œ๋‹ค.
  9. 16:28
    ์•„ํ‚คํ…์ฒ˜๋Š” ์—ฌ์ „ํžˆ ์˜ˆ์ˆ ์ด๋‹ค ์ฝ”๋“œ ์ƒ์„ฑ์ด ๋นจ๋ผ์ง„ ์ง€๊ธˆ๋„ ์‹ค์ œ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์˜ ๋Œ€๋ถ€๋ถ„์€ ์•ž์œผ๋กœ์˜ ํ™•์žฅ์„ฑ์„ ๊ณ ๋ คํ•œ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„์— ์“ฐ์ด๋ฉฐ, ์—์ด์ „ํŠธ๋„ ์‚ฌ๋žŒ์ฒ˜๋Ÿผ ์ŠคํŒŒ๊ฒŒํ‹ฐ ์ฝ”๋“œ๋ฅผ ๋” ๋นจ๋ฆฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ชจ๋“  PR์„ ์ค„ ๋‹จ์œ„๋กœ ์ฝ๊ณ  AI review๋ฅผ ๋ณด์กฐ๋กœ๋งŒ ์“ฐ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋ฉฐ, ์ข‹์€ ํ”„๋กฌํ”„ํŠธ์™€ ๋ช…ํ™•ํ•œ ์˜๋„ ์ „๋‹ฌ์ด ์ฝ”๋“œ ํ’ˆ์งˆ์„ ์ขŒ์šฐํ•œ๋‹ค.
  10. 17:19
    ์“ฐ๋Š” ๊ฒƒ๋ณด๋‹ค ์ฝ๋Š” ๊ฒƒ ๋Œ€ํ˜• ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ฐธ์—ฌ์ž๊ฐ€ ์˜๋„๋ฅผ ์ถฉ๋ถ„ํžˆ ์„ค๋ช…ํ•˜์ง€ ๋ชปํ•ด ๋ชจ๋ธ์ด ๋‹จ๊ธฐ์ ์ธ ํŒจ์น˜๋งŒ ๋งŒ๋“ค๊ธฐ ์‰ฝ๊ณ , ๊ฒฐ๊ตญ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ•œ๊ณ„๊ฐ€ ๋“œ๋Ÿฌ๋‚œ๋‹ค. ๊ทธ๋ž˜์„œ code๋ฅผ ์“ฐ๋Š” ์ผ๋ณด๋‹ค ์ฝ๊ณ  ๊ฒ€ํ† ํ•˜๋Š” ์ผ์ด ๋” ์ค‘์š”ํ•˜๋ฉฐ, ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด์˜ ํ•ต์‹ฌ ์—ญํ• ์€ ์—ฌ์ „ํžˆ ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ์žฅ๊ธฐ์ ์œผ๋กœ ์„ค๊ณ„ํ•˜๋Š” ๋ฐ ์žˆ๋‹ค.

์‹ค๋ฌด ์ธ์‚ฌ์ดํŠธ

  • ์—์ด์ „ํŠธ๋ฅผ ๋„์ž…ํ•ด๋„ ๊ฐ€์žฅ ํฐ ๋ณ‘๋ชฉ์€ ๊ตฌํ˜„ ์†๋„๊ฐ€ ์•„๋‹ˆ๋ผ ์•„ํ‚คํ…์ฒ˜์™€ ๊ฒ€์ฆ์ด๋ฏ€๋กœ, ๋จผ์ € ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ๊ธฐ์ค€์„ ๊ณผ ๋ฆฌ๋ทฐ ๊ทœ์น™์„ ๋ช…ํ™•ํžˆ ํ•ด์•ผ ํ•œ๋‹ค.
  • ๋ฐ˜๋ณต์ ์ด๊ณ  ๊ท€์ฐฎ์ง€๋งŒ ์ค‘์š”ํ•œ ์šด์˜ ์ž‘์—…์€ ์—์ด์ „ํŠธ์— ๋งก๊ธฐ๋˜, ํ…Œ์ŠคํŠธ๋Š” ์ƒ์„ฑ๋ณด๋‹ค ์„ค๊ณ„๊ฐ€ ์ค‘์š”ํ•˜๋ฏ€๋กœ ์‚ฌ๋žŒ์ด ํ…Œ์ŠคํŠธ ์˜๋„๋ฅผ ๋จผ์ € ์ •์˜ํ•˜๋Š” ๋ฐฉ์‹์ด ํšจ๊ณผ์ ์ด๋‹ค.
  • Rust์ฒ˜๋Ÿผ ์ง„์ž… ์žฅ๋ฒฝ์ด ๋†’์€ ์Šคํƒ์€ ์—์ด์ „ํŠธ๊ฐ€ ๋ณด์กฐํ•  ๋•Œ ์ƒ์‚ฐ์„ฑ ์ด๋“์ด ์ปค์ง€๋ฏ€๋กœ, ์–ด๋ ค์šด ์–ธ์–ด๋ฅผ ๋ฒ„๋ฆฌ๊ธฐ๋ณด๋‹ค ํ’ˆ์งˆ ๊ธฐ์ค€๊ณผ ์›Œํฌํ”Œ๋กœ๋ฅผ ํ•จ๊ป˜ ์žฌ์„ค๊ณ„ํ•˜๋Š” ํŽธ์ด ์œ ๋ฆฌํ•˜๋‹ค.