Node.js ではじめる Bot 開発 (基本編)

hNode.js と Microsoft Bot Framework を使用した Bot 開発について紹介します。 同様の内容は、既に VAL 研究所の丸山さんが、ほほ完璧な記事をブログに公開していますので、サクッと開発して Azure のデプロイして Web に公開したい方はぜひこちらを参考にしてください。 Microsoft Bot Framework、Azureを利用したBot開発!Bot作成からWeb上で公開するまで 私のほうはツールの使い方やデバッグの方法など交えつつ書いていきたいと思います。 Microsoft Bot Framework とは Microsoft Bot Framework は Chat Bot を効率よく開発するためのフレームワークです。 プログラムコードから利用する Bot Developer SDK と、さまざまなメッセージングサービスに Bot を公開するための Bot Connector、Bing や Cortana などから利用できる Bot Directory で構成されています。 Bot Framework を使用するメリット Bot Framework を使用するメリットは、SDK が用意されているので Bot のインターフェースや仕組みをわざわざ自分で開発しなくても良い、というのはもちろんですが、なんと言っても、Bot をひとつ作れば、Facebook…

0

ゼロからはじめる Microsoft Edge 用の拡張の作り方

8 月に公開される Windows 10 Anniversary Update に搭載されている Edge では拡張 (エクステンション) がサポートされています。 この機能はすでに Windows 10 Insider Preview の最新のビルドに搭載されている Edge でもお試しいただくことができます。 Windows 10 Anniversary Update 公開に先立ち、今回から 2 回に別けて、Windows 10 Insider Preview の Build 14379 を使用した Edge の拡張の作成方法について紹介します。 その前に Edge の拡張について簡単に紹介しておきましょう。 Microsoft Edge の拡張 Edge の拡張の目的は、機能名のとおり開発者によって 「Edge の機能を拡張」 = 「できないことをできるようにする」 ことです。 同様の目的を達成するための機能として、Internet Explorer 時代は ActiveX や Flash といったプラグインが使用されてきました。 これらネイティブコードによるプラグインは…

2

ES2015 の機能を使用したイベントフローの制御

Windows 10 Anniversary Update に搭載される Edge がサポートする ECMA Script 2015 (ES2015) の機能を使用した JavaScript の非同期処理の制御について紹介します。 なぜ今、非同期処理の制御が必要なのか? 前回の記事「de:code2016セッション「モダン Web: たった今と、ほんの少し未来の話」フォローアップ」で紹介したように、Single-page Application (SPA) のようなモダンな Web アプリケーションでは、クライアントサイドのロジックとサーバーサイドのロジックの関係は疎結合となるため、処理は非同期を前提として考える必要があります。 そして、非同期処理の完了の通知は JavaScript ではイベントによって行われます。 たとえば、Web API をコールするには、XMLHttpRequest を使用して Web サーバーにリクエストを出し、イベントハンドラ内で完了のステータスを待って値を取り出します。 上記のような処理は、ひとつの大きな単位での処理を完了するのに、1 回で済むとは限らず、複数回発生する可能性があります。 そういった処理を実装する場合には、最終的な処理の完了までに実行される各々の処理の整合性 (順番とタイミング) を保つために、イベントハンドラをネストすることになり、その間に画像のロードやユーザーのアクションについてのイベントのハンドラが入ると、コードはひたすら右側に伸びていくことになります。これでは記述も煩雑になるだけでなく、デバッグも大変です。 これがいわゆる「コールバック地獄」とよばれるものです。 こういった制御を行うために、JavaScript のライブラリやフレームワークが様々な機能を提供してきました。しかし、今最新のモダンブラウザーがサポートしつつある ECMA Script の 2015 や、2016 にはそういった機能が標準で用意されています。 JavaScript によるイベントフロー制御 非同期を制御するための機能として、Ecma Script 2015 (旧 ES6) では以下の機能が標準で提供されています。 Promise…

0

de:code2016セッション「モダン Web: たった今と、ほんの少し未来の話」フォローアップ

de:code 2016、2 日めのセッション ARC-003「モダン Web: たった今と、ほんの少し未来の話」 にお越しくださいました皆さま、ありがとうございました。 そうとう気合いを入れて資料を作ったものの、セッションのビデオを見たら私の喋りがイマイチ(ほんとはイマサンくらい) だったので、猛省して内容を記事にまとめました。 なお、このセッションについては、HTML5 Experts.jp に、以下の驚くほど詳細な記事が載っており、概要であれば同記事で充分と思いますが、 モダンWeb:たった今と、ほんの少し未来のはなし~「de:code 2016」セッションレポート~ このブログの記事では、セッションでは語れなかった内容もふくめて書いていきたいと思います。 なお、デモでお見せした promise, async/await, generator/yield を使用した非同期制御については、後日別記事で紹介させていただきます。   モダン Web: たった今と、ほんの少し未来の話 この記事は、今現在、巷で言われている「モダン Web」、なかでも「モダンな Web アプリケーション」というものがどういうものであるか、また、今後一般的になるであろう「Web アプリケーションの技術的コンセプト」のいくつかを紹介するものです。 「モダン Web」 とは? 「モダン Web」 とはなんでしょう? 数年ほど前からいろいろなところで、この「モダン Web」というキーワードを耳にするようになりましたが、話されている内容というのは人によりまちまちであることが多いようです。 これはなにも話している人がそれぞれに勝手なことを言っているわけではなく、「モダン Web」で括れる範囲がそれだけ広いからに他なりません。 たとえば、一口に「モダン Web」と言っても、Web のフロントエンドからサーバーサイドのバックエンドまでを含めた「モダンな Web システム」のことの場合もあれば、最新の JavaScript のフレームワークや altJS、 プリプロセッサやタスクランナーといった様々なツールを組み合わせて作業を行う「モダンな Web フロントエンドの開発手法」の場合もあり、かと思えば、次々とやむことなく追加されていく「モダンWeb ブラウザーの新機能」を使用していることをさす場合もあります。 この記事では、「モダンな Web アプリケーション」というものがどういうものであるか、また、そういったアプリケーションを開発するのに必要な「モダンな Web…

0

MacでもLinuxでも使える! 無償の Visual Studio Code を使用した Cordova 開発

Windows はもちろん、Mac や Linux でも動作する無償のコードエディタ Visual Studio Code に Apache Cordova アプリの開発を支援するための拡張 Cordova Tools Extension が公開されました。 <参照> Visual Studio Marketplace – Cordova Tools Extension Apache Cordova development lands on Visual Studio Code GitHub – Microsoft/vscode-cordova Visual Studio Code に Cordova Tools Extention をインストールすることにより、Visual Studio Code を使用して、Cordova アプリのプロジェクトを効率よく編集、デバッグできるようになります。 現状、提供される機能はおおまかに以下のとおりです。 Cordova プロジェクトのコンパイル エミュレーター/シミュレーターによるデバッグ実行 プラグイン API 記述時の入力補完機能 ここまでの機能を見ると、あたかも…

0

HTML5 を使ったシンプルな 2 D ゲームの作り方(効果音を鳴らす)

このシリーズまだやってたの!?、と声が聞こえてきそうなくらい前回から間が空いてしまいましたが約半年ぶりに HTML5 を使用したシンプルな 2D ゲームの作り方の第 10  回めをお送りします。 どんなゲームを作るのかは 1 回目の記事の中に実際に動作するゲームが埋め込んであるのでぜひ遊んでみてください。なお、開発に必要な画像データは 2 回目の記事からダウンロードできますので、実際にゲーム開発を体験したい方はそちらから入手してください。 HTML5 を使ったシンプルな 2 D ゲームの作り方(序) HTML5 を使ったシンプルな 2 D ゲームの作り方(準備編) HTML5 を使ったシンプルな 2 D ゲームの作り方 (画像のロード) HTML5 を使ったシンプルな 2 D ゲームの作り方 (アニメーションの実装) HTML5 を使ったシンプルな 2 D ゲームの作り方 (矢印キーとタッチによる制御の実装) HTML5 を使ったシンプルな 2 D ゲームの作り方 (当たり判定の実装) HTML5 を使ったシンプルな 2 D ゲームの作り方 (複数のSpriteの生成) HTML5 を使ったシンプルな 2…

0

2016 年 1 月 12 日でサポート終了となるバージョンの Internet Explorer でアクセスすると、その旨をひかえめに教えてくれるバーを表示するスクリプト

昨年の 8 月にアナウンスされ、すでに多くの方がご存じのとおり、来年 (2016) の 1 月 12 日からは、Internet Explorer のサポートポリシーが変更され、その Windows で動作する最も高いバージョンの Internet Explorer しかサポートされなくなります。 (※タイトルのサポート終了日付が間違っておりましたので修正しました。どうもすみません) 具体的には以下の組み合わせのものだけがサポートされるようになります。 Windows Internet Explorer 延長サポート終了 Windows Vista SP2 Internet Explorer 9 2017年 4 月 11 日 Windows Server 2008 SP2 Windows 7 SP1 Internet Explorer 11 2020年 1 月 14 日 Windows Server 2008 R2 SP1 Windows Server…

2

どう作る? Microsoft Edge に対応した相互運用性の高い Web コンテンツとは

Windows 10 が正式にリリースされて一カ月と少し経ちました。 私もふくめ Windows Insider Preview にご加入いただき、初期の Technical Preview からお使いの皆さんにとっては、まだそんなものか?、という感じかもしれません。 普及のスピードはどうかというと、本社の Windows and Devices Group の Vice President Yusuf Mehdi の 8 月 26 日の Tweet によれば、その時点で Windows 10 は 7,500万以上のデバイスで動作しているということのことでした。 公開 4 週間で 7,500 万台といういう数字は、控えめに言ってもけっして悪い数字ではないでしょう。少なくとも 3 年以内に 10 億代のデバイスで Windows 10 を動作させるという目標の 7.5% を一カ月足らずで達成したことなります。 この Windows 10 の普及のスピードは、Windows 10 の既定の Web ブラウザーである Edge…

0

HTML5 を使ったシンプルな 2 D ゲームの作り方(スプライトを使った画像の切り替え)

前回に引き続き HTML5 を使用したシンプルな 2D ゲームの作り方の第 9  回めをお送りします。 どんなゲームを作るのかは 1 回目の記事の中に実際に動作するゲームが埋め込んであるのでぜひ遊んでみてください。なお、開発に必要な画像データは 2 回目の記事からダウンロードできますので、実際にゲーム開発を体験したい方はそちらから入手してください。 HTML5 を使ったシンプルな 2 D ゲームの作り方(序) HTML5 を使ったシンプルな 2 D ゲームの作り方(準備編) HTML5 を使ったシンプルな 2 D ゲームの作り方 (画像のロード) HTML5 を使ったシンプルな 2 D ゲームの作り方 (アニメーションの実装) HTML5 を使ったシンプルな 2 D ゲームの作り方 (矢印キーとタッチによる制御の実装) HTML5 を使ったシンプルな 2 D ゲームの作り方 (当たり判定の実装) HTML5 を使ったシンプルな 2 D ゲームの作り方 (複数のSpriteの生成) HTML5 を使ったシンプルな 2…

0

HTML5 を使ったシンプルな 2 D ゲームの作り方 (ランダムな動作と FPS の制御)

前回から 1 つ飛んでしまいましたが、HTML5 を使用したシンプルな 2D ゲームの作り方の第 8 回めをお送りします。 どんなゲームを作るのかは 1 回目の記事の中に実際に動作するゲームが埋め込んであるのでぜひ遊んでみてください。なお、開発に必要な画像データは 2 回目の記事からダウンロードできますので、実際にゲーム開発を体験したい方はそちらから入手してください。 HTML5 を使ったシンプルな 2 D ゲームの作り方(序) HTML5 を使ったシンプルな 2 D ゲームの作り方(準備編) HTML5 を使ったシンプルな 2 D ゲームの作り方 (画像のロード) HTML5 を使ったシンプルな 2 D ゲームの作り方 (アニメーションの実装) HTML5 を使ったシンプルな 2 D ゲームの作り方 (矢印キーとタッチによる制御の実装) HTML5 を使ったシンプルな 2 D ゲームの作り方 (当たり判定の実装) HTML5 を使ったシンプルな 2 D ゲームの作り方 (複数のSpriteの生成) このシリーズの前回となる第 7…

0