Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Haxe最新事情 2021年1月版

terurou
January 23, 2021

Haxe最新事情 2021年1月版

terurou

January 23, 2021
Tweet

More Decks by terurou

Other Decks in Technology

Transcript

  1. Haxeとは • 対応ターゲットがやたらと豊富 • JavaScript, Java, JVM, C++, C#, Flash,

    PHP, Python, Lua, Neko, HashLink • 比較的モダンな構文(Haxe4~) • 高度な型システムとマクロ • コンパイルが高速 2
  2. [求人] めんどくさいWeb開発をやってくれる人 • ブラウザ上で動くアプリケーション • IDEと帳票エンジン • 2D/3Dグラフィックをゴリゴリ操作 • WebRTC,

    WebAssembly • Azure Functions, Cosmos DB • Haxeだけでなくて、ScalaとかF#とかもある • UI設計とか業務分析とかもある 7 短時間正社員、 フリーランス、アルバイト 応相談
  3. Haxeってゲーム以外では使われてないの? • ゲームサーバーや周辺ツールは結構あるはず… • ゲームクライアントをHaxeで書いたら、当然、他の部分も Haxeで書きたくなるよね(連携部分のみの使用も含む) • Webフロントエンドでの採用は減少傾向 • Massive

    Interactive社が買収された影響が…(2018年) • haxe-reactやhaxe-modulerなどの開発母体だった • DAZNやBBCにHaxeを突っ込んだのもこの会社 • Haxeだったところも刷新時にTypeScriptになる傾向 14
  4. Haxeサポートターゲットの現況(私見) • JavaScript, C++, PHP, JVM, Lua, HashLink あたりはユーザー側からのIssueやPRも多く活発 •

    Flash, Java, Nekoも良い意味で枯れて安定 • C#, Pythonは正直微妙な状況 • 実際の利用者がかなり少なそう… 15
  5. Haxe/JSでWebフロントエンドってどうなの? • TypeScriptと比べると正直楽ではないがメリットあり • 多数派 vs まともな型システム • 高度な型システム、マクロ、コンパイル速度は捨てがたい •

    人口が少ないので、ライブラリの型定義が無いことは多い • デンキヤギで使うものは、どんどん外部公開/PR出してます • Scala.jsを採用するのと同じような感じ 17
  6. Haxe 4以降で入った主な機能 • 比較的いまどきの構文 • アロー関数、immutable変数(final)など • 代数的データ型(GADT)とパターンマッチ • JVMターゲット(まだ枯れてない)

    • null-safety(まだ実験的機能) • nullの混入をコンパイル時チェック。KotlinやSwiftにもある。 • 最適化 : ループ展開、末尾最適化、DCE 23
  7. 今後入る見込みのある主な機能 • Module-level fields(Haxe 4.2) • classを書かずに、いきなり関数や変数が書ける • static filedのシンタックスシュガーとして実装

    • null-safety、JVMターゲットの強化(随時更新) • 新しい async I/O API (Haxe 4.3?) • ES Modules対応(未定、一部は開発中) • Coroutines(未定) 24 Haxe 4.2は そろそろ出そう