Hallo! Und danke für dieses großartige Projekt. Ich frage Sie nach https://github.com/ballercat/walt
Sie sind sich nicht sicher, welches ich nehmen soll. Können Sie bitte den Hauptunterschied erklären?
Hallo @ emil14 ,
walt es scheint nur High-Level-Syntax Zucker über wat
dessen Hauptziel darin besteht, so nah wie möglich an Wasm zu übersetzen, wenn ich den Eigentümer richtig verstanden habe: https://github.com/ballercat/walt/issues/11
Hauptunterschiede:
1) AssemblyScript früher geboren. Siehe nur den ersten Prototyp .
2) AS unterstützt eine breite Palette von 'kleinen' ganzen Zahlen - natürlich i8, u8, i16, u16 und i32 / u32, i64 / u64. walt
kann nur i32 und i64 ohne vorzeichenlose Typen verwalten .
3) AS ist eine typescript
Obermenge und kann einfach über tsc
auf javascript
übertragen werden. walt
hat eine ähnliche Syntax wie flow
, scheint jedoch nicht vollständig kompatibel zu sein, und ich bin mir nicht sicher, ob eine Übersetzung in reines js möglich ist.
4) AS hat Laufzeit: Array
, ArrayBuffer
, getippte Arrays, String
, Map/Set
, Symbol
, native Math
, Operator instanceof
und etc. walt
hat sehr grundlegende Dinge für Strings und Arrays.
5) AS unterstützt Generika.
6) AS hat Speicherverwaltung. Tatsächlich drei Typen für Heap-Zuweisungen: arena
, tlsf
und buddy
. Es wird auch an Garbage Collector gearbeitet. walt
bietet keine Speicherverwaltung.
7) AS haben viele Beispiele und Benchmarks. Auch ein großes und erfolgreiches Projekt namens wasmBoy .
8) AS wird von mehreren Spielplätzen unterstützt: WebAssembly Studio und Assembleash .
9) AS baut nahtlos über binaryen
was eine schnelle Codegenerierung und eine sehr intelligente Optimierung mit vielen Durchgängen des Autors von emscripten ermöglicht. walt
bietet keine genauen integrierten Optimierungen, selbst wenn toter Code entfernt wurde .
Oh hey, danke, dass du wasmBoy @MaxGraey 😄
Vielen Dank. Es scheint, dass AssemblyScript
besser zum Erstellen komplexer Anwendungen geeignet ist
Hilfreichster Kommentar
Hallo @ emil14 ,
walt es scheint nur High-Level-Syntax Zucker über
wat
dessen Hauptziel darin besteht, so nah wie möglich an Wasm zu übersetzen, wenn ich den Eigentümer richtig verstanden habe: https://github.com/ballercat/walt/issues/11Hauptunterschiede:
1) AssemblyScript früher geboren. Siehe nur den ersten Prototyp .
2) AS unterstützt eine breite Palette von 'kleinen' ganzen Zahlen - natürlich i8, u8, i16, u16 und i32 / u32, i64 / u64.
walt
kann nur i32 und i64 ohne vorzeichenlose Typen verwalten .3) AS ist eine
typescript
Obermenge und kann einfach übertsc
aufjavascript
übertragen werden.walt
hat eine ähnliche Syntax wieflow
, scheint jedoch nicht vollständig kompatibel zu sein, und ich bin mir nicht sicher, ob eine Übersetzung in reines js möglich ist.4) AS hat Laufzeit:
Array
,ArrayBuffer
, getippte Arrays,String
,Map/Set
,Symbol
, nativeMath
, Operatorinstanceof
und etc.walt
hat sehr grundlegende Dinge für Strings und Arrays.5) AS unterstützt Generika.
6) AS hat Speicherverwaltung. Tatsächlich drei Typen für Heap-Zuweisungen:
arena
,tlsf
undbuddy
. Es wird auch an Garbage Collector gearbeitet.walt
bietet keine Speicherverwaltung.7) AS haben viele Beispiele und Benchmarks. Auch ein großes und erfolgreiches Projekt namens wasmBoy .
8) AS wird von mehreren Spielplätzen unterstützt: WebAssembly Studio und Assembleash .
9) AS baut nahtlos über
binaryen
was eine schnelle Codegenerierung und eine sehr intelligente Optimierung mit vielen Durchgängen des Autors von emscripten ermöglicht.walt
bietet keine genauen integrierten Optimierungen, selbst wenn toter Code entfernt wurde .