HaxeUp рд╕рддреНрд░ 2020 рд╣реИрдореНрдмрд░реНрдЧ рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ - рд╢реАрддрдХрд╛рд▓реАрди рд╣реИрдХреНрд╕ рд╕реНрдЯреЗрдЯрд╕ рд░рд┐рдкреЛрд░реНрдЯ - рдПрдХ рдкреНрд░рд╢реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрд╛ рдЧрдпрд╛ рдХрд┐ рд╣реЗрдХреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред рдмреЗрд╢рдХ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЙрд╕реЗ рдЙрд╕реА рдЬрдЧрд╣ рдЬрд╡рд╛рдм рджрд┐рдпрд╛, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВред рдкрд┐рдЫрд▓реЗ HaxeUp рд╕реЗ рдПрдХ рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЕрдиреБрд╡рд╛рдж, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, Haxe рдХреЗ рдмрдЪрд╛рд╡ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ рдПрдХ рдРрд╕реЗ рдЦреЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬрд┐рд╕рдиреЗ 500 рдорд┐рд▓рд┐рдпрди рдпреВрд░реЛ рд╕реЗ рдЕрдзрд┐рдХ рдХреА рдХрдорд╛рдИ рдХреА рд╣реИред
рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓реЗрдЦрдХ, рдиреЗрдирд╛рдб, рдЗрдиреЛрд╣рдЧреЗрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдПрдХреНрд╢рдирд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рд╣реЗрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдлреЛрд░реНрдЬ рдСрдл рдПрдореНрдкрд╛рдпрд░реНрд╕ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛ ред 2 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдПрдореНрд╕реНрдЯрд░реНрдбрдо рдЗрдиреЛрдЧреЗрдореНрд╕ рдореЗрдВ рдЗрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдЙрдирдХреЗ рдХрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдЧрдИ рдереА ред рдЖрдЬ рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ - рдЕрдм рд╡реЗрдм рдХреНрд▓рд╛рдЗрдВрдЯ (рдлреНрд▓реИрд╢ рдФрд░ рдПрдЪрдЯреАрдПрдордПрд▓ 5) рдХреЗ рджреЛрдиреЛрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╣реЗрдХреНрд╕ рдкрд░ рдПрдХ рдПрдХрд▓ рдХреЛрдб рдмреЗрд╕ рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░ рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдХрд┐рдП рдЧрдП рдирд┐рд░реНрдгрдпреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рд╣реИ, рджреЛрдиреЛрдВ рд╕рдлрд▓ рдФрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рдирд╣реАрдВ рд╣реИрдВред

рдЖрдЗрдП рдкрд░рд┐рдЪрдп рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВ - рдХреМрди рд╣реИрдВ рдЗрдиреЛрдПрдЬреЗрд╕?
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 .
рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЯреАрдо рдХреЛ рдХрдирд╡рд░реНрдЯрд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдерд╛, рддреЛ рдпрд╣ рдпрдерд╛рд╕рдВрднрд╡ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реЛрдЧрд╛ред

рд▓реЗрдХрд┐рди рдЕрдм рдлреЛрд░реНрдЬ рдСрдл рдПрдореНрдкрд╛рдпрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рджреЛрдиреЛрдВ рд╕рдВрд╕реНрдХрд░рдг рд╣реЗрдХреНрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж!