elm overview

25
Overview 2014-06-08 天下一altJS武闘会 @dsuket

Upload: dsuke-takaoka

Post on 28-May-2015

10.653 views

Category:

Technology


1 download

DESCRIPTION

天下一altJS武闘会 のElmの資料です

TRANSCRIPT

Page 1: Elm overview

Overview2014-06-08

天下一altJS武闘会 @dsuket

Page 2: Elm overview

about me@dsuket Works

フリーランスエンジニア 開発、技術支援、執筆、講演、etc

Community

AITC運営委員, CCエバンジェリストJapan Sencha UG

@dsuketdsuket

コラムはじめました

Page 3: Elm overview

http://elm-lang.org/

elm 知ってますか?

Page 4: Elm overview

文法とか言語の 細かい話はしません

Page 5: Elm overview

Elm ここがすごい

(小並感)

Page 6: Elm overview

1. 関数型言語が すごい!

Page 7: Elm overview

Functional!!

Page 8: Elm overview

Haskell + OCaml + F#+ Agda + SML

関数型言語のいいとこ取り!

Page 9: Elm overview

コードサンプル

Page 10: Elm overview

関数言語界の恐い人が多いので詳細は割愛

Haskell+独自記法で混乱! 学習コスト高!

Page 11: Elm overview

2. FRP が すごい !!

Page 12: Elm overview

FRPFunctional Reactive Programming

Page 13: Elm overview

ユーザー入力など、時間をかけてダイナミックに変

化する値は、複数のEvent Stream(連続的な時間

とデータのペア)によって合成されたBehavior関

数で扱い、刻々と変化する値を宣言的に表す。

FRPとは

参考: Webフロントエンドでリアクティブプログラミング

Page 14: Elm overview
Page 15: Elm overview

Sample

http://elm-lang.org/edit/examples/Reactive/Position.elm

Page 16: Elm overview

独自言語の上にFRPとかあって、学習コスト激高!!

→ 面白い!

Page 17: Elm overview

3. Platform が すごい!!!

Page 18: Elm overview

Elm Platformelm:コンパイラ

elm-server: サーバー (not Server Side)

elm-repl: 対話型IF

elm-get: パッケージ管理

Page 19: Elm overview

4. Play Ground が すごい!!!!

Page 20: Elm overview

http://elm-lang.org/edit/examples/Intermediate/Mario.elm

Hot Swap &

Auto-update

Page 21: Elm overview

5. Debugger が すごい!!!!!

Page 22: Elm overview

http://debug.elm-lang.org/edit/Mario.elm

Page 23: Elm overview

残念な点• 学習コスト激高Haskell Likeでさえ取っつきにくいのに、RFP+独自言語ってどんだけ、、、日本語情報ほとんどない

• 既存資産(JS)が活かせない 一応外部JSと連携する仕組みあるけどシームレスじゃ無い

• コンパイラがちょっとね。。 watchして変更したファイルだけコンパイルとかしたい

• 遅延評価がないHaskellベースだと思うと残念

Page 24: Elm overview

ちょっと翻訳はじめてみたhttps://github.com/dsuket/elm-lang.org

Page 25: Elm overview

Let's Enjoy!