BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース FunScript: ウェブアプリを書くのにF#のパワーを使う

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

ブックマーク

原文(投稿日: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の下でライセンスされたオープンソースプロジェクトである。

この記事に星をつける

おすすめ度
スタイル

BT