Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

What is reactive programming?

7 400 vues

Publié le

2016/02/17開催の
Sendai.swift 第一回 Reactive Programming in Swiftの資料です。

Publié dans : Technologie
  • DOWNLOAD FULL MOVIE, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... ,DOWNLOAD FULL. MOVIE 4K,FHD,HD,480P here { https://tinyurl.com/yybdfxwh }
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici

What is reactive programming?

  1. 1. What is
 Reactive Programming? 2016/02/17 Sendai.swift 第一回 Reactive Programming in Swift 田中賢治
  2. 2. • 田中賢治(22) • Swift/Objective-C • iOS開発もうちょっとで4年目 • Qiita/GitHub/Twitter/etc…
 (@ktanaka117) • ブログ「田中、仙台に生きる」 自己紹介
  3. 3. 最近ハマってるもの ハッカーとかエンジェル投資家とか、サイバー犯罪とか。
 技術的に深くて楽しい。坂井さんが人間味あって味わい深い。萌え。
  4. 4. What’s “Reactive”? • 最近話題のReactive Programming • Functional Reactive Programming(FRP)とかもあ るけれど、定義としては別物かな? • いろいろ読んだところ、考え方は交錯している 印象。要素はそれぞれ取り入れられている
  5. 5. What’s “Reactive”? “Reactive”とは?
  6. 6. What’s “Reactive”? reactive / riˈæktɪv / 【noun】反応性 【adjective】反応的な
  7. 7. What’s “Reactive”? reactive / riˈæktɪv / 【noun】反応性 【adjective】反応的な
  8. 8. What’s “Reactive”? “反応”
  9. 9. Reactive Manifesto • Responsive • Resilient • Elastic • Message Driven リアクティブなアプリケーションに関する重要な4つの要素
  10. 10. Reactive Manifesto • Responsive • Resilient • Elastic • Message Driven
  11. 11. Responsive: 即応性 • リアルタイムな更新処理 • Web Socketなどによって実現 • モバイルだとUIの描画処理など • エンドユーザーに素早くレスポンスを与える
  12. 12. • 「ふぁぼ」 • 「Google Docs」 • 検索条件の絞り込みなど Responsive: 即応性
  13. 13. Responsive: 即応性 Twitterのふぁぼ クライアントのUI描画はまず先に
 行われる。 その後サーバーと通信し、
 リクエストが失敗したらふぁぼは
 取り消される。
  14. 14. Responsive: 即応性 Google Docs 複数人でのテキストの同時編集。
 各クライアントでテキスト入力は
 スムーズに行われ、他のクライアント
 とは都度同期が取られていく。
  15. 15. 良いUXが求められる世の中 Responsive: 即応性
  16. 16. Reactive Manifesto • Responsive • Resilient • Elastic • Message Driven
  17. 17. Resilient: 耐障害性 • 障害に直面しても即応性を失わない • コンポーネントの切り分け
 クライアントとサーバーの境目など • サーバーにおいては冗長化なども含む
  18. 18. Resilient: 耐障害性 ServerClient UserAction, Request Response
  19. 19. Resilient: 耐障害性 Server _人人人人人人_ > 突然の死 <  ̄Y^Y^Y^Y^Y ̄ Client Response UserAction, Request
  20. 20. Resilient: 耐障害性 Server _人人人人人人_ > 突然の死 <  ̄Y^Y^Y^Y^Y ̄ Client UserAction Response ・クライアントのみでも正しく動くように見せる
 ・行なわれた処理はクライアントに保持し、障害
  回復時に同期処理する、など コンポーネントがクライアントとサーバーで
 切り分けられた状態
  21. 21. Resilient: 耐障害性 良いUXが求められる世の中
  22. 22. Reactive Manifesto • Responsive • Resilient • Elastic • Message Driven
  23. 23. Elastic: 弾力性 • ワークロードが変化しても即応性を保つ • サーバーのオートスケール
  24. 24. Reactive Manifesto • Responsive • Resilient • Elastic • Message Driven
  25. 25. Message Driven: メッセージ駆動 • Observerパターン
 (KVOとか) • 送信者と受信者がそれぞれ独立したライフサイク ルを持つ。非同期にやりとりを行う
 =リソースの有効活用
  26. 26. 即応性
  27. 27. 即応性 これを根底に置く考えがReactiveの哲学であり、
 様々な実装方法、手法、アプローチが行われる。
 
 Functional Reactive Programmingとは、
 これを関数型プログラミング的に実装していく
 Reactive Programmingの一つのアプローチである。

×