Kraken - PayPal製のnode用MVCフレームワーク
nodeの世界もどんどん充実してきていますね。 開発言語のトレンドは年々変わってきています。業務レベルではまだ使われることは少ないもののnodeのシェアも増えつつあります。そしてさらなる拡大のために必要になるのが優秀なフレームワークでしょう。 コミュニティベースでも幾つも出てきていますが、今回はPayPalが開発したnode用フレームワーク、Krakenを紹介します。 インストールは簡単でnpmコマンドで終わります。
$ npm install -g generator-kraken
終わったらYeomanのyoコマンドを実行します。ここが格好いいですね。
$ yo kraken
プロジェクトが生成されたらnpm startでWebサーバが立ち上がります。
$ npm start
> helloworld@0.0.1 start /Users/nakatsugawa/Downloads/HelloWorld
> node index.js
Multipart body parsing will be disabled by default in future versions. To enable, use `middleware:multipart` configuration.
connect.multipart() will be removed in connect 3.0
visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives
connect.limit() will be removed in connect 3.0
Listening on 8000
実際にWebブラウザでlocalhost:8000へアクセスすると次のように表示されます。
プロジェクト初期のファイル構成は次のようになります。
例えばコントローラは次のようになります。ルーティングも兼ねていますね。
'use strict';
module.exports = function (server) {
server.get('/', function (req, res) {
var model = { name: 'helloworld' };
res.render('index', model);
});
};
こちらはビュー。DustJSがデフォルトのテンプレートエンジンになっています。publicの下にあるのが特徴的ですね。サーバサイド、クライアントサイド両方で同じテンプレートファイルが使えるようです。
{>"layouts/master" /}
{<body }
<h1>{@pre type="content" key="index.greeting"/}
{/body}
機能としてはMVC、多言語化、セキュリティへの配慮などが挙がっています。npm startで実行するとコンロトーラを修正しても即時反映されないといった問題はありますが、コードの見通しは良さそうでかなり有力なフレームワークになるのではないかと思います。
Krakenはnode/JavaScript製、Apache 2.0 Licenseのオープンソース・ソフトウェアです。