blog.bouzuya.net

2016-03-21 b-o-a 0.5.2 をつくった

b-o-a

bouzuya/b-o-a 0.5.2 をつくった。詳細は 0.4.0...0.5.2 を参照してほしい。

変更点は次のとおりだ。

built-in handler を持つようになったことで、 b-o-a は library から framework になった。「 b-o-a 0.5.x は framework になった最初の version 」と言っていい。今後は application の構造をより規定するようになる。

b-o-a 0.5.x は 0.4.0 に比べ、完成度を下げて、実用度を上げた。0.5.2 であれば b-o-a だけで簡単な SPA : Single Page Application はつくることができる。それは todomvc などの具体例で示していくつもりだ。

現状の app の entry point は次のような感じ。

import { run } from 'b-o-a';
import { init as dom } from 'b-o-a/handlers/dom';

const app = (action$, options) => { /* ... */ };
const render = (state, helpers) => { /* ... */ };
const main = () => {
  run((action$, options) => {
    const dom$ = dom({
      render,
      root: 'div#app'
    }).handler(action$, options);
    return app(dom$, options);
  });
};

appdom(...).handler がどちらも同じ Handler の signature を持つ。このように framework の提供すべき機能を built-in handler で提供していくつもりだ。

ちなみに以前の b-o-a がほしい場合は boa-core を使うと良い。