أخبار من الكون Haxe

عقد مؤتمر صغير عبر الإنترنت HaxeIn 2020 في 14 أكتوبر . كان ألكسندر كوزمينكو أحد المتحدثين ، مطور مترجم Haxe. حديث

ألكساندر هو سرد للعمل المنجز منذ فبراير 2020 (عندما أقيمت HaxeUp Hamburg في Inno Games). أوجه انتباهكم إلى نص خطابه.







صورة







ما الذي تم إنجازه في ذلك الوقت؟



مقاعد البدلاء. shaxe.org



, Haxe. , AlexHaxe.

https://benchs.haxe.org/, — github.

, . Haxe — , JVM - ( , ). , , .







صورة







Haxe 4.1



Haxe 4.1 ( Haxe 4.0). 4.1 :







  • JVM ( JVM ). , .
  • SSL Haxe (eval-)
  • . , . .
  • , , .


, Haxe 4.1 , , . ( ), Haxe 4.1 IDE.







صورة







dts2hx



2 Haxe 4.1 dts2hx — TypeScript Haxe-, JavaScript. , JavaScript-.

Haxe Foundation, dts2hx ( , ).







صورة







Haxe 4.1:

JVM-. — - ( pull request ), .. - — Java-. ( ), , , , , Haxe- JVM - Java. JVM- — Haxe, :







  • Java, ,
  • Haxe - JVM, JavaScript-
  • . — jar-
  • JVM — , Haxe. , , Java — ( ). , formatter ( formatter ) JVM- .


صورة







SSL eval- ( Haxe) https- .

API Mbed TLS SSL ( Haxe SSL).







صورة







haxe.Exception



.

(, , , ). Haxe 4.1 (.. ), haxe.Exception



( ) -.

, haxe.Exception



. , , haxe.Exception



(, ), "" , haxe.Exception



. , Dynamic



(.. ) Haxe 4.1.







صورة







: Haxe haxe.CallStack



, . (rethrow exception), . ( ).







صورة







, :







  • . , - ( ), ,
  • haxe.Exception



    . , Haxe
  • . , Haxe jar jar Java, , Haxe-, Java- - .


صورة







catch



— , haxe.Exception



.







صورة







Tail recursion elimination



(tail recursion elimination) .

, , , ( ).

, , .







صورة







( -D analyzer_optimize



).

, (inline), (final) . , ( ).

-D no_tre



.







صورة







Haxe 4.1 :







  • ,
  • Null- (Null Safety) — StrictThreaded, , . Strict- , .
  • , ( JavaScript Source Maps) — .
  • Std.is



    (deprecated), Std.isOfType



    . is



    ( Haxe 4.2).


صورة







Haxe Evolution 2020



- Haxe Evolution, Haxe ( , , ).

. issue , .







صورة







Void



" "
(unit type). , : Void



, , , - . , Void



(Promise



), . Haxe .

, .. , , Void



, , Void



.







صورة







. AST . .







صورة







, Haxe , — . . , : , @.haxe.meta.MetadataType



, . , .. , — , . , .







صورة







. , , - , , . , .







صورة







( C# Java) . , Haxe . , .







صورة







- . : , ( ); , - , .







صورة







, . Haxe — , , . , .







صورة







Haxe, . , this



( ). , . , : Haxe as



, , .







صورة







- (generic types) . , (, ) - (, String



). , typedef



, , , .

, , , , , , , ?







صورة







this



, , . , .. . , , .







صورة







(type parameter variance of enum).

, , enum



Int



, enum



Float



( ) — , . , , , . , .

, .. — enum



, (, ). , C#, in



out



-.







صورة







Haxe 4.2



, Haxe .

Haxe 4.2. , .. , ( , ).







:

(Module-level static fields), , - . , , . , .







صورة







, . "" Java:







  • ,


Shape



, API — Shape



vertices()



, . Square



.

, - , .







صورة







sys.thread.Thread



Haxe 4.2 ( , ) — (event loops) ( NodeJS libuv):







  • ,
  • . , - (callback)
  • , .. Haxe 4.2, , , . Haxe 4.2 , .


صورة







API sys.thread.Thread



Thread.createWithEventLoop()



, , . , , , , :

, :







secondary.events.run(() -> {
    trace(‘This is printed from the secondary thread’);
});
      
      





, secondary



.







, , , secondary



, , :







mainThread.events.run(() -> {
    trace(‘This is printed from the main thread’);
});
      
      





( ).







, .. Haxe , secondary



, , , secondary



. Sys.sleep(2)



.







صورة







(, Thread.create()



, API ) , sys.thread.NoEventLoopException



.







: secondary



, , ( secondary



).







صورة







— "", , , .







: "" , , ( , ) . , , , , , Sys.sleep(2)



— .







صورة









( ):







  • ( )
  • (variance forwarding), "" (underlying type)
  • (constructor forwarding). Haxe 4.1 (@:forward



    @:forwardStatics



    ), Haxe 4.2 @:forward.new



    .


— 40 -.







صورة







:

, (transitive casting), @:transitive



. .







("" ). Haxe 4.1 (Array<Int>



) , Collection



. , Collection



Array<Int>



( Items



). Haxe 4.2 ( ) — @:transitive



Collection



, Items



, , Collection



Array<Int>



(.. Items



Array<Int>



):

var collection:Collection = [123];









, Array<Int>



Collection



:

var array:Array<Int> = collection;









صورة







(variance forwarding) . :

Haxe 4.1 Array<Int>



Array<Money>



, Money



— , Int



. , @:forward.variance



, "" , , Int



, Money



.







Any



, . Dynamic



, -. Any



.







صورة







, :







  • Haxe 4.2 is



    . Haxe 4.1 — . is



    Std.isOfType()



    ( ), .
  • Python API — sys.thread.Thread



    .
  • (object inlining). . , , , .
  • . , , 2- Haxe ( 1 2). , , , , .


صورة







WIP



Haxe 4.2, :

API. API , API.







API C API , , API .







API , .







صورة







API Libuv, Haxe (eval-), API Libuv , .







OCaml- Luv.

, Libuv ( ).







صورة









:







  • Haxe
  • سيكون هناك تطبيقات عبر الأنظمة الأساسية لأنواع الأعداد الصحيحة ، مثل الأعداد الصحيحة 8 و 16 بت ، والموقعة وغير الموقعة ، إلخ.
  • سيكون هناك أيضًا دعم للطرق التي تحتوي على عدد متغير من الوسائط (وسيطات الباقي). وقد بدأ بالفعل العمل عليها ، ولكن تم تأجيلها.


صورة







شكرا للاهتمام! أتمنى أن تكون قد وجدت هذه المادة ممتعة.








All Articles