2010-12-11 11 views
0

jQueryを使ってWebサービスメソッドにラップすることなく、f#ライブラリを呼び出す方法はありますか?jQuery AjaxがF#を呼び出しますか?

+1

私は、ターゲット言語としてJavaScriptを生成するFSharpコンパイラまたはIL逆コンパイラを記述するのに手間がかかります。あなたは何を探していますか?サービスとしての機能を公開することに抵抗する問題は何ですか? – JasonTrue

+0

独自のhttpサーバを作成し、基本的にポート80を開き、適切なコマンドに反応することができます。 –

+0

@ Jason、これは厳密に私が解決しようとしている理論的なテストプロジェクトです。 – dexter

答えて

6

コメントに記載されているとおり、F#をJavaScriptに変換することができます。これは引用符(F#コードの高水準の表現)を使用できるので、実際にはかなり実用的です。これを行う2つのプロジェクトがあります。 1つはかなり洗練されたcommercial project named WebSharper(他の機能もあります)ともう1つはopen source project FSharp.Javascriptです。

Webサービスを避けたい場合は、単純なHTTPサーバーを作成することもできます。これは、サーバー上で実行できるスタンドアロンアプリケーションであり、要求を直接処理します。私は最近talk in LondonHttpListenerクラスを使ってそれをしました。あなたはfind the sample hereです。

ASP.NETアプリケーションで作業している場合は、HttpHandlerまたはF#で書かれたページを使用してリクエストを直接処理します。メインのフロントエンドをC#プロジェクトとして持つ方が簡単かもしれませんが、F#でページ/ハンドラを作成してC#で継承するだけです(例:using ASP.NET MVC is here)。

+0

+1:私の会社では、この目的のためにASP.NET MVC + jqueryを使用します。jQueryはコントローラメソッドへのAjax呼び出しを行い、メソッドはJsonResultを返し、jQueryはそれを抽出して画面に表示します。バックエンドではC#を使用していますが、F#を使用できない理由は基本的にありません。 – Juliet

+0

ここ数ヶ月でFSharp.Javascriptプロジェクトが大幅に改善されました。私はそれについていくつかのフィードバックをいただきたいと思います。また、ASP.NET MVCフレームワークで使用するためのFSharp.Javascript.Mvc(https://github.com/jgreene/FSharp.Javascript.Mvc)プロジェクトを作成しました。一例として、私はF#でテトリスを書いており、ブラウザでは以下のように動作します。http://fscript.justsimplecode.com/canvas – justin

+0

@包括的な答えと有用なリンクをありがとう! – dexter

0

ラッパーとしてHttpHandlerを記述することができます。

関連する問題