メニューを閉じる

テクノモバイルグループ

メニューを開く

2017.08.30

プログラミング

RxJSを導入して触ってみた

新卒のMです。

ReactiveExtensions(Rx)
RxはC#でLINQが作られたことから始まり、
その利便性からLINQを各種言語へRxとして移植までされているほどです。

※LINQについては今回は詳しく説明しません。簡単に言うとデータをクエリのようなもので扱うものです。

Rxは簡単に説明すると、イベントを取り扱うものです。
この時条件式は自由に設定できますし、途中から変更したりもできます。

今回はJavaScript(JS)へと移植された、RxJSを使ってみました。

まずは簡単に使ってみます。

これで経過秒数をカウントし、出力するプログラムの完成です。
.intervalを付けることで、指定したms毎に条件を満たすので、subscribeされます。
ここに、終了フラグを付けてみます。

これでフラグがたてば止まるストップウォッチと、
関数に投げた時間で止まるタイマーができました。
filterを付けることで、intervalが満たされた時にfilterの判定が入りtrueが返された時にだけsubscribeされます。

createを使うと複雑なものも作れます。

これまでの書き方だとストリームでのイベント処理は行えますが、
自分自身でストリームを消すことができません。
ですが、上記の書き方だとストリームの終了まで
そのストリーム自身で行うことができます。
もちろんこのままでは使い道はありませんが、
その時に応じて幅広く使うことができます。

導入はとても簡単でした。
https://github.com/Reactive-Extensions/RxJS
ここからrx.all.jsをダウンロードして、
スクリプトを読み込ませるだけです。

このライブラリの利点は時間を使った処理や、
イベント処理を独立して書くことができる点です。

UnityなどのC#などでも使えるので興味が出たら触ってみましょう。

以上、簡単にRxJSを触ってみました。


【テクノモバイルではエンジニア/デザイナーを積極採用中です!】

下記項目に1つでも当てはまる方は是非、詳細ページへ!
  • 自分でアプリを作ってみたい
  • ITで世の中にワクワクを生み出したい
  • 使いやすさ、デザインにこだわったWebサイトを開発したい

採用情報の詳細はこちら


Qangaroo(カンガルー)

  • 徹底した見やすさと優れた操作性で、テストの「見える化」を実現。
  • テストの進捗が見える。開発がスマートに進む。
  • クラウド型テスト管理ツール『Qangaroo(カンガルー)』
https://qangaroo.jp/

最近の記事

SNS共有

X CLOSE
X CLOSE
X CLOSE