Rust๋กœ ์ž‘์„ฑ๋œ Kosmonaut ๋ธŒ๋ผ์šฐ์ € ์—”์ง„์ด ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ํ”„๋ ˆ์ž„ ์›Œํฌ์—์„œ ์šฐ์ฃผ ๋น„ํ–‰์‚ฌ Rust ์–ธ์–ด๋กœ๋งŒ ์ž‘์„ฑ๋˜๊ณ  Servo ํ”„๋กœ์ ํŠธ์˜ ์ผ๋ถ€ ๊ฐœ๋ฐœ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ € ์—”์ง„์ด ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•”ํ˜ธ ๋ฐฐํฌ์ž MPL 2.0(Mozilla Public License)์— ๋”ฐ๋ผ. ๋ Œ๋”๋ง์—๋Š” OpenGL ๋ฐ”์ธ๋”ฉ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. gl-rs Rust ์–ธ์–ด๋กœ. ์ฐฝ ๊ด€๋ฆฌ ๋ฐ OpenGL ์ปจํ…์ŠคํŠธ ์ƒ์„ฑ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์˜ํ•ด ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. ๊ธ€๋ฃจํ‹ด. ๊ตฌ์„ฑ ์š”์†Œ๋Š” HTML ๋ฐ CSS๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. HTML5์—๋ฒ„ ะธ CSSํŒŒ์„œ, ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐœ๋ฐœ๋จ ์„œ๋ณด๊ธฐ๊ตฌ.
DOM ์ž‘์—…์„ ์œ„ํ•œ ์ฝ”๋“œ๋Š” ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์— ๊ธฐ๋ฐ˜ํ•ฉ๋‹ˆ๋‹ค. ์ฟ ์น˜ํ‚คHTML/XML์„ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋œ ํ”„๋กœ์ ํŠธ ์ค‘์—๋Š” ์‹คํ—˜์  ์›น ์—”์ง„๋„ ์–ธ๊ธ‰๋ฉ๋‹ˆ๋‹ค. ๋กœ๋นˆ์Šจ์•ฝ 5๋…„๊ฐ„ ๊ฑฐ์˜ ๋ฒ„๋ ค์ง„ ์ƒํƒœ์˜€์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—์„œ๋Š” ๊ธฐ๋ณธ์ ์ธ HTML ์ง€์›๊ณผ ์ œํ•œ๋œ CSS ๊ธฐ๋Šฅ๋งŒ ์ œ๊ณต๋˜๋ฉฐ, ์ด๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ตœ์‹  ํŽ˜์ด์ง€๋ฅผ ๋ณด๊ธฐ์— ์•„์ง ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊ฐ„๋‹จํ•œ ํŽ˜์ด์ง€ CSS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ div์— ์ ์šฉํ•˜๋ฉด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์›๋ž˜ 1๋…„ ์ „์— ๋ธŒ๋ผ์šฐ์ € ์—”์ง„์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ณผ์ •์„ ๊ฐ€๋ฅด์น˜๊ธฐ ์œ„ํ•ด ์‹œ์ž‘๋˜์—ˆ์ง€๋งŒ, ์ง€๊ธˆ์€ ์ด๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ํ‹ˆ์ƒˆ ์‹œ์žฅ์„ ์ฐพ์œผ๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ ๊ตฌํ˜„๋œ ๋‚ด์šฉ:

  • HTML ํŒŒ์‹ฑ, CSS ํ•˜์œ„ ์ง‘ํ•ฉ, ๊ณ„๋‹จ์‹ CSS, DOM ๋ชจ๋ธ.
  • ํŽ˜์ด์ง€ ๋ Œ๋”๋ง, ์ฝ˜ํ…์ธ ์˜ ๋ธ”๋ก ๋ ˆ์ด์•„์›ƒ.
  • ์ดˆ๋ก์— ๋Œ€ํ•œ ๋ถ€๋ถ„์  ์ง€์› ๋ฐ•์Šค ๋ชจ๋ธ ๋ฐ ์†์„ฑ "๋ฐฉํ–ฅ".
  • ํ‘œ์‹œ๋œ ์š”์†Œ์˜ ํŠธ๋ฆฌ๋กœ ๋””๋ฒ„๊ทธ ๋คํ”„๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ํ•ด์ƒ๋„ ๋””์Šคํ”Œ๋ ˆ์ด์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ์Šค์ผ€์ผ๋ง ์ธ์ž ์ง€์›.
  • FreeType ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…์ŠคํŠธ ๋ Œ๋”๋ง.
  • ์ง€์› ํ๋ฆ„ ๋ ˆ์ด์•„์›ƒ, ์ƒํ™ฉ์— ๋งž๋Š” ์ธ๋ผ์ธ ์„œ์‹ ๋ฐ ๋ Œ๋”๋ง.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€