どこでも使えるf sharp again pub

18
どどどどどどど F#

Upload: masahiko-miyasaka

Post on 28-Jun-2015

902 views

Category:

Software


0 download

DESCRIPTION

F#

TRANSCRIPT

Page 1: どこでも使えるF sharp again pub

どこでも使える F#

Page 2: どこでも使えるF sharp again pub

自分について

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

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

Page 3: どこでも使えるF sharp again pub

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

商品先物ホームトレードのチャート (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

今ここー>

Page 4: どこでも使えるF sharp again pub

F# についてざっくり

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

Page 5: どこでも使えるF sharp again pub

F# についてざっくり

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

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

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

Page 6: どこでも使えるF sharp again pub

サーバー

UI 、クライアント

.NE

T

.NE

T

Form

s WP

F

MON

OMON

O

PCL

MON

O

ASP.N

ETWEB

API MVC5AZURE

Amazo

n

Page 7: どこでも使えるF sharp again pub

Xamarin

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

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

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

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

Page 8: どこでも使えるF sharp again pub

Xamarin

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

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

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

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

Page 9: どこでも使えるF sharp again pub

サーバー

UI 、クライアント

.NE

T

.NE

T

Form

s WP

F

MON

OMON

O

PCL

MON

OXamari

n

Xamari

n

Page 10: どこでも使えるF sharp again pub

WebSharper

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

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

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

Page 11: どこでも使えるF sharp again pub

WebSharper

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

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

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

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

Page 12: どこでも使えるF sharp again pub

サーバー

UI 、クライアント

.NE

T

.NE

T

Form

s WP

F

MON

OMON

O

PCL

MON

OXamari

n

Xamari

nWebSharp

er

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

` )

Page 13: どこでも使えるF sharp again pub

他にも…

Raspberry pi GPU Programming R Xamarin で Google Glass Unity

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

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

Page 14: どこでも使えるF sharp again pub

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

Page 15: どこでも使えるF sharp again pub

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

Page 16: どこでも使えるF sharp again pub

DEMO

Page 17: どこでも使えるF sharp again pub
Page 18: どこでも使えるF sharp again pub

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

「大丈夫問題ない」