[emacs] Emacs LispでWebAppの開発に必要なN個のこと
求められている気がしたので、EmacsLispについて知っていることを書いておこうと思った。
パッケージマネージャ
Cask を使うのが今風。先日CartonというPerlのパッケージマネージャと名前がかぶっていたので、改名された。
ちなみに、普段使いであれば、Emacs24.xから標準で入っているpackage.elを使うか、el-getを使う。
アプリケーションサーバ
イベントドリブンなElnodeと、httpd.elをpure Emacsで書きなおした simple-httpd.el がある。
- http://elnode.org/
- http://www.emacswiki.org/emacs/Elnode
- https://github.com/skeeto/emacs-http-server
他にもElservもあるが入手困難。
ルーティング
Elnodeであれば、elnode-hostpath-dispatcherというよく見るようなディスパッチャーがある。
それ以外はちょっとよくわかりません。
データベース
強引にCLI経由でアクセスする mysql.el と、TCPで頑張ってドライバを書いた pg.el がある。
NoSQLなMongoDBもpure Emacsでアクセスできる。
拙作の edbi.el を使えば、Perl DBI でアクセスできるものなら大抵のDBにアクセスできそう。
ORMのようなものは、今のところ見たこと無い。
ビューのレンダリング
そもそもEmacsなのでテキスト処理は得意なはず。orgmodeの機能を使って変換するのもいいかもしれない。
Mustacheという標準的テンプレート形式のテンプレートエンジンや、PerlのText::MicroTemplate的なものがある。(2013/09/11 追記。kitokitokiさんブコメより)