どこでも使えるF sharp again pub

Preview:

DESCRIPTION

F#

Citation preview

どこでも使える F#

自分について

宮坂 雅彦 @omanuke 主に株式会社トレードワークスという会

社で金融向けのソフトを作成 F# 大好き でもモナドとかよくわかってない

作ってきたもの・作ってるもの

商品先物ホームトレードのチャート (C++-ActiveX) 商品先物取引システムのチャート (C++-MFC) FX 向けチャートプロトタイプ (C#-Silverlight) ネット証券デイトレードツールのチャート (F#-

WindowsForms) ネット証券の Azure 上でチャート画像作成 (F#) iPhone のアプリのチャート (F#-Xamarin) タブレット向け Web チャート (F#-HTML5(WebSharper)) KAMIGRA という手描きノートストアアプリを最近リリース

しました。http://apps.microsoft.com/windows/ja-jp/app/kamigra/ab8e7765-a6ab-44b1-83df-009abecf02b5

今ここー>

F# についてざっくり

MS 製の .NET 向け関数型言語 OCaml ライクな文法 静的型付け 関数型とオブジェクト指向のハイブリッド デフォルトイミュータブルだが副作用を許容 Actor や非同期処理など組み込み モナド的な仕組みもある (ComputationExpressions)

F# についてざっくり

OCaml な方にそんなキモイ記述できる言語と一緒にするなと怒られた

よくわからないですが、多態 Variant とか OCaml のナイスな機能がないらしい

型クラスほしいよ型クラス (CLR チームが実装してくれないので実装してない )

サーバー

UI 、クライアント

.NE

T

.NE

T

Form

s WP

F

MON

OMON

O

PCL

MON

O

ASP.N

ETWEB

API MVC5AZURE

Amazo

n

Xamarin

C# で iOS/Android など含めクロスプラットフォーム開発できる環境

ベースは Mono 。元 MonoTouch ・ MonoDroid といわれていたもの。

ネイティブアプリを開発できる。 iOS は AOT コンパイル。 Andoird では JIT 。

Mac 向けもある。まだ成熟してないらしい… MS もがっつり協力してる模様

Xamarin

C# でといいましたが、 F# でも開発できる。 中の人も前向きらしい。 F# コミュのハッ

カーな人も参加して機能追加してる。 前述の PCL だけでなく、 UI 含めて全てを

F# だけで開発できる ( らしい ) とりあえず窓用に作った PCL のチャートは

何事もなくさっくり動いた。今も動作は問題なし。

サーバー

UI 、クライアント

.NE

T

.NE

T

Form

s WP

F

MON

OMON

O

PCL

MON

OXamari

n

Xamari

n

WebSharper

F# で使える、 AltJS 。オプソにもなってるけど商用利用は有料。

ほんとは AltJS というよりも Web サーバーとのやり取りも一緒に書ける開発環境らしい。

気持ち開発者少ないような…日本人でまともに使ってる人他にいるのか不安 ( ; ´∀ ` )

WebSharper

今がちで使ってますが、変な挙動とか ( 割と ) なく安定して開発できてる。

生成される js も元のソースを辿れデバッグできるレベルで出してくれる。

窓向けだと OK な書き方がだめだったりバグっぽいのもあったりするけど回避可能。

とりあえず今実案件で iOS 用と将来の窓向けにも使うチャートモジュールと一緒にワンソースで開発中。

サーバー

UI 、クライアント

.NE

T

.NE

T

Form

s WP

F

MON

OMON

O

PCL

MON

OXamari

n

Xamari

nWebSharp

er

PCL だけ… (´ ・ ω ・` ) MS 様おなしゃす ( ; ´Д

` )

他にも…

Raspberry pi GPU Programming R Xamarin で Google Glass Unity

※詳しくは未確認です… (´ ・ ω ・` )

詳しくはこちらで The F# Software Foundation

ワンソースで作ってみた・アプリの構造

ワンソースで作ってみた・プロジェクトの構造

DEMO

「そんな言語で大丈夫か?」

「大丈夫問題ない」

Recommended