今気になっている技術たち (Elm, UE4 Blueprint, React Native)
ここのところ色んなことに同時に手を出していて、自分が何をやっているのか段々わからなくなってきたので、今気になっている技術をメモ代わりに列挙してみたいと思います。
FRPとElm
前回も関連する翻訳記事を書きましたが、関数型リアクティブプログラミング(FRP)の考え方で、アプリやゲームの設計スタイルがどう変化するのか興味があります。
特に、Elmのように言語仕様にFRPを取り入れたプログラミング言語で、今まで煩雑だった処理がどこまでエレガントに書けるのか色々試してみたいと思っています。
How to Create Tetris in Elm
Elmは開発環境が洗練されているのもいいですね。
Unreal Engine 4のブループリント
ビジュアルプログラミングは昔から興味があったものの、イロモノ感が強く、実用としては懐疑的なところがあったのですが、Unreal Engine 4のブループリントは強力な開発ツールとセットで提供されることにより、ビジュアルプログラミングによる新しい開発スタイルを構築することに成功しています。
特に以下の2つの動画では(ちょっと長いですが)、ゲームそのものだけでなく、ツールの拡張やテスト環境にもブループリントを活用しており、カルチャーショックを受けました。
- Unreal Fest 2015 「Empowering your team with UE4 エディタの拡張とブループリントを使いこなせば、あなたのゲーム開発はもっと拡がる!」
- スクウェア・エニックスにおける UNREAL ENGINE 4 を用いた人工知能技術の開発事例
React Native
React Nativeは、Facebookが開発しているUIツールキットで、ReactのUIフレームワークからiOSやAndroidのネイティブのUIコンポーネントを直に利用することができます。これにより、UIのパフォーマンスやルック&フィールを犠牲にすることなく、JavaScriptでマルチプラットフォーム対応のモバイルアプリを開発することができます。
- how to create app using react-native in 5 min (javascript)
React Nativeの面白いところは、ターゲットをスマートフォンに限定していないことで、拡張により任意のプラットフォームのネイティブのコンポーネントとつなげることができます。例えばReact Native Desktopは、MacのUIコンポーネントを呼び出すことにより、MacのネイティブアプリをReact上で開発可能にしています。
- React Native Desktop - SimpleChatExample
React Nativeを音声UIやプロジェクションマッピング等、一味違った「ネイティブ環境」とつなげてみるのも面白そうです。