LoginSignup
123
115

More than 5 years have passed since last update.

関数型リアクティブプログラミングにさよならを

Last updated at Posted at 2016-05-14

Evan A Farewell to FRP
Elm

Elm


ElmWebElmElm沿ElmReduxElmJavaScriptWebSocketElm使GlaphQLGeolocation
Elm0.170.17subscriptionssubscriptionssubscriptionWebSocket

Elm使subscriptionElmSignal1Elm使__ Signal__2


(一)  95%

(二) Signal SignalElm


ElmElmElmElm
Elm 0.17に含まれるその他の機能。

・ より速いHTMLレンダリング(数値はまもなく公開されます。)
・ Geolocation、ページ可視性、Web socketsのライブラリ
・ 生成されるJSが小さくなり、GoogleのClosure Compilerで動くようになりました。
・ 生成されるJSがRequireJSやCommonJSに対応。
・ GraphQLやElixir、Phoenixの代わりとなる機能。
・ 改善されたドキュメント。
・ JSONファイルのデコード失敗時の役立つメッセージ。

subscriptionとは何か?


subscriptionWebSocket
subscriptionsubscriptionSVG

()

SVGElm沿Elm0.17
subscriptions : Model -> Sub Msg
subscriptions model =
  Time.every second Tick

ModelsubscriptionTime.everysubscriptionsubscriptionHTTPupdate

subscriptionElm 

WebSocket




()

WebSocket
WebSocket.send "ws://echo.websocket.org" input
WebSocket.listen "ws://echo.websocket.org" NewMessage

12subscriptionsendlisten"hi"NewMessage "hi"update

sendlistenJavaScript2


API使  WebSocketonerrorexponential backoffsendWebSocket

JS使  API使2000


ElmWebSocket


subscriptionElmElmAn Introduction to ElmElmsubscription
ElmAn Introduction to ElmElm0.17ElmElmports

SlackElm


ElmraicasterElmElmElm
Elm

2011(FRP)SignalElm

ElmSignal1ElmElm

ElmSignalElmstart-app使Signalstart-appSignalElmSignalElm 0.17

SignalElm調Elm0.150.15Elm0.17ErlangElixir使BEAM VMProcesseffect managerseffect managerssubscriptionElmConcurrent FRP

ElmElmElm
123
115
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

123
115