読者です 読者をやめる 読者になる 読者になる

M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

Developing Web Applications With Haskell and Yesod

翻訳に期待。

Developing Web Applications With Haskell and Yesod

Developing Web Applications With Haskell and Yesod

はじめに

今日、Webアプリケーション開発のシーンで支配的なのは動的言語であるといっていいでしょう。RubyPythonPHPは、すばやく強力なWebアプリケーションを構築するため一般的に選択されています。これらの言語ではJavaのようなC言語族の標準的な静的言語よりもすばやく、より容易に開発環境を利用できます。
しかしアプリケーション開発のツールボックスのなかに、よりよい何ものかがないか探しているひともいました。わたしたちは作成したコードが意図したとおりに動くという保証をしてくれる、そんな言語を求めていました。アプリケーションの機能のそのそれぞれの部分すべてを微に入り細を穿つユニットテストを準備するかわりに、コンパイラが自動的にコードの適正性を保証してくれたら、どんなにすばらしいでしょう? そのうえついでに、そのコードの実行速度がとても速かったら?
これがYesodの目標とするものです。YesodはHaskellプログラミング言語の長所を、Webアプリケーション開発の世界にもたらします。Yesodは〔Webという〕純粋でない世界に働きかけるために、〔Haskellという〕純粋な言語だけを以てするのではありません。外部世界との相互作用が安全なものとなるよう、アプリケーションへ入ってくるデータも出ていくデータも自動的にサニタイジングされます。整数と文字列とを混同するような初歩的なミスを防ぐだけでなく、クロスサイトスクリプティングXSS)攻撃のようなセキュリティホールの多くを静的に〔つまりコンパイル前に〕予防することができます。

だれのための本か

一般的にいって、Yesodのもとにやって来るひとには2種類います。第1のグループは古参のHaskellユーザたちです。すでにHaskellのメリットを理解している彼らは、Webアプリケーションを開発するための強力なフレームワークを探しているのです。第2のグループは既存のツールに満足していないか、自らの〔技術的〕地平を関数型言語の世界にまで広げようという意図を持っている人びとです。
この本はWeb開発とHaskell言語のどちらについても初歩的な知識を持っていることを前提にしています。わたしたちはHaskell言語の複雑な概念についてはあまり使用しませんし、それを使用する場合には別途説明をしています。ほとんどの箇所で、構文の基本的な理解があれば十分です。
もしHaskellについてより効率的に理解されたいというのであれば、"Real World Haskell"(O'Reilly刊)という良書をおすすめします。