関数型プログラミングにはどのような適切なWebフレームワークが存在しますか?[閉まっている]


26

関数型プログラミングを使用していくつかのWebプログラミングを行いたいです。関数型プログラミング言語にはどのような適切なWebフレームワークが存在しますか?


1
私はこれがあなたが尋ねたものではないことを知っていますが、Underscore.jsと組み合わされたJavascript は関数型プログラミングスタイルを非常によくサポートします。
user16764

回答:




9

Erlangで利用可能なWebフレームワークのリストがあります。そのリストをここに要約します:

それらのうち、私にとって最も興味深く見えるのはウェブマシン窒素です。YMMV。


「[リスト]」はリンクであると想定されていましたか?
アダムリア

おっとっと。そうでした。それを修正します。
ちょうど私の正しい意見

8

ノワールは美しく、機能的でシンプルです(リッチヒッキーの「シンプルメイドイージー」の意味):

(defpage "/welcome" []
    "Welcome to Noir!")

(server/start 8080)

私は、関数合成を使用してWebアプリケーション全体を構築し、いくつかのマクロでサポートされて優れた宣言型DSLを有効にする方法が特に気に入っています。



3

質問から言語を取り除いたので、複数の言語を受け入れると思います...

したがって、言語F#にはFSharp.WebToolsが存在します

F#Webツールは、1つの型チェック済みプロジェクトで同種のクライアント/サーバー/データベースWebアプリケーションを作成するためのツールでF#ディストリビューションを強化します。クライアントとサーバーのモーダルの区別は、F#ワークフローを使用して確認され、LINQはデータベースアクセスに使用できます。最初のバージョンでは、アプリケーションの一部がJavaScriptとして動的に提供されます。計画されている拡張機能には、クライアント側の部分をSilverlightコードとして提供することが含まれます。


codeplexリンクが壊れています。fswebtools.codeplex.com
Robert Harvey

修正済み、ボタンが正しく機能しないため、これから>と入力します。
タマラWijsman

2

Erlangとyawsを調べることをお勧めします。Erlangは、優れた機能セット、優れたライブラリ、アクティブな開発コミュニティを備えた軽量の関数型プログラミング言語です。Yawsは効率的で、手入れが行き届いています。


はい、ErlangとYawsは好きですが、まともなフレームワークを探しています。
ジョナス

1

SnapはHaskellにとって素晴らしく、本当に速いWebフレームワークです。

Haskellプログラミング言語で書かれたUnixシステム用のシンプルなWeb開発フレームワーク。Snapは、高レベルのテストカバレッジを持ち、十分に文書化されています。機能が含まれます:

  • 高速HTTPサーバーライブラリ
  • ウェブプログラミングのための賢明でクリーンなモナド
  • ページを生成するためのHTMLベースのテンプレートシステム...

0

GithubのErlang Webフレームワークの比較があります。

https://github.com/evanmiller/ChicagoBoss/wiki/Comparison-of-Erlang-Web-Frameworks

そこにリストされているすべてのフレームワークで遊んだわけではないので、判断したくはありませんが、現在のプロジェクトではZotonicをかなり広範囲に使用しており、心から勧めることができます。私の知る限り、それはフレームワークであるだけでなく本格的なCMSでもある唯一のErlangフレームワークです。したがって、CMS機能だけで簡単に開始し、独自のモジュールを使用してカスタム機能を追加することでWebサイトを拡張できます。私の場合、この時点でCMS機能はPostgreSQLでのみ機能し、別のデータベースを使用できないため、純粋にフレームワークとして使用しています。しかし、フレームワークとしてだけでなく、他のフレームワークには必ずしもない多くの機能を提供します。

Zotonicの背後にいる人々がWebサイトを設計および実装し、選択したCMSとしてそれを使用しているため、プロジェクトが非常に活発に開発されていることは非常に素晴らしいことです。

私が選択しなければならなかったなら、私はおそらくゾトニックに最初のチャンスを与え、次にシカゴボス、そして窒素を与えるでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.