World Wide Haxe 2016まとめ

今年もパリでHaxeの国際カンファレンス World Wide Haxe が開催されたので、発表資料とその概要をざっくりとまとめる。

WWX2016の公式サイト: http://wwx.silexlabs.org/2016/


# 5/27 
## Haxe 3.3.0 RC1 公開
カンファレンスに合わせて、次のバージョンのHaxeのRC版が公開。

http://haxe.org/download/version/3.3.0-rc.1/

新機能や、バグ修正のほかに新たにLuaターゲットが追加された。


# 5/28
## Shooting for the Moon: Haxe lands on Lua

発表資料: https://docs.google.com/presentation/d/1evvd_v5G3d9jE-VPCjeCi85l4FW6EjmSEF77Qmq-t1M/edit

その新たに追加されたLuaターゲットについての発表。

1つのスコープに200を超えるローカル変数を定義できないなど、制約はまだまだあるが、すでにNginx Lua APIにアクセスしたり、[World of Warcraft](https://ja.wikipedia.org/wiki/World_of_Warcraft)のアドオンを書くといったことができる。


## pistahx : type safe, design first, haxe web api
発表資料: https://docs.google.com/presentation/d/1QT-05nxviXKBoOpX02-qTV5YTvSuOZkD3aKaoBJ_f0M/edit
Github: https://github.com/mebyz/pistahx

デザインファーストなWeb APIフレームワーク「pistahx」の紹介。

yamlでAPI設計を書いたものからHaxeのtypedefを出力したり、DBのスキーマ定義からHaxeのtypedefを出力したりできる。


## JTransc: Java and Kotlin everywhere through Haxe
発表資料: https://docs.google.com/presentation/d/1ZnQr8eBPQNvtM_rJIYg8_vA60HbTDGh2gaf9F0SoqHE/pub
Github: https://github.com/jtransc/jtransc

JavaVMのバイトコードから、Haxeのコードを生成する「JTransc」の紹介。

Kotlinなどから、Flash、JavaScript、C++といったコードに変換する用途を想定しているっぽい。


## HaxeUI Version 2 - Multi-platform, Multi-framework UI
発表資料: https://dl.dropboxusercontent.com/u/26678671/HaxeUI-WWX.pptx
公式サイト: http://haxeui.org/v2/

「HaxeUI」の次バージョンについて。

Windows/Mac/LinuxのネイティブのUIが使えるようになっていたり、ネイティブのUIとクロスプラットフォームなルック&フィールのUIをハイブリッドに使えるようになったり、OpenFl、Kha、Pixi.jsなどのフレームワークを横断的にサポートしていたり、かなり目覚ましい進歩をしているのがうかがえる。


# hexMachina: Urban framework for hardcore developers
発表資料: https://docs.google.com/presentation/d/1qR0zvW5Rv_g3CK3itDiDQim6Ui9PMQcRy4oExqcvmBo/edit
公式サイト: http://hexmachina.org/

MVCフレームワーク「hexMachina」の紹介。


## Highway to the external world: Generate externs programmatically
発表資料: https://docs.google.com/presentation/d/11gv3Cih2FIC5yII88Hj4x5gANjFtUbXzkw6TPYFL5WE/edit#slide=id.p

externファイルを自動生成するノウハウなど。

externの自動生成は新しい手法というわけではなく、すでにFlashやJavaScriptの標準ライブラリに対して使われているし、pythonからexternを生成するpyexternというのも作っているとのこと。

Haxeのマクロには`haxe.macro.Printer`というHaxeのコードを文字列で出力APIがコード生成に使えるといったノウハウや、externの自動生成のメリット、どういった点が難しいかについても紹介されている。


# 5/29
## Kha Returns
発表資料: http://robdangero.us/wwx2016/#/1
公式サイト: http://kha.tech/

クロスプラットフォームのグラフィックス/オーディオフレームワーク、「Kha」についての発表。

Khaの主にパフォーマンスの話で、後半では、Haxe/C++よりむしろHaxe/JavaScriptの方が速いことが多いのでV8で実行するKromというの作ってるとか、Visual Studio CodeをフォークしてKode Studioというのを作ってるとか新しい試みについての話も書かれてる。

## Secret Stack

発表資料: http://secretmedia.github.io/WWX2016-secret-talk/?full#Cover

Secret Media社でHaxeを使っている話みたいだけど、発表資料だけだとあまり詳しくわからない。

## Let HaxeDevelop do more for you
発表資料: https://docs.google.com/presentation/d/1Te5B-o8uiZ1TspcrWHbfzoCePSyaFsvhBYdzE5Uw7C8/edit

HaxeDevelop（FlashDevelop）について。

補完リスト、ヘルプチップ、ユニットテスト、ビルドパイプライン、Haxe/JS,Haxe/C#のデバッガ連携、ビルド設定といった新機能が入ってくるみたい。

## typedef React = State -> View;
発表資料: https://onedrive.live.com/view.aspx?resid=4612536FAA245E80!10817&app=PowerPoint&authkey=!ALB82j-WAYN4Z-o
Haxe-React: https://github.com/massiveinteractive/haxe-react
Modular JS: https://github.com/explorigin/modular-js

HaxeでReact.jsを使う話。

Haxe-Reactを使っているようでその特徴の話や、合わせて使っている遅延ロード用のライブラリModular JSの話など。

## Using Haxe with Unity3D and node.js
発表資料: https://docs.google.com/presentation/d/1VhrANgtfdEGQew4CRDeEESkA2eGFgGf1EnQCHIS1kUc/edit

ゲーム開発にHaxeを使っている事例。

クライアントサイドがUnity(C#)、サーバーサイドがnode.jsで、クライアントとサーバーで共通するロジックがHaxe。

## Jive UI for mobile platforms
発表資料とビデオ: http://jiveui.github.io/principles/roadmap/2016/05/29/wwx2016.html

OpenFlで動作するGUIフレームワーク「Jive」について。