μλ νμΈμ,
μ λ Zwitterion μ μ μμ΄λ©° νμ¬ AssemblyScriptμ λν μ§μμ μΆκ°νλ €κ³ ν©λλ€. Zwitterionμ λͺ©νλ νλ‘ νΈ μλ λΈλΌμ°μ κ°λ°μ μν΄ λͺ¨λ μΈμ΄λ₯Ό JSλ‘ (JSλ‘) μ»΄νμΌνκ±°λ μ»΄νμΌ (WasmμΌλ‘) ν μ μλλ‘νλ κ²μ λλ€. μΈμ΄λ νμΌ νμ₯μμ λ°λΌ κ°μ§λ©λλ€. μ΄κ²μ λ§€μ° κ°λ¨νλ©° Zwitterionμ΄ JavaScript (.js), TypeScript (.ts), Rust (.rs), Wasm (.wasm) λ±μ κ΅¬λ³ ν μ μλλ‘ν©λλ€.
μ체 νμΌ νμ₯μκ°μλ AssemblyScriptλμ΄λ₯Ό λ€μ μ΄λ ΅κ² λ§λλλ€. μ΄μ κ·Έ μ¬μ© μ¬λ‘ μΈμλ AssemblyScriptμ λν΄ λ³λμ νμΌ νμ₯μλ₯Ό μ¬μ©νλ κ²μ΄ ν©λΉν μ΄μ κ° λ§μ΄ μλ€κ³ μκ°ν©λλ€. μ μ λΆμ λꡬμ κ°λ°μμ μ΄ν΄κ° λ μ€λ¦ λλ€. ES λͺ¨λ μ¬μμ μμμ νμΌ νμ₯μλ₯Ό νμ©νλ―λ‘ λ¬Έμ κ°λμ§ μμ΅λλ€. μ΄ λ¬Έμ μ λν λ Όλμ΄ μμ§λ§ κ°μΈμ μΌλ‘ λͺ¨λ κ²½λ‘μμ μ΄λ€ νμ₯λ νμ©λμ΄μΌνλ€λ κ²μ΄ λΆλͺ νλ€κ³ μκ°ν©λλ€. Deno.jsλ μ΄λ¬ν λ¬Έμ λ₯Ό μ²λ¦¬νμΌλ©° .ts νμ₯μ νμ©νλ VS Code νλ¬κ·ΈμΈμ λ§λλ κ²μΌλ‘ λ―Ώμ΅λλ€ (μ ν μ€λ₯λ₯Ό μ€μ§ν©λλ€). μ΅κ·Όμ λ°λμμ μ§ λͺ¨λ₯΄μ§λ§ κ·Έλ€μ μ΄κ²λ μκ°νκ³ μμ΅λλ€.
λ°©ν©ν΄μ μ£μ‘ν©λλ€. AssemblyScriptμ λν λ³λμ νμΌ νμ₯μκ° κ³ λ €λκΈ°λ₯Ό λ°λλλ€. κ°μ¬!
μ΄κ²μ vscodeμ μΈμ΄ μλ²μλ μ μ©ν©λλ€!
μ΄κ²μ μ°λ¦¬κ° λ―Έλμ κ³ λ €ν μμλ μ¬νμ΄μ§λ§, νμ¬ μν, μ¦ μ체 μΈμ΄ μλ²κ°μλ νμ¬ μνμμλ .ts νμ₯λͺ μ μ¬μ¬μ©νλ κ²μ΄ μ’μ κ°λ° κ²½νμ μ 곡νκΈ° μν΄ ν©λ¦¬μ μΌλ‘ ν μμλ μ΅μ μΈ κ² κ°μ΅λλ€.
νμ§λ§ λκ΅¬κ° AS μ½λλ₯Ό κ²°μ νλ λ° μ¬μ©ν μμλ λͺ κ°μ§ νμκΈ°κ° μμ΅λλ€.
tsconfig.json
νμ₯ path/to/std/assembly.json
,μ ASλ₯Ό λλ ν 리package.json
μ ascMain
μ΄μλ κ²½μ° λ€λ₯Έ AS μ½λκ°μλ λλ ν 리 λ΄μ AS νλͺ© νμΌμ κ°λ¦¬ ν΅λλ€.package.json
μ asbuild
μ€ν¬λ¦½νΈκ°μλ κ²½μ° ν΄λΉ 첨μλ AS νλͺ© νμΌμ κ°λ¦¬ ν΅λλ€.assembly/
μμ΅λλ€.μ΄κ²μ μ°λ¦¬κ° λ―Έλμ κ³ λ €ν μμλ μ¬νμ΄μ§λ§, νμ¬ μν, μ¦ μ체 μΈμ΄ μλ²κ°μλ νμ¬ μνμμλ .ts νμ₯λͺ μ μ¬μ¬μ©νλ κ²μ΄ μ’μ κ°λ° κ²½νμ μ 곡νκΈ° μν΄ ν©λ¦¬μ μΌλ‘ ν μμλ μ΅μ μΈ κ² κ°μ΅λλ€.
μ΄ν΄ νμ΄μ. νμ§λ§ .as
νμΌμ TypeScript νμΌλ‘ μ·¨κΈνλλ‘ VS Codeμ μ§μνλ κ²μ κ°λ¨νμ§ μμ΅λκΉ? λλ κ·Έκ²μ λ―Ώλλ€. VS Code λλ μ μ¬ν νΈμ§κΈ°μμ TypeScriptμ μ μ λΆμμ μ΄μ μ μ»λ ν¨μ¬ λ κ°λ¨ν λ°©λ²μ΄λ©΄μλ λ³λμ νμ₯μ κ°λ μ΄μ μ μ»μ μμλ κ² κ°μ΅λλ€.
λ§μ§λ§μΌλ‘ tscλ₯Ό νμΈνμ¬ μ§μλλ νμΌ νμ₯μλ₯Ό νλ μ½λ©νμΌλ©°μ΄λ₯Ό λ³κ²½νλ μ μΌν λ°©λ²μ ν¬ν¬λ₯Ό μ μ§νλ κ²μ λλ€. νμ§λ§ κ·Έκ²μ asc νλ‘ν νμ μμκΈ° μμ§λ§ κ·Έκ²μ΄ λ°λ μλμ§λ λͺ¨λ¦ λλ€.
supported file extensions
μλ―Έμ λ°λΌ λ€λ¦
λλ€. TypeScriptλ λͺ¨λ νμΌ νμ₯μλ‘ κ°μ Έ μ€κΈ° κ²½λ‘λ₯Ό μ»΄νμΌν©λλ€. μ ν κ²μ¬κΈ°λ νμ₯μ λ¬Έμ κ°μλ μ μΌν κ²μ΄λ©°, κ°λ¨ν VS Code νμ₯μΌλ‘ μμ νκΈ°κ° κ·Έλ¦¬ μ΄λ ΅μ§ μλ€κ³ μκ°ν©λλ€. μ¬μ€, Denoκ° μ΄λ―Έ .ts
νμ₯μ λν΄μ΄ μμ
μ μννλ€κ³ μκ°ν©λλ€. https://marketplace.visualstudio.com/items?itemName=justjavac.vscode-deno
λν μ§κΈ VS Codeκ° μ΄λ € μκ³ .as
νμΌμ TypeScriptλ‘ μ²λ¦¬νλλ‘ μ§μνμ΅λλ€.
λ°©κΈ μ¬κΈ°μ AssemblyScriptλ₯Ό ν΅ν©νμ΅λλ€ : https://github.com/lastmjs/zwitterion
ν¨κ³Όκ°μλ€! κ·Έλ¬λ λ΄κ° λ§νλ―μ΄ μ체 νμΌ νμ₯μλ₯Ό κ°μ§ AssemblyScriptμ μμ‘΄ν©λλ€. μ§κΈμ .as
. κ·Έλ¦¬κ³ VS Codeλ₯Ό μ‘°κΈ λ μ€ν ν΄ λ³΄μκ³ .as
λ₯Ό TypeScript νμΌμ νμκΈ°λ‘ μ¬μ©νλλ‘ μ§μ ν μ μμΌλ©° ν΄λΉ ꡬμ±μ μ μ₯ν©λλ€. λ΄κ° λ³Έ μ μΌν μ£Όμ λ¬Έμ λ TypeScript μ μ λΆμκΈ°μ .as νμ₯μλ₯Ό νμ©νλλ‘ μ§μνλ κ²μ
λλ€. κ·Έλ¬λ μμμ λ§ν¬ ν Deno νμ₯μμ λ§μ°¬κ°μ§λ‘ μ΄κ²μ΄ λ무 μ΄λ ΅μ§ μμ κ²μ΄λΌκ³ μκ°ν©λλ€.
μ¬κΈ°μ λ€λ₯Έ λ¬Έμ κ° μμ΅λκΉ?
ActionScript λ¬Έμ λ .as
μ κ±°λ μ°¨λ¨κΈ° μΈ κ² κ°μ΅λλ€. .asc
?
κ°μΈμ μΌλ‘ νμ₯ κΈ°λ₯μ΄ μ»΄νμΌλ¬μ λμΌνλ€λ μκ°μ΄ λ§μμ λ€μ§ μμ΅λλ€. μ΄λ»κ² λ Wasmμ ν΅ν© ν μ μμμΌλ©΄νμ§λ§ .asm
μ¬μ©ν μμκ³ μ κ° μκ°ν μμλ μ μΌν μ νμ
λλ€.
λν @dcodeIO , RocketScriptλ .rs
... κ·Έλ¬λ μ΄λ¦μ μ§κΈ λ³κ²½νλ€λ©΄ μκ°μ΄ λ κ²μ
λλ€. νμ¬ μ΄λ¦μ λν λμ λΆλ§μ λ무 λ§μ μμ μ΄λΌλ κ²μ
λλ€. μ°μ£Ό ν
λ§λ₯Ό μ μ§νλ©΄μ Ad Astra
λλ Arugula
(μκ΅μμλ λ‘μΌμ΄λΌκ³ ν¨)μ μν ν μ μμ΅λλ€.
.rs
Rustμ μν΄ μμ½ λ¨ =)
λ΄ μν©μ λν΄μλμ΄ λ¬Έμ κ° μμμ μλ¦¬κ³ μΆμμ΅λλ€ .https : //github.com/AssemblyScript/assemblyscript/issues/719
λν Github μΈμ΄ κ° μ’μ μ°Έκ³ μλ£λΌκ³ μκ°ν©λλ€. ActionScriptκ° μ΄λ―Έ AngelScriptμ μΆ©λνλ κ² κ°μ΅λλ€. λ°λΌμ μμΌλ‘ λμ κ°κΈ°μν μ΅μ μ λ°©λ²μ Githubμ λ¬Έμ λ₯Ό μ κΈ°νκ³ AssemblyScriptλ₯Ό .as
μΌλ‘ λͺ©λ‘μ μΆκ° ν μ μλμ§ νμΈνλ κ²μ
λλ€. μ νκΆ?
μμμ κ°μ΄ AssemblyScriptκ° .as
λ° .assemblyscript
? π€
λν cc @jayphelps λ μ¬κΈ°μ μ λ§ μ’μ ν΅μ°°λ ₯μ κ°μ§κ³
λ€μμ GitHubκ° .as
λ§λλ κ²μ 보μ¬μ£Όλ μμ μ μ₯μμ
λλ€. λͺ¨λ κ²μ΄ TSμ AS μΈ‘μμ λͺ¨λ μλνλλ‘νκΈ° μν΄ μνν΄μΌνλ μμ
μ νμΈνκΈ° μν΄ λΆκΈ° ν μλ μμ΅λλ€.
https://github.com/dcodeIO/asext
κ·Έλ¦¬κ³ λ€, RocketScript / .rs
λ μ¬μ€ μ κ° μ¬λ―Έ μμΌλ €κ³ λ
Έλ ₯νμ΅λλ€ :)
λν λ€μμ Github μΈμ΄ κ°μ§κΈ°μ μ μΈμ΄λ₯Ό μΆκ°νλ λ¬Έμμ λλ€. https://github.com/github/linguist/blob/master/CONTRIBUTING.md#adding -a-language π
κ·Έλ¬λ λͺ κ°μ§ μ‘°μ¬λ₯Ό μννμΌλ©° @dcodeIO κ° μ¬λ°λ₯Έ κ²μΌλ‘ 보μ λλ€ https://github.com/microsoft/TypeScript/issues/10939
λλ μλ§λ .as.ts
μ΄ μ¬κΈ°μμ κ°μ₯ μλ―Έκ° μλ€λ κ²μ λμνκΈ° μμνμ΅λλ€. π€
@ torch2424 .as.ts
λ κ°μ Έ μ€κΈ°μμλ TypeScriptμμ μ§μλμ§ μμ΅λλ€. μ μ λͺ κ°μ§ μ견μ μΈκΈνλ―μ΄ μ§μμ΄ μλ―Ένλ λ°μ λ°λΌ λ€λ¦
λλ€. AssemblyScriptμ νμν μ μΌν μ§μμ Visual Studio Code λλ Atomκ³Ό κ°μ νΈμ§κΈ°μ μ μ λΆμ μ§μμ
λλ€. μ΄ μ¬λ°λ₯Έμ§? νμ΄ν λΌμ΄ν° μμ
μ .TS νμ₯μ νμ©νλ Denoμ μ루μ
μ μ°Έμ‘°νμμμ€ : https://github.com/justjavac/vscode-deno/blob/master/README.md λλ ν¬ν¬μμ νλ¬κ·ΈμΈμ νμ₯νκΈ°κ° λ무 μ΄λ €μΈ κ²μ
λλ€ μκ°νμ§ μμ΅λλ€ λ€λ₯Έ νμ₯μ νμ©νμ¬ VS Code μ© AssemblyScript νλ¬κ·ΈμΈμ λ§λλλ€.
TypeScriptμμ μ νν μ΄λ€ μ’ λ₯μ μ§μμ΄ νμν©λκΉ? μ»΄νμΌλ¬λ μ΄λ―Έ λͺ¨λ νμ₯μ μ²λ¦¬ ν μ ββμμ΅λλ€. typecheckerλ νμ₯μ λ¬Έμ κ°μλ μ μΌν κ²μ λλ€. νλ¬κ·ΈμΈμΌλ‘ μ½κ² μμ ν μ μλ€κ³ μκ°ν©λλ€.
.ts
νμ₯ μ€λ₯λ₯Ό μμ νλ μ€μ λ
Όλ¦¬λ λ€μκ³Ό κ°μ΅λλ€. https://github.com/justjavac/typescript-deno-plugin
AssemblyScriptλ κ²°κ΅ μ체 μΈμ΄ μλ²κ° νμν©λλ€. λ§μ΅λκΉ? μλν° μ© νλ¬κ·ΈμΈμ TypeScript μ ν κ²μ¬κΈ°λ‘ μ΄λ¬ν νμ₯ λ¬Έμ λ₯Ό ν΄κ²°νλ μμ°μ€λ¬μ΄ λ°©λ²μ΄ λ μ μμ΅λλ€. .ts
λλλ κ²μΌλ‘ μ ν ν νμκ° μλ€κ³ μκ°ν©λλ€.
@ torch2424 .as.tsλ κ°μ Έ μ€κΈ°μμλ TypeScriptμμ μ§μλμ§ μμ΅λλ€. μ μ λͺ κ°μ§ μ견μ μΈκΈνλ―μ΄ μ§μμ΄ μλ―Ένλ λ°μ λ°λΌ λ€λ¦ λλ€.
μ€, μ΄λ°! λλ λμ μ¬κ³Όλ₯Ό λμ³€λ€!
TypeScriptμμ μ νν μ΄λ€ μ’ λ₯μ μ§μμ΄ νμν©λκΉ? μ»΄νμΌλ¬λ μ΄λ―Έ λͺ¨λ νμ₯μ μ²λ¦¬ ν μ ββμμ΅λλ€. typecheckerλ νμ₯μ λ¬Έμ κ°μλ μ μΌν κ²μ λλ€. νλ¬κ·ΈμΈμΌλ‘ μ½κ² μμ ν μ μλ€κ³ μκ°ν©λλ€.
μ£μ‘ν©λλ€. μλ§λ μ κ° νλ Έμ μ μμ΅λλ€. μλνμ§ μμμ§λ§ μ¬λλ€μ΄ λ€λ₯Έ νμ₯ νλ‘κ·Έλ¨μ μ¬μ©ν μμλ κ³΅κ° λ λ¬Έμ λ₯Ό λ°κ²¬νμ΅λλ€ π
AssemblyScriptλ κ²°κ΅ μ체 μΈμ΄ μλ²κ° νμν©λλ€. λ§μ΅λκΉ? μλν° μ© νλ¬κ·ΈμΈμ TypeScript μ ν κ²μ¬κΈ°λ‘ μ΄λ¬ν νμ₯ λ¬Έμ λ₯Ό ν΄κ²°νλ μμ°μ€λ¬μ΄ λ°©λ²μ΄ λ μ μμ΅λλ€. .tsλ‘ λλλ κ²μΌλ‘ μ ν ν νμκ° μλ€κ³ μκ°ν©λλ€.
λ€, λ§λ€κ³ μκ°ν©λλ€.
μ°λ¦¬κ° ν μ μλ€λ©΄, κ·Έκ²μ νμ΄ν λΌμ΄ν° νμΌμ λν μ¬μ©μ μ§μ νμ₯μ μ¬μ©ν μ μλλ‘μ tsconfigμ ssomething, λλ μ°λ¦¬κ° ν¨κ» κ°λ©΄μ΄ μ’μ κ±°λΌκ³ μκ° .as
π
TypeScript νκ³Ό ν¨κ» μλ‘μ΄ λ¬Έμ λ₯Ό μ΄κ³ λμ μΈμ΄ μλ²μ μ°κ²°ν λ°©λ²μ΄ μλμ§ λ¬Όμ΄λ³Ό λλΌκ³ μκ°ν©λλ€. νμ€ν .ts
νμ₯μΌλ‘μ΄λ₯Ό μννλ λ μ’μ λ°©λ²μ΄μμ κ²μ
λλ€.
λ€μμ GitHubκ°
.as
λ§λλ κ²μ 보μ¬μ£Όλ μμ μ μ₯μμ λλ€. λͺ¨λ κ²μ΄ TSμ AS μΈ‘μμ λͺ¨λ μλνλλ‘νκΈ° μν΄ μνν΄μΌνλ μμ μ νμΈνκΈ° μν΄ λΆκΈ° ν μλ μμ΅λλ€.https://github.com/dcodeIO/asext
κ·Έλ¦¬κ³ λ€, RocketScript /
.rs
λ μ¬μ€ μ κ° μ¬λ―Έ μμΌλ €κ³ λ Έλ ₯νμ΅λλ€ :)
μ΄κ²μ Githubμ λ°λ₯Έ AngelScriptμ λλ€ : D
κ·Έλ°λ° @dcodeIO , λΉμ μ repoλ₯Ό μ»΄νμΌ ν μ μμ΅λλ€.
λλμ΄ AngelScriptλ₯Ό μ΄λ»κ² λ μ»΄νμΌνκ³ μμ΅λλ€ .D
cd wasm && mv main.as f.ts && asc f.ts -b main.wasm -O3 --runtime none; mv f.ts main.as
.as
λ μ’μ§λ§ ActionScriptμ μΆ©λνλ€κ³ λ§μ νμ
¨λμ? μΌ, λλ μ€λ μ μ κ·Έκ²μ μ¬μ©νλ€. Macromediaλ μ£½μμ΅λλ€. Adobe Flashλ μ£½μκ³ Flexλ μ£½μμ΅λλ€. λ°λΌμ ActionScriptλ μ£½μμ΅λλ€. .as
μ΄λ¦μ λν +1. ν¬νκ° μμ΅λκΉ?
Btw, λ©μ§ μμ§μμ λλ€ : js-> ts-> as
(λν νμ μ§ν©μ΄ μλ TypeScriptμ μμ μ§ν© μ΄λλ κ²μ λ©μ§ AssemblyScriptμ λλ€.)
μ λ λμν©λλ€. .as
λͺ¨λ κ³³μ΄ λ€λ₯Έ μΈμ΄μμ μΆ©λμ μ μΈνκ³ λ κ°μ₯ μμ°μ€λ½κ³ νΈμν μ ν μΈ κ² κ°μ΅λλ€. κ°λ₯νλ€λ©΄ μ΄λ»κ² λ .as
μλμν¬ μ μλ€λ©΄ κ·Έλ κ²ν΄μΌνλ€κ³ μκ°ν©λλ€. λ€λ₯Έ μΈμ΄κ° μ£½κ±°λ μ£½μΌλ©΄ AssemblyScriptκ° νμ₯ κΈ°λ₯μ νλ₯νκ² λ§λλ λ° λμμ΄ λ κ²μ
λλ€.
.as
λ‘ λ³κ²½νλ κ²μ μ λ§ μ΄λ €μ΄ κ³Όμ μ
λλ€. GitHub (github / linguist)μμ μΉμΈμλ°μ μ μμ΅λλ€. μ΄λ₯Ό μν΄μλ μΈμ΄κ° μλΉν μ±μν΄μΌν©λλ€. λν λ€μν νΈμ§κΈ° λ° IDEλ₯Ό μ
λ°μ΄νΈν΄μΌν©λλ€.
@MaxGraey μ, μ¬μ€μ
λλ€. κ·Έλ¦¬κ³ λ¬Έμ, μμ λ±μ λͺ¨λ κ³³μμ-λͺ¨λ κ³³μμ μΈκΈλμ΄μΌν©λλ€ .as
,-μλ§λ κ°μ₯ μ΄λ €μ΄ λΆλΆ μΌ κ²μ
λλ€.
VSCodeμμ κ°μ‘° νμλ₯Ό μμ νλ κ²μ λ§€μ° μ½μ΅λλ€.
// settings.json
{
"files.associations": {
"*.as": "typescript"
}
}
κ·Έλ¬λ μ΄μμ μΌλ‘λ κ° κ°μΈμ μ€μ μ μν΄ κ΄λ¦¬λμ§ μμμΌν©λλ€. μλ§λ λ³λμ νλ¬κ·ΈμΈμ΄μ΄μΌν©λλ€. .as
νμΌμ μ²μ μ΄λ©΄ μλμΌλ‘ μ μλ©λλ€. μλ κ΅¬μ± κ΄λ¦¬λ³΄λ€ ν¨μ¬ λ μ¬μ©μ μΉνμ μ
λλ€. λλ PRμ κΈ°μ‘΄ TS νλ¬κ·ΈμΈμΌλ‘ λ§λ€μ΄ .as
λ₯Ό typescriptλ‘ κ³μ°νλ κ²½μ° ... ꡬ문 μ μΌλ‘ λμΌν©λκΉ?
μλ νμΈμ!
https://github.com/AssemblyScript/meta/issues/19 μμμ΄ λ¬Έμ μ λν΄ λ Όμνμ΅λλ€.
μ°λ¦¬κ° μ»μ μ£Όμ μ€ν κ°λ₯ν νλͺ©μ λ€μκ³Ό κ°μ΅λλ€.
λλΆλΆμ μ£Όμ IDEμ Githubμμ μ§μμ λ°κΈ° μν΄ μΈμ΄κ°ν΄μΌ ν μΌμ λͺ©λ‘μ΄ νμν©λλ€.
AssemblyScriptκ° .ts
νμ₯μ νΌκΈ° λ°±νκΈ° λλ¬Έμ μ΄λ μ체 νμ₯ μ΄λ¦μ μ§μνκΈ° μν΄ λͺ¨λ μΈνλΌλ₯Ό ꡬμΆν΄μΌ ν¨μ μλ―Έν©λλ€. μλ₯Ό λ€μ΄, μΈμ΄ μ λ¬Έκ° Github 리ν¬μ§ν 리μ λ€μ΄κ°λ λ°©λ², Visual Studio μ½λ μ§μμλ°λ λ°©λ²μ΄ μμ΅λλ€.
μΌλ¨ μ°λ¦¬λ κ·Έκ²μ λ¬Έμ λ‘ λλ μ μμ΅λλ€. κ·Έλ° λ€μ μ¬λλ€μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκ³ κ΅¬νμ μμν μμλ μ΅μ’ μ΄λ¦μ κ²°μ ν μ μμ΅λλ€.
μ£Όκ° νμμμ μ μ λ λ€λ₯Έ μ΄λ¦μ΄μμμ΅λλ€ (λ΄κ° κ°μ₯ μ’μνλ μ΄λ¦μ .asms
(Asm Script)). π
PS λμμ νμ₯ μ΄λ¦μ λ³κ²½νκ³ μΆμ κ²½μ° λμ€μ λ³κ²½νλ κ²λ³΄λ€ μ§κΈ λ³κ²½νλ κ²μ΄ ν¨μ¬ λ«μ΅λλ€. κ·Έ μ΄μ λ λ λ§μ μ¬λλ€μ΄ ASλ₯Ό μ±νν μλ‘ λͺ¨λ μ¬λμ΄ νμ₯ μ΄λ¦μ λ³κ²½νκΈ°κ° λ μ΄λ €μμ§κΈ° λλ¬Έμ λλ€.
.at
(AssemblyScriptμ 첫 κΈμμ λ§μ§λ§ κΈμ)λ μ΄λ»μ΅λκΉ?
.as
(GitHubμ λ€λ₯Έ μΈμ΄ 2 κ°μ μΆ©λ)
.at
.ast
.asc
(GitHubμ λ€λ₯Έ 3 κ° μΈμ΄μ μΆ©λ)
.asmt
.asmc
.asms
.asmst
.asmscript
.assemblyscript
.as
λ μμΆ©λλ μΈμ΄λ₯Ό κ³ λ €νμ§ μκ³ μ μ΅κ³ μ μ νμ΄λ©° .at
λ° .asms
μ
λλ€. λ κΈμ νμ₯μ μμ΄λμ΄κ° κ°μ₯ μΈκΈ°μλ JS κΈ°λ° μΈμ΄ μΈ .js
λ° .ts
κ³Ό ν¨κ» μ 곡λκΈ° λλ¬Έμ λ§μμ λλλ€. λ κΈμ μ΄μμ κ°μΌνλ€λ©΄ μ λ .asms
μ λ§ μ’μν©λλ€. .ast
μ μΆμ ꡬ문 νΈλ¦¬μ νΌλ λ μ μμΌλ©° λ€λ₯Έ νΈλ¦¬λ λ΄κ° μνλ κ²λ³΄λ€ λ μ΄μν©λλ€.
.at
μ (λ) λ§€μ° μ¬μ© κ°λ₯ν νμ₯ νλ‘κ·Έλ¨μ΄κ³ λ΄κ° μ°Ύμ μμλ μΈμ΄κ° μμΌλ©° λΉ λ₯Έ Google κ²μμμ νμΌ νμμ΄ κ±°μμλ κ² κ°μ΅λλ€.
λ€μμ μκ°μ μ»λ λ° λμμ΄λλ μλ§μ κ°λ₯μ± λͺ©λ‘μ λλ€.
μ 체 νμ₯ λͺ©λ‘μ λ³΄λ €λ©΄ νμ₯νμΈμ.
.ac
.ae
.ai
.al
.am
.ap
.ar
.as
.at
.ay
.abc
.abi
.abl
.abp
.abr
.abs
.abt
.aby
.aci
.acp
.acr
.act
.aeb
.aec
.aei
.ael
.aem
.aep
.aer
.aes
.aet
.aey
.aip
.ait
.alc
.ali
.alp
.alr
.als
.alt
.aly
.amb
.amc
.ami
.aml
.amp
.amr
.ams
.amt
.amy
.apt
.ari
.arp
.art
.asb
.asc
.ase
.asi
.asl
.asm
.asp
.asr
.ass
.ast
.asy
.ayc
.ayi
.ayp
.ayr
.ays
.ayt
.abci
.abcp
.abcr
.abct
.abip
.abit
.ablc
.abli
.ablp
.ablr
.abls
.ablt
.ably
.abpt
.abri
.abrp
.abrt
.absc
.absi
.absp
.absr
.abst
.abyc
.abyi
.abyp
.abyr
.abys
.abyt
.acip
.acit
.acpt
.acri
.acrp
.acrt
.aebc
.aebi
.aebl
.aebp
.aebr
.aebs
.aebt
.aeby
.aeci
.aecp
.aecr
.aect
.aeip
.aeit
.aelc
.aeli
.aelp
.aelr
.aels
.aelt
.aely
.aemb
.aemc
.aemi
.aeml
.aemp
.aemr
.aems
.aemt
.aemy
.aept
.aeri
.aerp
.aert
.aesc
.aesi
.aesp
.aesr
.aest
.aeyc
.aeyi
.aeyp
.aeyr
.aeys
.aeyt
.aipt
.alci
.alcp
.alcr
.alct
.alip
.alit
.alpt
.alri
.alrp
.alrt
.alsc
.alsi
.alsp
.alsr
.alst
.alyc
.alyi
.alyp
.alyr
.alys
.alyt
.ambc
.ambi
.ambl
.ambp
.ambr
.ambs
.ambt
.amby
.amci
.amcp
.amcr
.amct
.amip
.amit
.amlc
.amli
.amlp
.amlr
.amls
.amlt
.amly
.ampt
.amri
.amrp
.amrt
.amsc
.amsi
.amsp
.amsr
.amst
.amyc
.amyi
.amyp
.amyr
.amys
.amyt
.arip
.arit
.arpt
.asbc
.asbi
.asbl
.asbp
.asbr
.asbs
.asbt
.asby
.asci
.ascp
.ascr
.asct
.aseb
.asec
.asei
.asel
.asem
.asep
.aser
.ases
.aset
.asey
.asip
.asit
.aslc
.asli
.aslp
.aslr
.asls
.aslt
.asly
.asmb
.asmc
.asmi
.asml
.asmp
.asmr
.asms
.asmt
.asmy
.aspt
.asri
.asrp
.asrt
.assb
.assc
.asse
.assi
.assl
.assm
.assp
.assr
.asss
.asst
.assy
.asyc
.asyi
.asyp
.asyr
.asys
.asyt
.ayci
.aycp
.aycr
.ayct
.ayip
.ayit
.aypt
.ayri
.ayrp
.ayrt
.aysc
.aysi
.aysp
.aysr
.ayst
Fwiw, λλ μ£Όλ‘ λ―Έμ μ΄μ λ‘ .as
μ νΈν©λλ€ ( .js
, .ts
, _A_ssembly_S_cript). κ·Έλλ μ ννκΈ° μ μ μΈμ΄ μλ²λ₯Ό μ μ νκ² μ¬μ©νκ³ μΆμ΅λλ€.
.as
μ¦μ ActionScriptλ₯Ό μκ°νκ²λλ©° μ΄λ―Έ VSCode νμ₯μ΄ μμ΅λλ€.
.asms
λλ .ascr
μ νΈν©λλ€.
μ§κΈκΉμ§ λͺ¨λ μ¬λλ€μ΄ νμ₯μ λν΄ .a*
λ₯Ό μΈκΈνμ§λ§ .ts*
μ΄ TSμμ λΆκΈ°λλ―λ‘ .tsas
λλ .tsa
μ²λΌ μ΄λ € μμ΅λκΉ?
.was
( .wasm
μ΄μ λ¨κ³)λ μμ§λ§ μ΄λ―Έμμ μ μμ΅λλ€.
.ax
λλ μ§μ μ μΈ μ½μ΄κ° μλ 무μΈκ°λ μμ΅λλ€.
μ΄ λ¬Έμ λ μ΅κ·Ό νλμ΄ μμκΈ° λλ¬Έμ μλμΌλ‘ μ€λλ κ²μΌλ‘ νμλμμ΅λλ€. λ μ΄μ νλμ΄ λ°μνμ§ μμΌλ©΄ νμλ©λλ€. κ·νμ κΈ°μ¬μ κ°μ¬λ립λλ€.
λ€μ λ¨κ³? μ΄κ² λΆμ€νκΈΈ λ°λΌ μ§λ§
λλ Assembly Scriptμ μ΄λ¦μ μ½κ° λ μ€λͺ μ μΈ WASM μ€ν¬λ¦½νΈλ‘ λ³κ²½νκ³ 'wass'λ₯Ό μ¬μ©νμ¬ WASM, WAST, WASI, WAT λ±μ 보μν©λλ€.
μ΄ λ¬Έμ λ μ΅κ·Ό νλμ΄ μμκΈ° λλ¬Έμ μλμΌλ‘ μ€λλ κ²μΌλ‘ νμλμμ΅λλ€. λ μ΄μ νλμ΄ λ°μνμ§ μμΌλ©΄ νμλ©λλ€. κ·νμ κΈ°μ¬μ κ°μ¬λ립λλ€.
λΆμ€νμ§ μμ΅λλ€. μ΄λ»κ² κ²°μ μ λ΄λ¦΄ μ μμ΅λκΉ?
@lastmjs μ§λ νμμμ Saul Cabreraκ° μΈμ΄ μλ²μμ μμ μ μμν κ²μ΄λΌκ³ μΈκΈνμ΅λλ€.
μΌλ¨ μ°λ¦¬κ° κ·Έκ²μ κ°μ§κ³ μλ€λ©΄, μ°λ¦¬λ Assemblyscript ꡬ문μ μΈμνκ³ λ€λ₯Έ λꡬμ κ°μ μΈμ΄μ λν νλ¬κ·ΈμΈκ³Ό κ²λ€μ μμ±ν μμκ² λ κ²μ΄κΈ° λλ¬Έμμ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° ν° λμμ΄ λ κ²μ λλ€.
μ΄λ κ²νλ©΄μ΄ μμ
μ μννκΈ° μν΄ typescript λꡬμ μμ‘΄ ν νμκ° μμΌλ©° .ts
μμ νμΌ νμ₯μ μ΄λ¦μ λ³κ²½ν μ μμ΅λλ€. : smile :
μ΄ λ¬Έμ κ° μ£Όλͺ©μ λ°κ³ μμ΄ κΈ°μ©λλ€. λ΄ 2 μΌνΈ : .as
λ .js
, .ts
μ μ μ¬ν μ μ μΌλ‘ AssemblyScriptμ κ°μ₯ μ§κ΄μ μΈ νμ₯μ
λλ€. λλ lang μλ²μμμ μμ
μ λν΄μλ λ£κ³ κΈ°μ©λλ€. μ΄κ²μ κ°λ° κ²½νμμ λ¨Ό κΈΈμ κ° κ²μ
λλ€. λͺ¨λ νλ₯ν©λλ€.
.as
λν +1.
μ΄μ μΈμ΄μμ μΆ©λμ λν΄ κ±±μ ν νμκ° μμ΅λλ€. κ·Έλ€μ κ²°κ΅ μ¬λΌμ§ κ²μ
λλ€.
νλ₯ν©λλ€, BTW.
λλ μ§κΈ νμ₯ μΊ νμ μμ΅λλ€. μ΄κ²μ μλ§λ κ°μ₯ μμμ μΈ κ²°μ μΌ κ²μ λλ€. κ·Έλ¬λ κ·Έκ²μ λ΄λ €μ ΈμΌν©λλ€.
@dcodeIO μ°λ¦¬λ vscode νμ₯μΌλ‘ μμ νλ μ μ ν ꡬ문 κ°μ‘° νμκ° μμΌλ©° κ°λ₯νλ©΄ 곧 μ΄μ λν κ²°μ μ λ΄λ¦΄ κ²μ λλ€.
κ·Έ λμ μ λ .asc
νμΌ νμ₯μλ₯Ό μ¬μ©νμ¬ μ€λ«λμ κΈ°λ€λ € μκ³ ν λ΄λ AssemblyScript νμ₯μ κ°λ°νλ λ° λλΆλΆμ μκ°μ ν μ ν κ²μ
λλ€. compileString()
λ©μλ λλΆμ μ»΄νμΌλ¬ μ체μ μν΄ νμ€νλμ΄μΌνκ³ μ»΄νμΌλ¬μ μ£Όμ 릴리μ€μ ν¨κ» μ 곡λμ΄μΌνμ§λ§ μ°λ¦¬κ° μ΄λ€ νμ₯μ μ¬μ©νλμ§λ μ€μνμ§ μμ΅λλ€.
RFCλ AssemblyScript/meta
μ μ₯μμμ μ΄μ΄μΌν©λλ€.
CC @ torch2424 @willemneal λ° @MaxGraey
@jtenner Dope : smile : μ, RFCλ₯Ό μ΄κ³ μ¬κΈ°μ λ§ν¬ ν΄μ£ΌμΈμ! : λ―Έμ : : νλ€ :
μ΄ λ¬Έμ λ μ΅κ·Ό νλμ΄ μμκΈ° λλ¬Έμ μλμΌλ‘ μ€λλ κ²μΌλ‘ νμλμμ΅λλ€. λ μ΄μ νλμ΄ λ°μνμ§ μμΌλ©΄ νμλ©λλ€. κ·νμ κΈ°μ¬μ κ°μ¬λ립λλ€.
λΆμ€νμ§ μμ΅λλ€! κ·Έ κ²°μ μ μ΄λ»κ²λμ΄ κ°κ³ μμ΅λκΉ?
μ°λ¦¬λ μ¬μ ν asconfigλ₯Ό λλ΄κΈ°λ₯Ό κΈ°λ€λ¦¬κ³ μμΌλ©° --extension νλκ·Έκ° 0.10κ³Ό ν¨κ» μ 곡λμλ€κ³ λ―Ώμ΅λλ€. @dcodeIOκ° λ§μ΅λκΉ?
μ, κΉλ°μ 0.10.0μΌλ‘ μ°©λ₯νμ΅λλ€. μλ₯Ό λ€μ΄ μ¬μ©λμ --extension .as
μ΄λ©° κΈ°λ³Έμ μΌλ‘ .ts
λ₯Ό .as
λ체ν©λλ€. κ·Έλ¬λ ascλ νμ¬ ν λ²μ μ νν νλμ νμ₯μ μ΄ν΄νλ―λ‘ λ€λ₯Έ νμ₯μ μ¬μ©νλ μΈλΆ λΌμ΄λΈλ¬λ¦¬μ λ¬Έμ κ° λ°μν κ°λ₯μ±μ΄ λμ΅λλ€. μ€νλ € μ€νμ μΈ κΈ°λ₯μ μλν΄ λ³Ό μ μμ΅λλ€.
@dcodeIO μ€μ! μ°©λ₯ ν λ¨μκ° μμμ΅λλ€! μνμ ¨μ΅λλ€! : λ―Έμ : : +1 :
νλμ νμΌλ‘ κ°λ¨ν νλ‘μ νΈκ° μλνλ―λ‘ κ°μ¬ν©λλ€! μ΄μ κ΅¬λ¬Έμ΄ κ°μ‘° νμλ©λλ€.
νμ§λ§ rollup-plugin-assemblyscript
κ²μ κ·Έλ μ§ μμ΅λλ€.
νΈμ§ :μ΄ νλ¬κ·ΈμΈμ μμ νλ λ°©λ²μ μμ λμ΅λλ€. PR : https://github.com/surma/rollup-plugin-assemblyscript/pull/3
κ°μ₯ μ μ©ν λκΈ
μ, κΉλ°μ 0.10.0μΌλ‘ μ°©λ₯νμ΅λλ€. μλ₯Ό λ€μ΄ μ¬μ©λμ
--extension .as
μ΄λ©° κΈ°λ³Έμ μΌλ‘.ts
λ₯Ό.as
λ체ν©λλ€. κ·Έλ¬λ ascλ νμ¬ ν λ²μ μ νν νλμ νμ₯μ μ΄ν΄νλ―λ‘ λ€λ₯Έ νμ₯μ μ¬μ©νλ μΈλΆ λΌμ΄λΈλ¬λ¦¬μ λ¬Έμ κ° λ°μν κ°λ₯μ±μ΄ λμ΅λλ€. μ€νλ € μ€νμ μΈ κΈ°λ₯μ μλν΄ λ³Ό μ μμ΅λλ€.