今回は、Javascript周りの技術について説明します。
Javascript周りのフレームワークは本当に進化の流れが激しく、どんどん新しいものが出てきては廃れていくのでどれを使うか迷います。
まず前回お話しした通り、Ruby on Railsを基盤として使っていることから、標準と成っているCoffee scriptはあまり迷うことなく使っています。またほとんどのフロントエンド周りのコードはJQueryを使っています。
もうちょい複雑なフロントエンドの画面はReact.jsを採用して実装しています。チャットボットは裏側の管理画面でユーザーとどのように会話していくかシナリオを持っており、このシナリオはフローチャートで設定していきます。このシナリオを作成するUIは、複雑な動作を要求されるので今後もReact.jsを使って多くのフロントエンド開発が必要になりそうです。
もう1つ、先ほど話した通り、このシナリオ作成画面はフローチャートとなっており、管理者がシナリオを書いていくようになっています。
下記は、実際社内で使っている出退勤を管理するチャットボットシナリオの一部です。Slack上で動くものなのですが、社内のメンバーが面白半分で作り、今では実用面でも癒しの面でも活躍しているものです。
このフローチャートのベースとしてJoint.jsというライブラリを使用しています。
癖はありますが、一から作るよりはかなり楽できますし、まあまあ使い勝手も良いライブラリです。とはいえ、やりたいことを全部実現しようとすると限界もあり、フルスクラッチでフローチャートの機能を作り直したいとも日々考えたりしています。
そんなフロントエンドの開発をやりたいエンジニア絶賛募集中です!