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
9.8k
0
Share
Haxe最新事情 2021年1月版
terurou
January 23, 2021
More Decks by terurou
See All by terurou
帳票Vibe Coding
terurou
0
260
PDFのビジュアルリグレッションテスト
terurou
0
590
Other Decks in Technology
See All in Technology
Fabric-cicd によるAzure DevOps デプロイ
ryomaru0825
0
160
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
380
Dynamic Workersについて
yusukebe
2
500
開発を止めない CI/CD ~CI Visibilityによる継続的最適化~
pensuke628
0
220
AIが変えた"品質の守り方"
kkakizaki
13
5.4k
Diagnosing performance problems without the guesswork
elenatanasoiu
0
130
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
190
最低限これだけ押さえれ大丈夫_Claude Enterprise/Team企業展開ガバナンス入門
tkikuchi
1
560
string地獄を脱出する
sansantech
PRO
1
110
オンコールの負荷軽減のためのBits Assistant 活用方法 / How to Use Bits Assistant to Reduce the Workload on On-Call Staff
sms_tech
1
350
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
1
470
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
Featured
See All Featured
Navigating Weather and Climate Data
rabernat
0
200
The Curious Case for Waylosing
cassininazir
1
360
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
160
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
330
4 Signs Your Business is Dying
shpigford
187
22k
Site-Speed That Sticks
csswizardry
13
1.2k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
130
Documentation Writing (for coders)
carmenintech
77
5.4k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
190
The Limits of Empathy - UXLibs8
cassininazir
1
340
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
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