Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Haxe最新事情 2021年1月版
Search
terurou
January 23, 2021
Technology
0
9.4k
Haxe最新事情 2021年1月版
terurou
January 23, 2021
Tweet
Share
More Decks by terurou
See All by terurou
帳票Vibe Coding
terurou
0
190
PDFのビジュアルリグレッションテスト
terurou
0
550
Other Decks in Technology
See All in Technology
カンファレンスに託児サポートがあるということ / Having Childcare Support at Conferences
nobu09
1
530
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
8
4.1k
プロポーザルのコツ ~ Kaigi on Rails 2025 初参加で3名の登壇を実現 ~
naro143
1
210
[Codex Meetup Japan #1] Codex-Powered Mobile Apps Development
korodroid
2
370
「使い方教えて」「事例教えて」じゃもう遅い! Microsoft 365 Copilot を触り倒そう!
taichinakamura
0
340
Azure Well-Architected Framework入門
tomokusaba
1
350
Vibe Coding Year in Review. From Karpathy to Real-World Agents by Niels Rolland, CEO Paatch
vcoisne
0
130
Escaping_the_Kraken_-_October_2025.pdf
mdalmijn
0
160
from Sakichi Toyoda to Agile
kawaguti
PRO
1
110
AWS IoT 超入門 2025
hattori
0
320
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
3.2k
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
4
460
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
870
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
BBQ
matthewcrist
89
9.8k
A better future with KSS
kneath
239
18k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Balancing Empowerment & Direction
lara
4
690
Rails Girls Zürich Keynote
gr2m
95
14k
Transcript
Haxe最新事情 2021年1月版 terurou 2021-01-23
terurou • デンキヤギ代表取締役 • Haxe Foundationの方から来ました • hxnodejsのコミッターだけど、去年は全然動けなかった… • NGKの実行委員を12年ぐらいやってます
1
Haxeとは • 対応ターゲットがやたらと豊富 • JavaScript, Java, JVM, C++, C#, Flash,
PHP, Python, Lua, Neko, HashLink • 比較的モダンな構文(Haxe4~) • 高度な型システムとマクロ • コンパイルが高速 2
3 今日は言語自体の紹介よりも、 Haxeの利用状況をメインで話します
Haxeの主な採用事例 • ワールドフリッパー [Cygames/Citail] • ポケットモンスター ソード・シールド [任天堂] • Haxe/Luaなので、スクリプトで使われていると推測
• Dead Cells [Motion-Twin] • DAZN ←たぶん今は使っていない… 4 ゲームが多い!
デンキヤギとHaxe/JS terurou管理プロジェクトは、だいたいHaxe/JS • yagisan-reports(自社開発の帳票APIサービス) • React • Cloudflare Workers •
Azure Functions + Cosmos DB • Kintoneアプリ開発(業務システムコンサルティング) 5
[PR] yagisan-reports 汎用帳票エンジン(要はPDF生成)+永続化+郵送を WebAPIサービス化したもの • 既存の帳票製品は価格が高すぎる or 安い製品はテンプレート機能が貧弱すぎる • 高速/無制限プレビュー(ブラウザ上でPDFを生成して解決)
• PDFを生成できるだけでは実務では足りないよね • 例) 請求書を発行したから、同一データを保管しておきたい 6 クローズドユーザー募集中
[求人] めんどくさいWeb開発をやってくれる人 • ブラウザ上で動くアプリケーション • IDEと帳票エンジン • 2D/3Dグラフィックをゴリゴリ操作 • WebRTC,
WebAssembly • Azure Functions, Cosmos DB • Haxeだけでなくて、ScalaとかF#とかもある • UI設計とか業務分析とかもある 7 短時間正社員、 フリーランス、アルバイト 応相談
8 スポンサー枠宣伝はここまで
Haxeの最新情報をどう追えばいいか 9 Haxe Roundupを見ましょう!
Haxe Roundup • 毎週、Haxeの開発状況や周辺情報をまとめてくれる • Haxe公式コミュニティが運営 • https://haxe.io/ 10
Awesome Haxe Game Development • Haxe製のゲームエンジンと周辺ライブラリについて まとめられたページ(GitHubリポジトリ) • https://github.com/Dvergar/awesome-haxe- gamedev
11
12 必要情報は伝えたので、 あとは時間を気にせずに話していきます
13 Q. Haxeってゲーム以外では使われてないの?
Haxeってゲーム以外では使われてないの? • ゲームサーバーや周辺ツールは結構あるはず… • ゲームクライアントをHaxeで書いたら、当然、他の部分も Haxeで書きたくなるよね(連携部分のみの使用も含む) • Webフロントエンドでの採用は減少傾向 • Massive
Interactive社が買収された影響が…(2018年) • haxe-reactやhaxe-modulerなどの開発母体だった • DAZNやBBCにHaxeを突っ込んだのもこの会社 • Haxeだったところも刷新時にTypeScriptになる傾向 14
Haxeサポートターゲットの現況(私見) • JavaScript, C++, PHP, JVM, Lua, HashLink あたりはユーザー側からのIssueやPRも多く活発 •
Flash, Java, Nekoも良い意味で枯れて安定 • C#, Pythonは正直微妙な状況 • 実際の利用者がかなり少なそう… 15
16 Q. Haxe/JSでWebフロントエンドってどうなの?
Haxe/JSでWebフロントエンドってどうなの? • TypeScriptと比べると正直楽ではないがメリットあり • 多数派 vs まともな型システム • 高度な型システム、マクロ、コンパイル速度は捨てがたい •
人口が少ないので、ライブラリの型定義が無いことは多い • デンキヤギで使うものは、どんどん外部公開/PR出してます • Scala.jsを採用するのと同じような感じ 17
dts2hx • TypeScriptの型定義(.d.ts)をHaxe用に変換 • Haxe準公式ツール(コミッターの人が開発中) • まだbeta未満だが、完成すれば大幅に状況が改善 • 開発はもう1年ぐらいかかりそう? •
https://github.com/haxiomic/dts2hx 18
ES Modulesへの対応 • 現時点では未対応だが、一部は既に開発中 • https://github.com/HaxeFoundation/haxe/issues/8033 • webpackとの連携にはhaxe-modulerを使う • loaderもある
: webpack-haxe-loader • ES Modulesになる訳ではないが、HMRは可能になる 19
20 Q. Haxe/C#でUnityってアリ?
Haxe/C#でUnityってアリ? • たぶんないので、素直にC#で書いた方が良さそう • 過去に挑戦者を見かけているが、みんな長続きはしてない… • OpenFLとかHeaps.ioとか、Haxeネイティブの ゲームエンジンを使った方が幸せになりそう 21
22 Q. 最近のHaxeってどうなってるの?(言語機能)
Haxe 4以降で入った主な機能 • 比較的いまどきの構文 • アロー関数、immutable変数(final)など • 代数的データ型(GADT)とパターンマッチ • JVMターゲット(まだ枯れてない)
• null-safety(まだ実験的機能) • nullの混入をコンパイル時チェック。KotlinやSwiftにもある。 • 最適化 : ループ展開、末尾最適化、DCE 23
今後入る見込みのある主な機能 • 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は そろそろ出そう
まとめ • Haxe最新情報はHaxe Roundup • Haxeはゲームでの採用が多い • Webフロントエンドは若干弱いが、改善の見込みあり • デンキヤギも積極的に投資していく予定
• Haxe4.2が近いうちに出るよ • Module-level fieldsの導入が特にセールスポイント 25