大なごやJS vol.5 に行ってきたまとめ

この記事は書かれてから1年以上が経過しており、最新の情報とは異なる可能性があります

大なごやJS(#daiNagoyaJS)

数か月に1回、みんながやりたくなったタイミングで行い、主催がころころ入れ替わっていくという謎の勉強会。

その大なごやJSの vol.5 が、この前の 2/23 にあったので、簡単に記録を残しておきます。

vol.5 の概要

資料などがあるものは、リンク付きで載せておきます。(発表順)

盛りだくさんですねー。

ちなみにどうでもいいですが、今回は「JavaScriptではないですが、・・・」みたいなのは1つも無かったですね。不思議です。

JavaScript という括りだけでこんなに幅広くなるのは、それだけ JavaScript が色んなところに使われているからではないかなーと思います。この中で自分が気になったやつだけをピンポイントでメモっておきたいと思います。

@_tk84 さんの、MVCにおけるviewの設計の話

これ、ぜひとも発表用資料を展開していただきたいなーと思うほど、分かりやすく綺麗にまとまっている発表だったと思います。

まずページ遷移前提のステートレスから、時代は状態管理の必要のあるステートフルに変わってきたよ、みたいな必要性の話から、 viewに対する考え方を「このように考えるとすっきりするんじゃないでしょうか?」という話や、それを上手く実現するために、Hamlを使った場合にこういう規約を課しているなど、MVCのview周りを中心とした盛りだくさんな内容でした。

個人的には、まだまだこのあたりの経験値が足りないので、継続してしっかり押さえていきたいなと思います。

資料がほしいー。

@niccolli さんの、Web Speech API の話

Web Speech API の実装がされ始めたタイミングから、けっこうこの API は気になっていながらも触れていなかったのですが、@niccolli さんがデモ付きで紹介してくれました。 「貴社の記者が汽車で帰社した」と話した言葉を、きちんと認識できるのはすごいですね。

Web Speech API と Web Audio API (+ Web RTC) との使い分けですが、どちらも一長一短なので、やりたいことに合わせて適切に選択できるといいなと思います。

Web Speech API の方は、どうしても通信が発生してしまってタイムラグが発生するため、対話的なやりとりで、なおかつ言葉の識別が必要な場合に使うべきで、Web Audio API の方は、リアルタイムに音として認識して何かさせたいときに使うべきですね。

あと、音声認識の精度までパラメータとして取れるのは、さすがGoogleだなーと思いました。

@ka2n さんの、PhoneGapの話

こちら資料が公開されているのですが、iOS のネイティブアプリを作るにあたって、WebView -> ネイティブ、ネイティブ -> WebView のデータのやりとりの方法がまとめられてました。

アプリの性質によって、HTMLベースで作った方が早いし運用しやすい、みたいなケースもあると思うので、状況に応じて(&セキュリティに配慮しつつ)このあたりを参考に使えればいいなーと思います。

@maeda_ さんの、Elm と Functional Reactive Programming の話

(純粋)関数型プログラミング言語の Haskell をベースに作られた、Elmという言語を紹介しつつ、とっかかりとしてすぐに目の前で動作するWebアプリケーションを Elm で作るのも良いのでは?というお話でした。

Reactive とは何か?という考え方のところから、純粋な(副作用のない)世界と Reactive な世界を型として分けておいて、liftして最終的に Signal Element 型にすることで、全体のWebアプリケーションを構築する話や、 意味イベントという考え方を引用して、小さく抽象的なイベントを合成することにより、具体的な意味のあるイベントを作るという話など、興味深い話ばかりでした。

liftするってところが、僕個人は今まで聞いたこと無かった話だったので、もうちょっと掘り下げて調べてみようと思います。

まとめ

MVCの話や、デバイスとの連携の話、Functionalな話など、今回も盛りだくさんで非常に面白かったです。

毎回、なんだかんだで時間いっぱいまで発表があるし、内容も何かに偏らずにバランスがとれて面白いし、また次回あるなら何か面白ネタでも発表してみようかなーと思います。

あまり書けてない感じですが、このあたりでまとめておきます。

この記事は書かれてから1年以上が経過しており、最新の情報とは異なる可能性があります

もし記事内に誤りなどございましたら、 @girigiribauer @girigiribauer.com までご一報いただけると助かります。

Related articles