في التعليقات على ترجمة التقرير من جلسات HaxeUp 2020 هامبورغ - تقرير حالة الشتاء Haxe - تم طرح سؤال حول سبب الحاجة إلى Haxe. بالطبع أجابوه في نفس المكان في التعليقات. يجب أن تكون الترجمة المقترحة لتقرير آخر من الماضي HaxeUp ، في رأيي ، حجة إضافية للدفاع عن Haxe ، كما هذا التقرير عن لعبة كسبت أكثر من 500 مليون يورو.
مؤلف التقرير ، نيناد ، هو أحد مبرمجي InnoGames الذين عملوا على تحويل Forge of Empires من ActionScript إلى Haxe. منذ عامين في أمستردام تحدثت InnoGames عن عملهم في هذا الاتجاه. يمكننا اليوم أن نقول أنهم قاموا بذلك بشكل كامل - الآن يتم تجميع كلا الإصدارين من عميل الويب (Flash و html5) من قاعدة رمز واحدة على Haxe. وهذا التقرير هو في الأساس مراجعة للعمل المنجز والقرارات المتخذة ، سواء كانت ناجحة أو غير جيدة.

لنبدأ بالمقدمة - من هم 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 .
لذلك ، إذا اضطر الفريق إلى إعادة بدء تطوير المحول ، فسيكون عبر النظام الأساسي قدر الإمكان.

ولكن الآن يستخدم كلا الإصدارين من عميل متصفح Forge of Empires كود Haxe. شكرا للانتباه!