BT

FunScript: ウェブアプリを書くのにF#のパワーを使う

| 作者: Abel Avram フォローする 10 人のフォロワー , 翻訳者 編集部N フォローする 0 人のフォロワー 投稿日 2013年6月25日. 推定読書時間: 2 分 |

原文(投稿日:2013/06/21)へのリンク

FunScript はF#コンパイラのライブラリで開発者はF#で単一ページのウェブアプリケーションを作成でき、それを Node.jsを介してブラウザ内、あるいはサーバー上で実行できる。

FunScriptは2つのコンポーネントを持つ。コンパイラライブラリは、F#コードをJavaScriptに変換するために使われ、TypeScriptタイププロバイダが様々なJavaScriptライブラリのAPIと静的な型としてDOMを公開するのに使われる。

FunScriptで書かれた “Hello, World”の例は以下のようになる。

[<FunScript.JS>]

module Page

 

open FunScript

open FunScript.TypeScript

type lib = Api<"lib.d.ts">

let hello () = lib.window.alert("Hello, World!")

do Runtime.Run(components=Interop.Components.all)

各モジュールは、 “.fs” ファイルに保存され、FunScript.JS 属性でアノテートされなければならない。ページの DOM 型libを介してアクセスされる。最後の行は、ランチャーを起動するために使われる。モジュールは、デフォルトでは、単純なWebサーバー上に格納される。

FunScriptモジュールは、Visual Studio、MonoDevelopあるいは単純なテキストエディタで作成することができる。ライブラリは強力になる。なぜならそれを使って、開発者はさまざまなJavaScriptライブラリで見つかった型を調べることができ、自動補完やツールチップ機能にあくせすできるからだ。型はTypeScript経由で提供され、現在、FunScript GitHubプロジェクトは、HTML DOM、jQuery、jQueryUI、Node.js、Google Maps、そしてJavaScriptチャートとやりとりできる HighCharts用の型定義を持っている。ずっと大きなコレクションであるJSの型定義は、ここにある。

WebアプリケーションにFunScriptを使う別の利点は、F#のジェネリックスと非同期プログラミングの機能を使えることである。また、開発者は、F#の型プロバイダを使ってJSONデータとREST APIを扱うことができる。F#の簡潔さを維持しながら、その全てを使える。

FunScriptのウェブサイトには、幾つものサンプルその中には、F#によるWorld Bank データのグラフ化F#によるThe Movie Database の検索がある。その他のサンプルは、プロジェクトの GitHubページにある。

FunScriptは、Apache License 2.0の下でライセンスされたオープンソースプロジェクトである。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT