読者です 読者をやめる 読者になる 読者になる

今気になっている技術たち (Elm, UE4 Blueprint, React Native)

Elm Functional Programming Functional Reactive Programming Unreal Engine React React Native

ここのところ色んなことに同時に手を出していて、自分が何をやっているのか段々わからなくなってきたので、今気になっている技術をメモ代わりに列挙してみたいと思います。

FRPとElm

前回も関連する翻訳記事を書きましたが、関数型リアクティブプログラミング(FRP)の考え方で、アプリやゲームの設計スタイルがどう変化するのか興味があります。

特に、Elmのように言語仕様にFRPを取り入れたプログラミング言語で、今まで煩雑だった処理がどこまでエレガントに書けるのか色々試してみたいと思っています。

www.youtube.com

Elmは開発環境が洗練されているのもいいですね。

Unreal Engine 4のブループリント

ビジュアルプログラミングは昔から興味があったものの、イロモノ感が強く、実用としては懐疑的なところがあったのですが、Unreal Engine 4のブループリントは強力な開発ツールとセットで提供されることにより、ビジュアルプログラミングによる新しい開発スタイルを構築することに成功しています。

特に以下の2つの動画では(ちょっと長いですが)、ゲームそのものだけでなく、ツールの拡張やテスト環境にもブループリントを活用しており、カルチャーショックを受けました。

  • Unreal Fest 2015 「Empowering your team with UE4 エディタの拡張とブループリントを使いこなせば、あなたのゲーム開発はもっと拡がる!」

www.youtube.com

www.youtube.com

React Native

React Nativeは、Facebookが開発しているUIツールキットで、ReactのUIフレームワークからiOSAndroidのネイティブのUIコンポーネントを直に利用することができます。これにより、UIのパフォーマンスやルック&フィールを犠牲にすることなく、JavaScriptマルチプラットフォーム対応のモバイルアプリを開発することができます。

  • how to create app using react-native in 5 min (javascript)

www.youtube.com

React Nativeの面白いところは、ターゲットをスマートフォンに限定していないことで、拡張により任意のプラットフォームのネイティブのコンポーネントとつなげることができます。例えばReact Native Desktopは、MacのUIコンポーネントを呼び出すことにより、MacのネイティブアプリをReact上で開発可能にしています。

  • React Native Desktop - SimpleChatExample

www.youtube.com

React Nativeを音声UIやプロジェクションマッピング等、一味違った「ネイティブ環境」とつなげてみるのも面白そうです。