In Kommentaren zur Ăbersetzung des Berichts von HaxeUp Sessions 2020 Hamburg - Der Winter Haxe Status Report - wurde eine Frage gestellt, warum Haxe benötigt wird. NatĂŒrlich antworteten sie ihm an derselben Stelle in den Kommentaren. Die vorgeschlagene Ăbersetzung eines anderen Berichts aus der Vergangenheit von HaxeUp sollte meiner Meinung nach ein zusĂ€tzliches Argument zur Verteidigung von Haxe sein, as Dieser Bericht handelt von einem Spiel, das mehr als 500 Millionen Euro verdient hat.
Der Autor des Berichts, Nenad, ist einer der InnoGames-Programmierer, die an der Konvertierung von Forge of Empires von ActionScript nach Haxe gearbeitet haben. Vor 2 Jahren sprach InnoGames in Amsterdam ĂŒber ihre Arbeit in dieser Richtung. Heute können wir sagen, dass sie es vollstĂ€ndig geschafft haben - jetzt werden beide Versionen des Webclients (Flash und html5) aus einer einzigen Codebasis auf Haxe zusammengestellt. Und dieser Bericht ist im Wesentlichen eine ĂberprĂŒfung der geleisteten Arbeit und der getroffenen Entscheidungen, sowohl erfolgreich als auch nicht sehr gut.

Beginnen wir mit der EinfĂŒhrung - wer sind InnoGames?
InnoGames â (. ) 400 . , , ( ). (lifetime revenue) 1 . .

Forge of Empires â :
- InnoGames ( )
- : , ( ). PvE, PvP .
- 500 .
- , 2012
- Android iOS.

, Forge of Empires , InnoGames Flash. , html5- , Flash-.
, , , html5-:

1. , InnoGames â , , tween-, .

, (, CreateJS Flash API ActionScript- JavaScript). Egret OpenFL â . Egret , . Egret â , "", . , .
Haxe OpenFL â , .. . , OpenFL .

2. :
:
- . ActionScript- , ActionScript- . , "" ActionScript-, ,
- ,
- html5- flash-. ( QA), . , . flash-, html5- .
:

2018 html5-, . .
html5- -.
, .
A/B , html5-, â flash-. 2018 html5- -. html5- 85-86% .

3. :
- - -. Egret, .. . , : Forge of Empires , ActionScript Haxe, InnoGames . , InnoGames ActionScript->Haxe. InnoGames , , , ( InnoGames Haxe).
- .. , InnoGames
- Haxe OpenFL
- Haxe .

4. , mocked-, .

, mocked-:
ActionScript- â , , mocked- ActionScript. Haxe- ( ). .
"" (, ). Haxe- :
( ) .

5. â , ActionScript- , "" :
.. â , ActionScript-.

6. , , , â . .
flash- - swf, ATF-. , html5-. : html5-, flash- .
: swf- , OpenFL .

7. ( ) â , . Pull Request Flash JavaScript.
, UI-.
html5- Flash-.

8. (dependency injection) Robotlegs, swiftsuspenders. swiftsuspenders . Haxe- @:rtti
â xml-, . .. , html5- ( xml- ). , : @:rtti
ITypeDescriptionAware
â , , , , ( ). , .

9. Canvas- , .. , Microsoft Edge â ( ).

10. ? , - .
InnoGames OpenFL , , WebGL, drawcall.

11. OpenFL . SubBitmapData
â , ( â !). , , drawcall.

12. ? , !
html5- . â , drawcall ( , drawcallâ, ; gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS)
). drawcallâ. .

13. ? â !
- html5- 60 , Internet Explorer â webgl-, . , , Internet Explorer 10% , "" !
Internet Explorer Flash- .

, InnoGames Haxe, .. Flash- ActionScript-, html5- â Haxe-, . html5-, OpenFL html5.
, InnoGames (. . 4), , , , ActionScript. Haxe . , "" .
.
Haxe-, Flash, JavaScript. , Haxe- .
, â .

: OpenFL html5-, Flash- , .
HaxeUp.

14. ( ) â Haxe, 2 . , ( Haxe- , IDE), :
- -, . , . , ,
src
ActionScript-, Haxe- . , "" CI, IDE, . " " (ActionScript- ), , , , " ", Haxe git, ActionScript- - -, . Haxe , ActionScript-. Haxe ActionScript- Ant-. .
, :

1. (workflow) â 2 : . , â . , mocked-, .
ActionScript Haxe, ( ).

2. â . Haxe- :
- master- ""
- conversion- Haxe-
- develop- -.
merge-, - ActionScript develop- Haxe-. , "". .

3. â html5- , . , Internet Explorer Flash-, , Haxe .
Wenn das Team die Entwicklung des Konverters neu starten mĂŒsste, wĂ€re dies daher so plattformĂŒbergreifend wie möglich.

Jetzt verwenden beide Versionen des Forge of Empires-Browser-Clients Haxe-Code. Vielen Dank fĂŒr Ihre Aufmerksamkeit!