Webフレームワーク調査 Koa編(未完) #201
Koa
昨日の続きです。
Webフレームワーク調査、本日はKoaです。
Koa - next generation web framework for node.js
KoaはExpressを作った人たちが作っているNode製Webフレームワークらしい。
公式にもExpressive middleware for node.js using ES2017 async functionsとあるように、ES2017の記法を積極的に取り入れたExpressの進化系のような感じ。
ExpressもKoaもMiddlewareの組み合わせで、アプリケーションを作っていくという感じな点には変わりないのですが、
app.use(async (ctx, next) => { const start = Date.now(); await next(); const ms = Date.now() - start; console.log(`${ctx.method} ${ctx.url} - ${ms}ms`); });
(公式より引用)
こんな感じで、async/awaitが使えたりするのが特徴らしい。(async/awaitに対する理解が不足しているのでその辺を学んで来なければ…)
そういうわけで、Nodeのバージョンは7.6+が推奨らしい。もしくはBabelるか。
もう一つ大きな特徴が↑のサンプルコードにも出てくるctx
。これはcontext object
の略で、リクエストとレスポンスを一つにまとめたモノのようなイメージ。
ctx.request
はKoaのRequest
オブジェクトで、これはNodeのhttpモジュールのIncomingMessageのメソッドが使える…?的なことが書いていたような。(本当に英語力が無さすぎて訳せなかった)
コード書きたかったがココでタイムアップ。
今日やったこと
一応バイトだったのでほかにもいろいろやった
React+Reduxなフロントエンドのコードに久々に触りました。
何もわからなくなっていて本当にショックだった。いろいろなことをつまみ食いするのは本当に良くない。
雑談
明日は忙しいのでコード書けない気がするので、↑でよくわからんかったasync/await含めES6の文法再確認とかしたいと思います。
あと英語力なんとかしないと本当に死ぬ未来しか見えない。