์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
ActionScript์—์„œ ๋„˜์–ด์˜ด
package {
public class HelloWorld {
    public function HelloWorld () {
        trace("Hello, world!");
    }
    }

}

1. ๊ฐœ์š”2. ๊ฐ ๋ฒ„์ „๋ณ„ ํŠน์ง•
2.1. ActionScript 1.02.2. ActionScript 2.02.3. ActionScript 3.0
3. ์‚ฌ์šฉ๋˜๋Š” ๊ณณ

1. ๊ฐœ์š”[ํŽธ์ง‘]

์–ด๋„๋น„ ์• ๋‹ˆ๋ฉ”์ดํŠธ(๊ตฌ ์–ด๋„๋น„ ํ”Œ๋ž˜์‹œ ํ”„๋กœํŽ˜์…”๋„)์—์„œ ํ”Œ๋ž˜์‹œ ์• ๋‹ˆ๋ฉ”์ด์…˜์˜ ์ปจํŠธ๋กค์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด. ์–ด๋„๋น„์—์„œ ์ธ์ˆ˜๋˜๊ธฐ ์ „ ํ”Œ๋ž˜์‹œ๋ฅผ ๊ฐœ๋ฐœํ•˜๋˜ ๋งคํฌ๋กœ๋ฏธ๋””์–ด[1]์—์„œ ๊ฐœ๋ฐœํ•œ ์–ธ์–ด์ด๋‹ค. ์›๋ž˜ ํ”Œ๋ž˜์‹œ์—๋Š” 2.0๋ถ€ํ„ฐ '์•ก์…˜'์ด๋ผ ๋ถˆ๋ฆฌ๋Š” ๋ฒกํ„ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ์–ด๋ฅผ ์œ„ํ•œ ๊ฐ„๋‹จํ•œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๊ฐ€ ๋ถ™์–ด์žˆ์—ˆ๋Š”๋ฐ ์ด๊ฒƒ์ด ํ”Œ๋ž˜์‹œ 5์—์„œ๋ถ€ํ„ฐ '์•ก์…˜์Šคํฌ๋ฆฝํŠธ'๋ผ๋Š” ์ด๋ฆ„์ด ๋ถ™์œผ๋ฉฐ ๋ณธ๊ฒฉ์ ์ธ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋กœ ๋ฐœ์ „, ํ˜„ํ–‰ ๋ฒ„์ „์ธ ์•ก์…˜์Šคํฌ๋ฆฝํŠธ 3.0์€ ๋…๋ฆฝ๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์ด๋ผ๊ณ  ๋งํ•ด๋„ ๋ฌด๋ฐฉํ•œ ์ˆ˜์ค€๊นŒ์ง€ ๋ฐœ์ „ํ–ˆ๋‹ค.

ํŠน์ดํ•œ ์ ์ด๋ผ๋ฉด ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์ด์ง€๋งŒ AVM์—์„œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ spidermonkey๋‚˜ v8 ์ฒ˜๋Ÿผ ํ…์ŠคํŠธ ํŒŒ์ผ ์ƒํƒœ๋กœ ๋ฐ”๋กœ ์‹คํ–‰ํ• ์ˆ˜ ์—†๊ณ  ํ•œ๋ฒˆ ์ปดํŒŒ์ผํ•œ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

ํ”Œ๋ž˜์‹œ๋ฅผ ์ปจํŠธ๋กคํ•  ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“  ์–ธ์–ด๋‹ค๋ณด๋‹ˆ ์ฑ…์ด๋‚˜ ์ธํ„ฐ๋„ท ๊ฐ•์ขŒ ๋“ฑ์—์„  Hello, world! ์ถœ๋ ฅ๋ถ€ํ„ฐ ํ•˜๊ณ  ์‹œ์ž‘ํ•˜๋Š” ๋‹ค๋ฅธ ์–ธ์–ด๋“ค๊ณผ๋Š” ๋‹ฌ๋ฆฌ, ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์กฐ์ž‘ํ•˜๋Š” play(), stop() ๋“ฑ์˜ ๋ฉ”์„œ๋“œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ํŠน์ง•. ํ•˜๋ ค๋ฉด ์ฝ˜์†” ์ฐฝ์— Hello, world!๋ฅผ ๋ฟŒ๋ฆด ์ˆ˜๋Š” ์žˆ๋Š”๋ฐ ๊ทธ๊ฑธ๋กœ ์ฒซ ์ฝ”๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ์‚ฌ๋žŒ์€ ์—†๋‹ค(...). ์ด๋Ÿฐ ์ ์—์„œ๋Š” Processing๊ณผ ๋น„์Šทํ•œ ์ ์ด ์žˆ๋‹ค.

2. ๊ฐ ๋ฒ„์ „๋ณ„ ํŠน์ง•[ํŽธ์ง‘]

2.1. ActionScript 1.0[ํŽธ์ง‘]

2000๋…„ 9์›” ํ”Œ๋ž˜์‹œ 5.0์— ์ฒ˜์Œ์œผ๋กœ ํƒ‘์žฌ๋˜์—ˆ๋‹ค. ๊ธฐ์กด์—๋„ '์•ก์…˜'(Actions)๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ํ”Œ๋ž˜์‹œ์— ์Šคํฌ๋ฆฝํŠธ ํ™˜๊ฒฝ์ด ๋งˆ๋ จ๋˜์–ด์žˆ์—ˆ์œผ๋‚˜ ํƒ€์ž„๋ผ์ธ ์ปจํŠธ๋กค์ด๋‚˜ ๋ฌด๋น„์˜ ํ˜ธ์ถœ ๋“ฑ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ปจํŠธ๋กค์— ํ•œ์ •ํ•œ ๊ฐ„๋‹จํ•œ ์Šคํฌ๋ฆฝํŠธ์— ์ง€๋‚˜์ง€ ์•Š์•˜๊ณ  ์ด์ „ ๋ฒ„์ „์ธ 4.0์—์„œ์•ผ ๋ณธ๊ฒฉ์ ์ธ ํ’€ ์Šคํฌ๋ฆฝํŒ… ํ™˜๊ฒฝ์ด ์™„์„ฑ๋˜์—ˆ๋Š”๋ฐ, 5.0์—์„œ๋Š” ์ด๋ฅผ ํ™•์žฅํ•˜๋Š” ๋™์‹œ์— ๋ฌธ๋ฒ• ๋“ฑ์„ ์ƒˆ๋กœ ์ •๋ฆฌํ•˜์—ฌ '์•ก์…˜์Šคํฌ๋ฆฝํŠธ'๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ฐœํ‘œํ•œ ๊ฒƒ์ด๋‹ค. ๋ฌธ๋ฒ•์€ ์ „๋ฐ˜์ ์œผ๋กœ ๋‹น์‹œ ๋ฒ„์ „์˜ JavaScript ๋ฐ 1๋…„์ „์ธ 1999๋…„์— ECMA-262 ํ‘œ์ค€์œผ๋กœ ํ™•์ •๋œ ECMAScript ์ œ 3ํŒ[2]์˜ ์˜ํ–ฅ์„ ๋ฐ›๊ณ  ์žˆ์–ด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ค„ ์•ˆ๋‹ค๋ฉด ๋น„๊ต์  ์‰ฝ๊ฒŒ ์ตํž ์ˆ˜ ์žˆ๋‹ค.

์ผ๋‹จ์€ ์ ˆ์ฐจ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ๊ฐ์ฒด์ง€ํ–ฅ์š”์†Œ๋„ ์ฒจ๊ฐ€๋œ ์–ธ์–ด๋กœ ์„ค๊ณ„๋˜์—ˆ๊ธฐ๋Š” ํ•œ๋ฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ ECMAScript์˜ ์˜ํ–ฅ์„ ์ง์ ‘์ ์œผ๋กœ ๋ฐ›๊ณ ์žˆ๋Š” ๊ด€๊ณ„๋กœ ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜์˜ OOP๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ์–ด์„œ Java์ฒ˜๋Ÿผ ๊ณ ์ „์ ์ธ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜์˜ OOP์— ์ต์ˆ™ํ•œ ์‚ฌ๋žŒ์ด ๋ณด๋ฉด ์ด๊ฒŒ ๋ญ๋ƒ๋Š” ์†Œ๋ฆฌ๊ฐ€ ๋‚˜์˜จ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ OOP ๊ทธ๋Ÿฐ๊ฑฐ ๋ชฐ๋ผ๋„ ์ž˜๋งŒ ์“ด๋‹ค ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋ฐฉ์‹์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ๋‹ฌ๋ฆฌ Java์ฒ˜๋Ÿผ ์ปดํŒŒ์ผ ํ›„ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ AVM(ActionScript Virtual Machine)์ด๋ผ๋Š” ๊ฐ€์ƒ๋จธ์‹ ์—์„œ ๊ตฌ๋™ํ•˜๋Š” ํ˜•์‹์ด๋‹ค.

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

2.2. ActionScript 2.0[ํŽธ์ง‘]

2003๋…„ 9์›”, ํ”Œ๋ž˜์‹œ MX 2004์—์„œ ๊ธฐ์กด์˜ AS 1.0์— ๋งŽ์€ ๊ธฐ๋Šฅ๊ฐœ์„ ๊ณผ ์ถ”๊ฐ€๊ธฐ๋Šฅ์„ ๋”ํ•˜๋ฉด์„œ ํŒ๊ธ‰์„ ์˜ฌ๋ ธ๋‹ค. ํŠน์ง•์ ์ธ ์ฐจ์ด๋ผ๋ฉด ์ปดํŒŒ์ผ ํƒ€์ž„์— ์ด๋ฃจ์–ด์ง€๋Š” ํƒ€์ž…์ฒดํฌ, ํด๋ž˜์Šค ๊ธฐ๋ฐ˜์˜ OOP ๊ฐœ๋…[3]์„ ๋„์ž…ํ–ˆ๋‹ค๋Š” ์ . ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ•์€ ECMAScript ์ œ 3ํŒ์— ๊ธฐ๋ฐ˜ํ•˜๊ณ  ์žˆ์œผ๋‚˜ ํด๋ž˜์Šค ๊ด€๋ จ ๋ฌธ๋ฒ•์€ Java์˜ ๊ทธ๊ฒƒ๊ณผ ๊ฑฐ์˜ ์œ ์‚ฌํ•œ๋ฐ, ์‹ค์€ ๋‹น์‹œ์— ์ƒˆ๋กœ์šด ํ‘œ์ค€์•ˆ์œผ๋กœ ๋…ผ์˜๋˜๊ณ  ์žˆ๋˜ ECMAScript ์ œ 4ํŒ ์ดˆ์•ˆ์˜ ๋ช…์„ธ๋ฅผ ์ผ๋ถ€ ๋„์ž…ํ•œ ๊ฒƒ์ด๋‹ค. ์• ์ดˆ์— ์ด์ชฝ์—์„œ ํ”„๋กœํ† ํƒ€์ž… ๋•Œ๋ ค์น˜๊ณ  ํด๋ž˜์Šค ๊ฐœ๋…์„ ๋„์ž…ํ•˜๋ ค๋Š” ์‹œ๋„๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ์ด๊ฑธ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜จ ๊ฒƒ. ๋‹น์‹œ ๋งคํฌ๋กœ๋ฏธ๋””์–ด๋Š” ECMAScript ์ œ 4ํŒ์˜ ํ‘œ์ค€ ์ œ์ •์— ๊ฝค ์ ๊ทน์ ์œผ๋กœ ์ฐธ์—ฌํ•˜๊ณ  ์žˆ์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค.

๋ฐ”๋กœ ์ด ์‹œ๊ธฐ๊ฐ€ ์•ก์…˜์Šคํฌ๋ฆฝํŠธ, ๊ทธ๋ฆฌ๊ณ  ํ”Œ๋ž˜์‹œ์˜ ๋ฆฌ์ฆˆ์‹œ์ ˆ. PHP๋‚˜ JavaScript์™€์˜ ์—ฐ๋™ ๋“ฑ์œผ๋กœ ์ ์ฐจ ํ™•๋Œ€๋˜์–ด ํ”Œ๋ž˜์‹œ๊ฐ€ ์›น์—์„œ์˜ ์ž…์ง€๋ฅผ ๊ตณํ˜€ ๋‚˜๊ฐ€๋ฉด์„œ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ด ๋•Œ์— ๋งŽ์€ ์•ก์…˜์Šคํฌ๋ฆฝํŠธ ์ž…๋ฌธ์ž๊ฐ€ ์ƒ๊ฒผ๋‹ค. ๋ช‡๋ช‡ ์˜์„ธ๊ทœ๋ชจ ์—…์ฒด๋“ค[4]์—์„œ๋Š” ์•„์ง๋„ ํ˜„์—ญ์ธ๋ฐ, ๊ทธ ์ด์œ ๋Š” ์ด๊ฒŒ ํ˜„์—ญ์ด๋˜ ์‹œ์ ˆ์— ์–ด๋”˜๊ฐ€์—์„œ ์˜ˆ์ œ ๋“ฑ์œผ๋กœ ๋‚˜์˜จ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํผ์˜ค๊ธด ํ–ˆ๋Š”๋ฐ ์ •์ž‘ ์ด๊ฑธ ๊ณ ์น  ์ค„์€ ๋ชฐ๋ผ์„œ.

์ฐธ๊ณ ๋กœ AS 2.0์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋”๋ผ๋„ ์ปดํŒŒ์ผํ•˜๋ฉด AS 1.0์˜ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ€์ƒ๋จธ์‹ ์€ AS 1.0๊ณผ ๋™์ผํ•œ AVM1์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค. ์‚ฌ์‹ค AS 3.0๊ณผ AVM2๊ฐ€ ๋‚˜์˜ค๋ฉด์„œ ํ˜„๊ฒฉํ•œ ์„ฑ๋Šฅ์ฐจ์ด, ๋ณด์•ˆ์ƒ ์ทจ์•ฝ์  ๋“ฑ์œผ๋กœ ์ธํ•ด ์กฐ๋งŒ๊ฐ„์— AVM1๊ณผ ๊ทธ ๊ธฐ๋ฐ˜์–ธ์–ด์ธ AS 2.0์€ ๋ฒ„๋ ค์งˆ ๊ฒƒ์ด๋ผ๊ณ  ์˜ˆ์ƒ๋˜์—ˆ์œผ๋‚˜ ํ•˜์œ„ํ˜ธํ™˜ ๋•Œ๋ฌธ์— ๊ฝค ์˜ค๋ž˜ ์‚ด์•„๋‚จ์•˜๋‹ค๊ฐ€ 2011๋…„ ๋ฐœํ‘œ๋œ ์–ด๋„๋น„ ํ”Œ๋ž˜์‹œ CC์—์„œ ๊ธฐ์–ด์ด ์งค๋ ธ๋‹ค.. CC ๋ฒ„์ „๋ถ€ํ„ฐ๋Š” AS 3.0 ๊ธฐ๋ฐ˜์˜ ์ฝ”๋”ฉ๋งŒ์ด ํ—ˆ์šฉ๋˜๋ฉฐ ์—ฌ๊ธฐ์— ๋Œ€์‘๋˜๋Š” ํ”Œ๋ž˜์‹œ ํ”Œ๋ ˆ์ด์–ด๋„ 15.0 ๋ฒ„์ „๋ถ€ํ„ฐ AVM1์„ ๋“ค์–ด๋‚ด๋ฒ„๋ ธ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด์˜ AS 2.0 ๊ธฐ๋ฐ˜ SWF ํŒŒ์ผ์ด ๋”์ด์ƒ ์ž‘๋™ํ•˜์ง€ ์•Š๊ฒŒ ๋˜์—ˆ๋‹ค. ๋ฌธ์ œ๋Š” AS 3.0์˜ ๊ฐœ๋ฐœ ๋‚œ์ด๋„๊ฐ€ 2.0๊ณผ๋Š” ๋น„๊ต๊ฐ€ ์•ˆ๋œ๋‹ค๋Š” ๊ฒƒ.

2.3. ActionScript 3.0[ํŽธ์ง‘]

2005๋…„ 12์›”, ์–ด๋„๋น„๊ฐ€ RIA(Rich Internet Application) ์‹œ์žฅ์— ์ง„์ถœํ•˜๊ธฐ ์œ„ํ•ด ๋‹น์‹œ ํ”Œ๋ž˜์‹œ๋กœ ์ƒํ•œ๊ฐ€๋ฅผ ์˜ฌ๋ฆฌ๊ณ  ์žˆ๋˜ ๋งคํฌ๋กœ๋ฏธ๋””์–ด๋ฅผ ์ธ์ˆ˜ํ•˜๋Š” ๋Œ€ํ˜•์‚ฌ๊ฑด์ด ๋ฒŒ์–ด์ง„๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋งคํฌ๋กœ๋ฏธ๋””์–ด๊ฐ€ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋˜ ์ƒˆ๋กœ์šด ๋ฒ„์ „์˜ ์•ก์…˜์Šคํฌ๋ฆฝํŠธ๋Š” ์–ด๋„๋น„๋กœ ๋„˜์–ด๊ฐ€ ๊ฐœ๋ฐœ์„ ์™„๋ฃŒํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ฒซ ๋“ฑ์žฅ์€ ํ”Œ๋ž˜์‹œ๊ฐ€ ์•„๋‹ˆ๋ผ 2006๋…„ 6์›” ๋ฐœํ‘œ๋œ Flex[5] 2.0์ด์—ˆ๊ณ  ํ”Œ๋ž˜์‹œ์—๋Š” ์ด๋“ฌํ•ด์— ๋‚˜์˜จ ํ”Œ๋ž˜์‹œ CS3 ๋ฒ„์ „๋ถ€ํ„ฐ ํƒ‘์žฌ๋˜์—ˆ๋‹ค.

Flex๋Š” ๋””์ž์ด๋„ˆ๊ฐ€ ์•„๋‹Œ ํ”„๋กœ๊ทธ๋ž˜๋จธ ๊ณ„์ธต์—๊ฒŒ๊นŒ์ง€ ํ”Œ๋ž˜์‹œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ SDK์˜€๋‹ค๋ณด๋‹ˆ ์ฒ˜์Œ์—” ํฐ ๋ฐ˜ํ–ฅ์ด ์—†์—ˆ์œผ๋‚˜ ํ”Œ๋ž˜์‹œ CS3๊ฐ€ ๋‚˜์˜ค๊ณ  AS 3.0์˜ ์–ธ์–ด๋ช…์„ธ๊ฐ€ ํ”Œ๋ž˜์‹œ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ์•Œ๋ ค์ง€์ž ์—…๊ณ„์˜ ๋ถ„์œ„๊ธฐ๋Š” ๊ทธ์•ผ๋ง๋กœ ํ˜ผ๋ˆ์˜ ์นด์˜ค์Šค์˜€๋‹ค. ๋ฌด์—‡๋ณด๋‹ค 2007๋…„์—์•ผ ์–ธ์–ด๋ช…์„ธ๊ฐ€ ์–ด๋А์ •๋„ ํ‹€์ด ์žกํžŒ ECMAScript ์ œ 4ํŒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฌธ๋ฒ•์„ ์‹ธ๊ทธ๋ฆฌ ๊ฐˆ์•„์—Ž์–ด๋ฒ„๋ ธ๋Š”๋ฐ 2.0์ฒ˜๋Ÿผ ๊ธฐ์กด ์•ก์…˜์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜์— ES4์˜ ์š”์†Œ๋ฅผ ์•ฝ๊ฐ„ ์ฒจ๊ฐ€ํ•œ ๊ฒŒ ์•„๋‹ˆ๋ผ ๊ทธ๋ƒฅ ES4์˜ ์–ธ์–ด๋ช…์„ธ๋ฅผ ๊ฑฐ์˜ ๊ทธ๋Œ€๋กœ ๋“ค๊ณ ์™”๋‹ค.[6] ๋ฌธ์ œ๋Š” ์ด ES4๊ฐ€ ๊ธฐ์กด์˜ ES3์— ๋น„ํ•ด ๋Œ€๋‹จํžˆ ๋ฐฉ๋Œ€ํ•˜๊ณ  ์–ธ์–ด์˜ ๊ธฐ์ˆ  ๋‚œ์ด๋„๊ฐ€ ๋†’์•„์ ธ์žˆ์—ˆ๋˜๋ฐ๋‹ค ๊ธฐ์กด์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฌธ์ œ์ [7]์„ ํ•ด๊ฒฐํ•˜๊ฒ ๋‹ค๋Š” ๋ชฉ์ ์œผ๋กœ ๋„ˆ๋ฌด ๋งŽ์€ ๋ถ€๋ถ„์— ์†์„ ๋Œ”๋‹ค๋Š” ๊ฒƒ. ์—ฌ๋‹ด์œผ๋กœ ๊ฒฐ๊ตญ ES4๋Š” ์œ„์›ํšŒ ์ฐธ๊ฐ€์—…์ฒด๋“ค์˜ ์˜๊ฒฌ์ฐจ๊ฐ€ ๊ทน์‹ฌํ•ด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‘œ์ค€์•ˆ์œผ๋กœ ํ™•์ •๋˜์ง€ ๋ชปํ•˜๊ณ  ์—Ž์–ด์กŒ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ณด๋‹ˆ ์‚ฌ์‹ค์ƒ ES4 ๋ช…์„ธ๋ฅผ ์‹ค์ œ ๊ฐœ๋ฐœํ™˜๊ฒฝ์œผ๋กœ ๊ตฌํ˜„ํ•œ ๊ตฌํ˜„์ฒด๋Š” AS 3.0์ด ์œ ์ผํ•˜๋‹ค์‹œํ”ผํ•œ๋ฐ, ES4๊ฐ€ ์—Ž์–ด์ง„ ์ด์œ  ์ค‘ ํ•˜๋‚˜๋Š” ๊ธฐ์กด์˜ ES3์— ๋น„ํ•ด ๋„ˆ๋ฌด๋‚˜ ๋ฐฉ๋Œ€ํ•˜๊ณ  ์–ด๋ ค์›Œ์กŒ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๊ณ  ํ˜„์žฌ๋„ HTML5์™€ ํ•จ๊ป˜ ์ž˜ ์“ฐ์ด๊ณ  ์žˆ๋Š” ES5๋Š” ES4๊ฐ€ ์•„๋‹Œ ES3์—์„œ ์ ์ง„์ ์œผ๋กœ ๋ฐœ์ „์‹œํ‚ค๋Š” ํ˜•ํƒœ๊ฐ€ ๋˜์—ˆ๋‹ค.[8]

์–ด์จŒ๊ฑฐ๋‚˜ ๊ทธ๋ ‡๋‹ค๋ณด๋‹ˆ ๊ธฐ์กด์˜ AS 2.0์˜ ์‰ฌ์šด ์Šคํฌ๋ฆฝํŒ…์— ์ต์ˆ™ํ•ด์กŒ๋˜ ๋””์ž์ด๋„ˆ๋“ค์—๊ฒŒ๋Š” ํ—ฌ๊ฒŒ์ดํŠธ๊ฐ€ ์—ด๋ ธ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ์†์„ฑ๊ฐ’์ด๋‚˜ ๋ฉ”์„œ๋“œ ๋“ฑ์€ ๊ฐ™๊ธฐ์— ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ์ด ๋˜๊ธด ํ•˜์ง€๋งŒ, ๋ฒ„ํŠผ ํด๋ฆญ์ด๋‚˜ ๋งˆ์šฐ์Šค ์˜ค๋ฒ„ ๋“ฑ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๋ฅผ ์‹ฌ๋ณผ ์•ˆ์—์„œ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์–ด๋งˆ์–ด๋งˆํ•œ ๋ณ€๊ฒฝ์ ์ด ์ƒ๊ฒจ๋ฒ„๋ ค์„œ ์ผ์ผ์ด ํƒ€์ž„๋ผ์ธ ๋˜๋Š” ๋ณ„๋„์˜ ํด๋ž˜์Šค ํŒŒ์ผ์— ์ฝ”๋”ฉ์„ ํ•ด์„œ ์—ฐ๊ฒฐ์‹œ์ผœ์•ผ ํ•˜๋Š”๋ฐ, ์—ฌ๊ธฐ๋ฅผ ์ œ์™ธํ•œ ๊ณณ์—๋Š” AS๋ฅผ ์•„์˜ˆ ์ฝ”๋”ฉํ•  ์ˆ˜ ์—†๊ฒŒ ํ•ด๋†จ๋‹ค. ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ์‚ฌ๋žŒ์€ ๋ฒˆ๊ฑฐ๋กœ์›€์„ ๋„˜์–ด์„œ ํ˜„๊ธฐ์ฆ์ด ๋‚œ๋‹ค. ๊ฒฐ๊ตญ ๋””์ž์ด๋„ˆ๋“ค์€ ๋ฌธ๋ฒ•์€ ์—„๊ฒฉํ•ด์กŒ์ง€, ์ด๋ฒคํŠธ ๋‹ค๋ฃจ๋Š” ๋ฒ•๋„ ์ดํ•ด๊ฐ€ ์•ˆ๋˜์ง€, ๋ฒ„ํŠผ์— ์ฝ”๋”ฉ๋„ ์•ˆ๋˜์ง€, ํด๋ž˜์Šค๋Š” ๋˜ ๋ญ๋ฉฐ ํŒจํ‚ค์ง€๋Š” ๋˜ ๋ญ๋ƒ... ํ•˜๋ฉฐ ๋ฉ˜ํƒˆ์ด ๋‚˜๊ฐ€๋Š” ๊ฒฝํ—˜์„ ํ•˜๋ฉฐ 3.0์„ ์ตํ˜€์•ผํ–ˆ์œผ๋ฉฐ ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ๋นก์ณ์„œ ๊ทธ๋ƒฅ 2.0์œผ๋กœ ๋กค๋ฐฑํ•˜๋Š” ์‚ฌ๋žŒ๋„ ๊ฝค ์žˆ์—ˆ๋‹ค. CS3๊ฐ€ AS 2.0๋„ ํ•˜์œ„ํ˜ธํ™˜์„ ์œ„ํ•ด ์ง€์›์„ ํ•ด์คฌ๊ธฐ ๋•Œ๋ฌธ. [9] ๋ฐ˜๋Œ€๋กœ Java์™€ ๊ฐ™์€ ๊ธฐ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๋ณด๋‹ค ํก์‚ฌํ•œ ๊ตฌ์กฐ๋ฅผ ๋„๊ฒŒ๋œ๋ฐ๋‹ค ๊ธฐ๋Šฅ๊ณผ ์ž์œ ๋„ ๋ฉด์—์„œ ํ˜„๊ฒฉํ•œ ํŒŒ์›Œ์—…์ด ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋”ฉ์— ์ต์ˆ™ํ•œ ์‚ฌ๋žŒ๋“ค ์ž…์žฅ์—์„œ๋Š” ํ—ˆ์ˆ ํ•˜๊ณ  (ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์‚ฌ๊ณ ๋ฐฉ์‹์œผ๋กœ) ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค์—ˆ๋˜ 2.0๋ณด๋‹ค ํ•ฉ๋ฆฌ์ ์ด๊ณ  ์“ฐ๊ธฐ ํŽธํ•ด์กŒ๊ธฐ ๋•Œ๋ฌธ์— ํ™˜์˜๋ฐ›์•˜๋‹ค.

์–ธ์–ด๋‚ด์ ์ธ ๋ฉด์—์„œ๋Š” ์ƒˆ๋กœ์šด ์š”์†Œ๊ฐ€ ๊ฝค ๋งŽ์ด ๋„์ž…๋œ ํŽธ์ธ๋ฐ, ํด๋ž˜์Šค๋Š” 2.0์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ ํŒจํ‚ค์ง€, ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์–ด ์ฝ”๋“œ๊ฐ€ ์€๊ทผํžˆ Java์Šค๋Ÿฌ์›Œ์กŒ๋‹ค. import๋ผ๋˜๊ฐ€ extends๋ผ๋˜๊ฐ€ interface๋ผ๋˜๊ฐ€ ์–ด๋””์„œ ๋งŽ์ด ๋ณด๋˜ ํ‚ค์›Œ๋“œ๋“ค์ด ๋ณด์ธ๋‹ค. ์ƒ์†๋„ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์„œ ๊ธฐ์กด์˜ ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ์ƒ์†๋ณด๋‹ค ํผํฌ๋จผ์Šค๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ๋‹ค. XML๊ณผ ์ •๊ทœํ‘œํ˜„์‹์„ ์ง์ ‘ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ณ  ๊ทธ ์™ธ์—๋„ 2.0์—์„œ ์ค„๊ธฐ์ฐจ๊ฒŒ ์จ ์ œ๋ผ๋˜ _(์–ธ๋”๋ฐ”)๊ฐ€ ์‚ฌ๋ผ์ง€๊ณ  ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์—„๊ฒฉํ•ด์กŒ๋‹ค. ํƒ€์ž…์ฒดํฌ๋Š” ์ปดํŒŒ์ผ ํƒ€์ž„/๋Ÿฐํƒ€์ž„ ์–‘์ชฝ์—์„œ ์ด๋ฃจ์–ด์ง€๋ฉฐ ๋ณ€์ˆ˜ ์„ ์–ธ๋„ ๋ฐ˜๋“œ์‹œ ๋จผ์ €ํ•ด์•ผ ๋˜๊ฒŒ ๋ฐ”๋€Œ์—ˆ์ง€๋งŒ, ์˜ˆ์™ธ๋Š” ์žˆ๋‹ค.('var'๋ฅผ ์“ฐ์ง€ ์•Š๊ณ  ํŠน์ • ์œ„์น˜์— ๋Œ€์ž…ํ•˜๋Š” ๊ฒฝ์šฐ) ๊ทธ๋†ˆ์˜ ์Šค์ฝ”ํ”„๋ž‘ ํ˜ธ์ด์ŠคํŒ…์€ ์•ˆ๋ฐ”๋€Œ์—ˆ๋”๋ผ๋งŒ์€

๋˜ํ•œ AS 3.0์œผ๋กœ ๋งŒ๋“  ์ฝ”๋“œ๋Š” ์ปดํŒŒ์ผํ•˜๋ฉด AS 1.0/2.0๊ณผ๋Š” ๋‹ค๋ฅธ ์ƒˆ๋กœ์šด ํ˜•ํƒœ์˜ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋ฉฐ AS 3.0์˜ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋Š” ์ƒˆ๋กœ์šด ๊ฐ€์ƒ๋จธ์‹ ์ธ AVM2์—์„œ ํ•ด์„์„ ํ•˜๊ฒŒ๋˜๋Š”๋ฐ, AVM2์˜ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋Š” ๊ธฐ์กด์˜ AS 1.0/2.0์˜ ๋ฐ”์ดํŠธ์ฝ”๋“œ์™€ ํ˜ธํ™˜์„ฑ์ด ์ „ํ˜€ ์—†๋‹ค. ๋‹ค๋งŒ ํ•˜์œ„ํ˜ธํ™˜์„ ์œ„ํ•ด ํ”Œ๋ž˜์‹œ ํ”Œ๋ ˆ์ด์–ด๋Š” ๊ธฐ์กด์˜ AVM1๋„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์—ˆ์œผ๋ฉฐ AS 1.0/2.0์˜ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋Š” ์ด์ชฝ์—์„œ ๋‹ด๋‹นํ•˜๊ฒŒ ๋œ๋‹ค. AVM2๋Š” ๊ตฌ์กฐ๋ฅผ ์ƒˆ๋กœ์ด ์ตœ์ ํ™”ํ•จ๊ณผ ๋”๋ถˆ์–ด JIT๋ฅผ ๋„์ž…ํ–ˆ๋Š”๋ฐ ๋•๋ถ„์— ํผํฌ๋จผ์Šค๋ฉด์—์„œ๋Š” AVM1๊ณผ ๋น„๊ต๊ฐ€ ๋˜์ง€ ์•Š์„ ์ •๋„๋กœ ๊ฐœ์„ ๋˜์—ˆ๋‹ค. ๋‹น์‹œ ํ”Œ๋ž˜์‹œ๊ฐ€ ์ง€ํƒ„๋ฐ›๋˜ ์ด์œ  ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฌด๊ฑฐ์šด ๋™์ž‘์ด์—ˆ๋Š”๋ฐ ์ด๊ฒƒ์€ ๋‹น์‹œ ์ปดํ“จํŒ… ์„ฑ๋Šฅ๋„ ์„ฑ๋Šฅ์ด์—ˆ์ง€๋งŒ AVM1์ด ๊ตฌ๋ ธ๋˜(...) ํƒ“์ด ๋งค์šฐ ์ปธ๋‹ค. ์ œ๋Œ€๋กœ ์ฝ”๋”ฉ๋งŒ ํ•œ๋‹ค๋ฉด AVM2์—์„œ๋Š” ํ”Œ๋ž˜์‹œ์˜ ์ตœ๋Œ€ ๋‚œ์ ์ด์—ˆ๋˜ ๋А๋ฆฐ ์‹คํ–‰์ด ์ƒ๋‹นํžˆ ๊ฐœ์„ ๋  ์ˆ˜ ์žˆ์—ˆ๋Š”๋ฐ, ์–ด๋„๋น„ ์ธก์˜ ์ฃผ์žฅ์œผ๋กœ๋Š” 2.0์— ๋น„ํ•ด์„œ ์†๋„๊ฐ€ 10๋ฐฐ ๋น ๋ฅด๋‹ค๊ณ  ํ•˜๋ฉฐ, ์‹ค์ œ๋กœ ์›ฌ๋งŒํ•˜๋ฉด ์ •๋ง ๊ทธ๋งŒํ•œ ์†๋„์ฐจ๊ฐ€ ๋‚ฌ๋‹ค. AS 3.0์˜ ์ •๊ทœ ํ‘œํ˜„์‹ ์†๋„๋Š” JavaScript์˜ 1.5๋ฐฐ๋‹ค. ๋”์šฑ์ด ๋‹จ์ˆœ ๊ณ„์‚ฐ์ด๋ผ๋ฉด AS 2.0์˜ ๋ช‡๋ฐฑ ๋ฐฐ๋ฅผ ๋„˜๋Š”๋‹ค. ์ด ์ด์œ ๋งŒ์œผ๋กœ๋„ AS 3.0์œผ๋กœ ์˜ฎ๊ฒจํƒ€์•ผํ•  ์ด์œ ๋Š” ์ถฉ๋ถ„ํ•˜๊ธด ํ•ด์„œ ๋ˆˆ๋ฌผ์„ ๋จธ๊ธˆ๊ณ  AS 3.0์„ ์ตํžˆ๋Š” ์‚ฌ๋žŒ๋“ค๋„ ์ฐจ์ฐจ ๋Š˜์–ด๋‚˜๊ณ  ์‹œ์žฅ์— ์•ˆ์ฐฉํ•˜...๋Š”๊ฐ€ ํ–ˆ์œผ๋‚˜ ๊ฒฐ๊ณผ์ ์œผ๋กœ๋Š” ์ด๋ฏธ ์•Œ๊ณ ๋“ค ์žˆ๋“ฏ์ด ๋ชจ๋ฐ”์ผ ์‹œ๋Œ€์˜ ๋„๋ž˜์™€ HTML5์˜ ๋ณด๊ธ‰์œผ๋กœ ์ธํ•ด ํ”Œ๋ž˜์‹œ๊ฐ€ ๋งํ–ˆ๋‹ค.. ์•ˆ์Šต. ๊ทธ๋ž˜๋„ ์•„์ง์€ Flex๋‚˜ AIR๋„ ์žˆ๊ณ  ํ•ด์„œ 2.0๊ฐ™์ด ์•„์ฃผ ์žŠํ˜€์ง„ ๊ธฐ์ˆ ์ด๋ผ๊ณ  ๊นŒ์ง€๋Š” ํ•˜๊ธฐ ์–ด๋ ต๊ฒ ์ง€๋งŒ 2008~10๋…„ ๋ฌด๋ ต์˜ AS 3.0 ๋ฐ˜์ง ์—ดํ’์€ ๊ทธ์•ผ๋ง๋กœ ๊ณผ๊ฑฐ์˜ ์˜๊ด‘. ํ•œ๋•Œ๋Š” ํ”Œ๋ž˜์‹œ ๊ธฐ๋ฐ˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ™˜๊ฒฝ์ด ๋‹จ์ˆœํžˆ ์›นํŽ˜์ด์ง€๋ฅผ ๊พธ๋ฏธ๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ˆ˜์ค€์„ ๋ฒ—์–ด๋‚˜ ์Šคํƒ ๋“œ์–ผ๋ก  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์˜์—ญ๊นŒ์ง€ ํ™•๋Œ€๋˜๋Š” ๊ฑฐ ์•„๋‹ˆ๋ƒ ํ•˜๋Š” ๊ธฐ๋Œ€๋„ ์žˆ์—ˆ์ง€๋งŒ ๋‚จ๊ฐ€์ผ๋ชฝ์œผ๋กœ ๋๋‚˜๊ณ  ๋ง์•˜๋‹ค. ์–ด๋„๋น„๊ฐ€ ์ƒ๊ฐํ•œ๋Œ€๋กœ ์ž˜ ํ’€๋ ธ์œผ๋ฉด Java ๊ฐ™์€ ํฌ๋กœ์Šคํ”Œ๋žซํผ ๊ฐ€์ƒ๋จธ์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ™˜๊ฒฝ์ด ๋˜์—ˆ์„ ์ˆ˜๋„ ์žˆ์—ˆ๊ฒ ์ง€๋งŒ... ??? : ๊ณ„ํš๋Œ€๋กœ ๊ทธ๋Ÿฌํ•œ ํ™˜๊ฒฝ์€ HTML5์—์„œ ๋‹ค ์ด๋ฃจ์–ด์ง€๊ฒŒ ๋˜์—ˆ๋‹ค.

์ „์ˆ ํ–ˆ๋“ฏ์ด ํ”Œ๋ž˜์‹œ CC๋ถ€ํ„ฐ๋Š” ์•„์˜ˆ 3.0์„ ์“ธ ์ˆ˜๋ฐ–์— ์—†๊ฒŒ ๋˜์—ˆ๋‹ค. AVM1์„ ๋‚ด๋‹ค๋ฒ„๋ ธ๊ธฐ ๋•Œ๋ฌธ์ธ๋ฐ ์˜คํžˆ๋ ค ์˜ˆ์ƒ๋ณด๋‹ค ๋Šฆ๊ฒŒ ๋ฒ„๋ ธ๋‹ค๋Š” ํ‰๊ฐ€๋„ ๋งŽ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ผญ ๋ถ€์ ์ ˆํ•œ ์ฒ˜์‚ฌ์˜€๋‹ค๊ณ  ๋ณด๊ธฐ๋Š” ์–ด๋ ต๋‹ค. ์–ธ์  ๊ฐ€๋Š” ๋ฒ„๋ ค์•ผํ•  ๊ณผ๊ฑฐ์˜ ์œ ์‚ฐ์ด๊ธฐ๋Š” ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋ฉฐ ์‹ค์งˆ์ ์œผ๋กœ 2.0 ๊ธฐ๋ฐ˜์˜ ๊ฐœ๋ฐœ์€ ์‹œ๊ฐ„์˜ ํ๋ฆ„์— ๋”ฐ๋ผ์„œ ๊ฑฐ์˜ ๋„ํƒœ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๊ธฐ๋„ ํ–ˆ๋‹ค. ์ง€๊ธˆ์— ์™€์„œ์•ผ ๋ญ ์–ด๋„๋น„๊ฐ€ ํ”Œ๋ž˜์‹œ๋ฅผ ๋ฒ„๋ฆฐ์ž์‹ ์ทจ๊ธ‰ํ•˜๋ฉด์„œ 3.0๋„ ์•ž๋‚ ์„ ์žฅ๋‹ดํ•  ์ˆ˜ ์—†๋Š” ์‹ ์„ธ๊ธฐ๋Š” ํ•˜๊ฒ ์ง€๋งŒ....

3. ์‚ฌ์šฉ๋˜๋Š” ๊ณณ[ํŽธ์ง‘]

์•ก์…˜์Šคํฌ๋ฆฝํŠธ๋Š” ์ฃผ๋กœ ํ”Œ๋ž˜์‹œ ํ”Œ๋ ˆ์ด์–ด์—์„œ ์‚ฌ์šฉ๋˜์ง€๋งŒ, ํ”Œ๋ž˜์‹œ ํ”Œ๋ ˆ์ด์–ด ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ํ”Œ๋ž˜์‹œ ํ•ญ๋ชฉ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ํ”Œ๋ž˜์‹œ ํŒŒ์ƒ ๊ธฐ์ˆ ๋“ค(FLEX, AIR, ํ”Œ๋ž˜์‹œ ๋ผ์ดํŠธ ๋“ฑ)์—์„œ๋„ ๊ธฐ๋Šฅ์€ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด์ง€๋งŒ ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
[1] ๋‹ค๋งŒ ํ”Œ๋ž˜์‹œ๋„ ๋งคํฌ๋กœ๋ฏธ๋””์–ด๊ฐ€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ฐœ๋ฐœํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๊ณ  ๊ฒฝ์Ÿ์—…์ฒด์˜€๋˜ ํ“จ์ฒ˜์›จ์ด๋ธŒ๋ฅผ ์ธ์ˆ˜ํ•˜๋ฉด์„œ ๊ทธ๋“ค์˜ ์ œํ’ˆ์ด์—ˆ๋˜ ํ“จ์ฒ˜์Šคํ”Œ๋ž˜์‹œ ์• ๋‹ˆ๋ฉ”์ดํ„ฐ๋ฅผ ๊ฐœ๋Ÿ‰ํ•ด์„œ ๋‚ด๋†“์€ ๊ฒƒ์ด๋‹ค.
[2] ๋‹น์‹œ์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ JScript ๋“ฑ์œผ๋กœ ํŒŒํŽธํ™”๋˜๋Š” ์–‘์ƒ์„ ๋ณด์ด์ž ๋„ท์Šค์ผ€์ดํ”„ ์ธก์˜ ์ œ์ฒญ์œผ๋กœ ECMA(์œ ๋Ÿฝ ์ปดํ“จํ„ฐ ์‚ฐ์—… ํ˜‘ํšŒ)์—์„œ ํ‘œ์ค€๋ฌธ๋ฒ•๊ณผ ์–ธ์–ด๋ช…์„ธ๋ฅผ ์ •ํ•˜๊ธฐ๋กœ ํ•œ ๊ฒƒ์ด ECMAScript์ด๋‹ค. ํ†ต์นญ ES๋ผ๊ณ  ์ค„์—ฌ ๋ถ€๋ฅด๋ฉฐ AS 1.0~2.0์— ์˜ํ–ฅ์„ ์ค€ ES3๋Š” ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ 5.5๋ถ€ํ„ฐ ํƒ‘์žฌ๋˜์—ˆ์œผ๋‚˜ ์ƒ๋‹น๊ธฐ๊ฐ„ ํ‘œ์ค€ํ™” ์ด์ „์˜ ๊ตฌ ๋ฌธ๋ฒ• ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋‚˜ MS์˜ ๋…์ž์  ๊ตฌํ˜„์ธ JScript์™€ ๊ณต์กดํ–ˆ๋‹ค.
[3] ๋‹จ, ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜์˜ OOP๊ฐ€ ์œ ์ง€๋˜์ง€๋งŒ ๋ฌธ๋ฒ•์ ์œผ๋กœ๋งŒ ํด๋ž˜์Šค๋ฅผ ์“ฐ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“  ๊ฒƒ์ด๋ผ๊ณ  ํ•œ๋‹ค. ํ˜„ํ–‰ ECMAScript 6์˜ ํด๋ž˜์Šค์™€ ๋น„์Šทํ•œ ๊ตฌ์กฐ.
[4] ๊ฐ€๋” ์ฐŒ๋ผ์‹œ๋‚˜ ํ˜„์ˆ˜๋ง‰ ๊ฐ™์€๊ฑธ๋กœ ๊ด‘๊ณ ํ•˜๋Š” "ํ™ˆํŽ˜์ด์ง€ XX๋งŒ์›์— ๋งŒ๋“ค์–ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค!!" ๊ฐ™์€ ๊ณณ
[5] ํ”Œ๋ž˜์‹œ ํ™˜๊ฒฝ์—์„œ ๊ตฌ๋™๋˜๋Š” ํฌ๋กœ์Šคํ”Œ๋žซํผ RIA ๊ฐœ๋ฐœํ™˜๊ฒฝ. SDK ํ˜•ํƒœ๋กœ ๋˜์–ด์žˆ๋‹ค. ๋ง์ธ์ฆ‰์Šจ ํ”Œ๋ž˜์‹œ IDE ์ด๋Ÿฐ๊ฑฐ ์—†์–ด๋„ ์ƒ์งœ๋กœ ์•ก์…˜์Šคํฌ๋ฆฝํŠธ๋งŒ ๊ฐ€์ง€๊ณ  ํ”Œ๋ž˜์‹œ ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ฝ”๋”ฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์ด๋ผ๋Š” ์ด์•ผ๊ธฐ. ํ˜„์žฌ๋Š” ์•„ํŒŒ์น˜ ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ์—์„œ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๋‹ค.
[6] ์–ด๋„๋น„๋Š” ๋‹น์‹œ ES4 ์œ„์›ํšŒ์˜ ์ผ์›์ด์—ˆ๊ณ  AS 3.0์˜ ์„ฑ๊ณต์„ ์œ„ํ•ด ES4์— ๋Œ€๋‹จํžˆ ์ ๊ทน์ ์œผ๋กœ ์ฐธ์—ฌํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ๋‚˜์ค‘์— ์–ด๋„๋น„๋Š” AVM2์˜ ์†Œ์Šค์ฝ”๋“œ๋ฅผ 'Tamarin'์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ชจ์งˆ๋ผ ์žฌ๋‹จ์— ๋„๋„ค์ด์…˜ํ•ด๋ฒ„๋ฆฌ๋Š” ๋Œ€์ธ๋ฐฐ์Šค๋Ÿฌ์šด ํ–‰๊ฐ๊นŒ์ง€ ๋ฒŒ์ด๋Š”๋ฐ ์ด๊ฒƒ๋„ ๋‹ค AS 3.0๊ณผ ES4์˜ ์„ฑ๊ณต์ ์ธ ์•ˆ์ฐฉ์„ ์œ„ํ•œ ํ–‰๋ณด์˜€๋‹ค.
[7] ์–ธ์–ด ์ž์ฒด์˜ ์ถœ๋ฐœ์ด ๊ฐ„๋‹จํ•œ ์ธํ„ฐ๋ž™์…˜ ๊ตฌํ˜„์„ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŒ…์ด๋‹ค๋ณด๋‹ˆ ๊ธฐ๋ณธ ์„ค๊ณ„๊ฐ€ ์ข€ ํ—ˆ์ˆ ํ•˜๋‹ค๋Š” ํ‰๊ฐ€๊ฐ€ ๋งŽ๋‹ค. ์• ์ดˆ์— ์ฐฝ์‹œ์ž์ธ ๋ธŒ๋žœ๋“  ์•„์ดํฌ ์„ ์ƒ์ด ์–ธ์–ด๋ช…์„ธ๋ฅผ ๋‹จ 10์ผ๋งŒ์— ์งฐ๋‹ค๋Š” ๋ฏฟ๊ธฐ ํž˜๋“  ์ „์„ค์ด ๋‚ด๋ ค์˜ค๋Š” ์–ธ์–ด๋‹ค.
[8] ์‚ฌ์กฑ์ด์ง€๋งŒ 2015๋…„ ์ œ์ •๋œ ES6์— ์˜ค๋ฉด์„œ ES4์—์„œ ํ•˜๋ ค๋‹ค ์—Ž์–ด์ง„ ์ผ๋ถ€ ์š”์†Œ๋ฅผ ๊ฐ€์ ธ์™”๋Š”๋ฐ ์ด ๋•Œ๋ฌธ์ธ์ง€ ES6 ์ฝ”๋“œ๋ฅผ ๋ณด๋‹ค๋ณด๋ฉด ๊ต‰์žฅํžˆ AS 3.0๊ณผ ๋น„์Šทํ•ด๋ณด์ธ๋‹ค.
[9] ํŠนํžˆ ํ”Œ์งค ์ œ์ž‘์ž๋“ค์ด ๊ฐ„๋‹จํ•œ ์งค์„ ๋งŒ๋“ค ๋ชฉ์ ์œผ๋กœ ๊ตณ์ด ์ €๋Ÿฐ ๋นก์„ผ ๊ฑธ ์ตํ˜€์•ผ๋  ์ด์œ ๊ฐ€ ์—†๋Š” ๊ด€๊ณ„๋กœ 2.0์„ ๊ณ ์ˆ˜ํ•œ ์‚ฌ๋žŒ์ด ๋งŽ์•˜๋‹ค.