1. FunScript
F# to JavaScript with type providers
FunScriptって
何でしょうか?
2. FunScript
F# to JavaScript with type providers
FunScriptとは…
またまた他のJavaScript
コンパイラーでございます。
また?本当にまた?
もういいじゃない?
3. FunScript
F# to JavaScript with type providers
現在はプログラミング言語はすべて
JavaScriptへコンパイルできるらしい。
関数型言語も多いです:
o Elm
o LiveScript
o PureScript
o Fay
そしたらFunScriptを使用するのはどの
メリットがありますか?
初めに…
4. FunScript
F# to JavaScript with type providers
あなたも
F#erである
分かるだろう
5. FunScript
F# to JavaScript with type providers
F#(エフ シャープ)はオープンソース、
タダだよ!タダ!
関数型言語です。
しかもマルチパラダイム
F#はLinux、Mac OS X 、Android、iOS、Windows
又はHTML 5やGPUなどで実行できます。
何か世界を征服したいときには
必ずいいこと… じゃない?
説明はもう結構です!
7. FunScript
F# to JavaScript with type providers
オートコンプリートとツールチップを備えた
強力なIDEでF#のクライアントコードを書けます。
Intellisenseは中毒になる
プラグインはいらない
8. FunScript
F# to JavaScript with type providers
F#コンパイラーは友達です。ずっとあなたの
エラーを見せてくれるので大変助かります!
同僚なら殺したい気分になるが…
いやなんでもない!
9. FunScript
F# to JavaScript with type providers
関数型言語の機能
? カリー化機能を持つ第一級関数
? イミュータブルなオブジェクト
? 再帰呼出し
? パターンマッチ
? 型推論
楽な静的型
システム
10. FunScript
F# to JavaScript with type providers
永続データ構造
?タプル
?レコード
?判別共用体
?クラスとモジュール
?F#コレクション型
o list
o map
o set
o seq
IEnumerableと
書かなくていい
11. FunScript
F# to JavaScript with type providers
.NETコレクション
? Array
? ResizeArray(ミュータブルなリスト)
? Dictionary JSで普通の配列とPOJOになるので
ブラウザコードに対応しています
12. FunScript
F# to JavaScript with type providers
FunScriptは便利な.NETクラスのメソッドを
JavaScriptにコンパイルもできます。
? String
? Regular Expressions
? DateTime / TimeSpan
? WebRequest 色々なプラットフォームでRegexなど
の使い方を覚えるのは大変だと
思っているのは…私だけじゃないよね
13. FunScript
F# to JavaScript with type providers
ブラウザで.NET正規表現の使用例
14. FunScript
F# to JavaScript with type providers
F#の特徴
o 型プロバイダ!
o 測定単位
o コンピュテーション式
ここをクリックすると
素晴らしいビデオが
見れるよ(英語版)
15. FunScript
F# to JavaScript with type providers
さらにFunScript.HTML拡張を
使用する場合はあなたのF#/.NETスキル
を使ってHTML5ウェブアプリを作成
することかできます。
例えば…
16. FunScript
F# to JavaScript with type providers
リアクティブプログラミング(その1)
HTMLオブジェクトは
それぞれのIObservable
を生成する拡張プロパティ
があります
17. FunScript
F# to JavaScript with type providers
リアクティブプログラミング(その2)
カプセル化された状態
18. FunScript
F# to JavaScript with type providers
リアクティブプログラミング(その3)
DateTime
Stringフォーマット
この拡張メソッドは
簡単に他のプラット
フォーム向けにもできる
19. FunScript
F# to JavaScript with type providers
非同期ワークフロー(その1)
LINQ to SQLとWeb APIとクラインコードの間に型共有できます。
LINQとWeb APIとFunScriptは
つまらないマーシャリング
の仕事をやってくれる
20. FunScript
F# to JavaScript with type providers
非同期ワークフロー(その2)
非同期ワークフローで有限オートマトンを
表現できますからイベント処理も
より便利になります。
「制御の反転」のことを忘れて
自分のプログラムフロー
自分で制御しましょう!
21. FunScript
F# to JavaScript with type providers
非同期ワークフロー(その3)
フラッグはいらない!
22. FunScript
F# to JavaScript with type providers
JSイベント
処理が好き
な人はいる
だろうが
23. FunScript
F# to JavaScript with type providers
という訳でFunScriptとFunScript.HTML
を使用するメリットは:
o エラーを減る
o コードを再利用
でも一番大事なのは…
o スキルを再利用
24. FunScript
F# to JavaScript with type providers
これは素晴らしいが…
とても便利なJavaScriptライブラリが多いです。
それを利用することをやめるしかないですか?
違います!
FunScriptはNuGetを通じてTypeScriptリポジトリ
にあるすべて型定義のラッパーを提供しています。
26. FunScript
F# to JavaScript with type providers
FunScript.HTMLでは一つのJavaScript
MVCフレームワークとより
深い統合をしています:
Ractive.js
詳しくはホームページを
ご覧ください(英語版)
27. FunScript
F# to JavaScript with type providers
イベントと状態の更新も
非同期的に処理できる
カプセル化された状態
28. FunScript
F# to JavaScript with type providers
必要ならば簡単にFunScriptを
拡張することも可能です。
29. FunScript
F# to JavaScript with type providers
実際にF#からJSへもう一つの
コンパイラーがあります:
IntelliFactoryの開発したWebSharper。
FunScriptと違ってWebSharperは
フルスケールのウェブフレームワークです。
より詳しい比較が続きます。
30. FunScript
F# to JavaScript with type providers
FUNSCRIPT
機能
上記
WEBSHARPER
機能
すみませんが使用
したことはありません
サイトをご覧ください
マジかよ
31. FunScript
F# to JavaScript with type providers
そろそろ
SAYONARA
BABY
スピン語版でこういう風に言っていましたよ
32. FunScript
F# to JavaScript with type providers
FunScriptはZach Brayが作成した
プロジェクトです。F#のコミュニティ
からも貢献されています。
? Tomas Petricek
? Robert Pickering
? James Freiwirth
マーベル
ヒーローの
名前っぽく
ない?
詳細はfunscript.info
33. FunScript
F# to JavaScript with type providers
そして、プレゼンテーションは
こういう者が作成致しました:
Alfonso García-Caro
@alfonsogcnunez
github.com/alfonsogarciacaro
それでは…
FunScriptの
質問があり
ましたら
日本語でも
お気軽に
ご連絡
ください