kondoumh のブログ

- とあるソフトウェアエンジニアのめったに更新されないブログ -

Meteor ネタを Qiita に投稿しました

Qiita 初投稿です。

Node ベースのフルスタック PaaS Meteor

Node.js はサーバーサイドまで JavaScript で書けるフルスタックなフレームワークです。仕事では JVM か .NET Framework のどちらかを使うことがほとんどで、業務システムのトランザクション処理は、TypeSafe な言語である Java か C# で開発します。 画面作りは JavaScript のライブラリにお世話になってますが、サーバーサイドまで JavaScript 使うということは僕の立場では考えられません。

2年ぐらい前に Meteor という Node.js ベースの PaaS が登場しました。画面とサーバーサイドのコードが JavaScript で、しかも同一ファイルに書けて、Meteor のコレクションクラスにデータを登録すれば、いずれサーバーサイドの MongoDB にデータが永続化されます。テキストエディタとブラウザだけで開発できて、コードを保存したタイミングでローカルのアプリケーションがビルドされブラウザがリロードされます。プロダクション環境へのデプロイもコマンド一発。

$ meteor deploy ProductName 

なんともお手軽。作業開始コストがとても低く、個人で何かのプロダクトを開発するのには非常に適した環境だと思います。

Meteor で CoffeeScript を使って開発

Meteor では、CoffeeScript も使えます。CoffeeScript は Node.js により JavaScript にコンパイルされます。JavaScript よりも簡潔に書けて、プロトタイプベースではなくクラスベースの OOP が可能です。

CoffeeScript のクラス単位分割

CoffeeScript 使って Meteor で簡単なアプリを作ってたのですが、だんだんと行数が増えて1ファイルだと見通しが悪くなってきました。CoffeeScript のファイルを分割する方法は window の属性にしたりする技があるようなのですが、Meteor の環境ではうまくいきませんでした。

分割したファイルの中で、とある HTML5 系のライブラリの環境を Context として構築するクラスがあったのですが、これだけはうまく実行できていました。これがヒントになりファイル分割する方法が確立できました。内容は Qiita に投稿したのでそちらに譲ります。

qiita.com

Qiita への投稿

Qiita 公式の Markdown エディタ Kobito を使いました。 Flowchart Maker & Online Diagram Software | Lucidchart という作図サービス使いましたが、日本語通りませんでした。Flowchart Maker & Online Diagram Software の方が日本語ローカライズされてて使いやすい感じです。できた図は png 形式でダウンロードして fotolife にアップロードしました。Kobito でプレビュー見ながらさくさく書けて投稿も一瞬で終わりました。Qiita への初投稿です。