Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ドラクエとFFで学ぶRxSwiftのすすめ

 ドラクエとFFで学ぶRxSwiftのすすめ

RxSwiftについて、ドラクエとFFにたとえて楽しく説明しました。

More Decks by 柿本匡章 Masaaki Kakimoto@kara_mage

Other Decks in Programming

Transcript

  1. υϥΫΤͱFFͰֶͿ RxSwiftͷ͢͢Ί ͔Β·͛ˏ͏·͏·ͩΑ΋Μ

  2. RxSwift͸͍͍ͧɻ

  3. ࣗݾ঺հ ໊લɹ֟ຊڡষˏ͔Β·͛ ৬ۀɹϑϦʔϥϯεɾΤϯδχΞ WebΞϓϦ΍iOSΞϓϦΛ࡞Δ࢓ࣄΛ͍ͯ͠·͢ɻ ग़਎஍ɹ෱Ԭ Swift, Ruby,JS, AWS Lambda https://www.facebook.com/karamage.umauma

  4. ࣗ༝ͳελΠϧͰ࢓ࣄͯ͠·͢ ΋;΋;͠ͳ͕Βϓϩάϥϛϯά

  5. ࢓ࣄͰɺ৽͍͠೔ఔௐ੔πʔϧ࡞Γ·ͨ͠ʂ http://www.zigenchosei.com ϫʔϧυϏδωεαςϥΠτͷ τϨͨ·Ͱ঺հ͞Ε·ͨ͠

  6. “Rx” ϦΞΫςΟϒϓϩάϥϛϯά ͯ͠·͔͢ʁ

  7. ෳࡶͳঢ়ଶ෼ذ ॻ͍ͯ·ͤΜ͔ʁ

  8. RxSwift͸ SwiftͰRx (ϦΞΫςΟϒϓϩάϥϛϯά) ͢ΔͨΊͷϥΠϒϥϦ

  9. Rx͸ITઓ࢜Λٹ͏ͷ͔?

  10. RxSwiftΛ͢͢ΊΔཧ༝ ɾ࣮ࡍʹ࢓ࣄͰ࢖ͬͯΈͯɺര଎Ͱ։ൃͰ͖ ͨ ɾόά͕ۃ୺ʹݮͬͨ ɾ͋ͨΒ͍ٕ͠ज़Λ·ͳͿͷָ͕͍͠

  11. RxSwiftͱ͸ʁ ɾRxͳSwift ɾRxͱ͸”Reactive Extensions” ɾΦϒδΣΫτࢦ޲ΛϦΞΫςΟϒʹ֦ு ɾRxͱ͸ɺඇಉظॲཧΛએݴతʹهड़Ͱ͖ΔϥΠϒϥϦͷ ͜ͱ

  12. ϦΞΫςΟϒϓϩάϥϛϯά ैདྷͷखଓ͖ܕϓϩάϥϛϯάͱ Ͳ͏ҧ͏ͷʁ

  13. υϥΫΤͱFFͷҧ͍ ίϚϯυܕઓಆ(υϥΫΤ) VS ΞΫςΟϒλΠϜότϧ(FF)

  14. खଓ͖ܕϓϩάϥϛϯά ɾίϚϯυΛೖྗ ɾλʔϯΛ࣮ߦ ɾຯํͱఢ͕ಈ࡞͢Δ ɾ࣍ͷλʔϯͷίϚϯυೖྗ

  15. ϦΞΫςΟϒϓϩάϥϛϯά ɾλʔϯ͕ଘࡏ͠ͳ͍ ɾ࣌ؒ(ඇಉظͳϑϩʔ)͕ྲྀΕ͍ͯΔ ɾήʔδ͕ຬλϯʹͳΔͱͦͷΩϟϥ͕ߦಈ

  16. ͳͥ”Rx”͕ඞཁͳͷ͔? ɾiOSΞϓϦΛ࡞͍ͬͯΔͱɺ ɾUI ɾσʔλͷঢ়ଶ ɾඇಉظॲཧ ͕ෳࡶʹ͔ΒΈ͍͖͋ͬͯ·͢

  17. ඇಉظʹAPIୟ͘ܥͷॲཧ ɾAPI͔ΒσʔλΛऔ͖ͬͯͯɺ ඇಉظʹԿ͔͢ΔܥͷΞϓϦ͸ɺ ίʔυ͕ෳࡶʹͳΓ͕ͪ

  18. ྫ͑͹ ɾϘλϯॳظঢ়ଶඇ׆ੑ ɾςΩετϘοΫεʹͳΜ͔ೖྗ ɾϘλϯ׆ੑԽ ɾϘλϯΛ͓ͨ͠Β ɾϘλϯΛඇ׆ੑʹͯ͠ ɾඇಉظʹAPI 1, API2Λୟ͘ ɾAPI1ͱAPI2྆ํΛ଴ͪ߹Θ͔ͤͯ͠ΒϨεϙϯεσʔλΛςʔϒϧϏϡʔʹදࣔ

    ɾϨεϙϯεσʔλΛݩʹAPI 2ΛඇಉظͰୟ͘ ɾAPI2 ͷϨεϙϯεσʔλΛ͝ʹΐ͝ʹΐ ɾλΠϚʔ͕ൃಈ ɾXඵ͓͖ʹAPI 3Λୟ͘ ɾAPI3 ʹϨεϙϯεσʔλ͕͋Δͱ͖ɺUIͷ௨஌ཝʹදࣔ ɾϘλϯ׆ੑԽ(ͨͩ͠ࡾճ·Ͱ͔͠ԡͤͳ͍)
  19. “͸ͳ͢”͚ͩͳͷʹ৚݅෼ذ ͱ͔ɺ͋Γ͑ͳ͍ʂ

  20. “ηʔϒ”͚ͩͳͷʹ ̔ճೖྗͱ͔ɺ͋Γ͑ͳ͍ʂ

  21. ෼ذ͕ෳࡶʹͳΔͱ σόοά΋େม

  22. Θ͔ΒΜɺϝϯςෆೳ ɾঢ়ଶ͕ෳࡶԽ ifจ෼ذ ஍ࠈ ɾΠϕϯτͷίʔϧόοΫ ஍ࠈ

  23. None
  24. None
  25. RxSwiftͳΒ ඇಉظϑϩʔΛ؆ܿʹ੍ޚ ɾඇಉظॲཧΛͯ͠ɺσʔλͷঢ়ଶʹଈͯ͠ UIʹ൓ө͢Δॲཧ͸ɺෳࡶʹͳΓ͕ͪ ɾRxSwiftͰඇಉظॲཧΛUIʹ൓ө͢ΔॲཧΛ ͔ΜͨΜʹॻ͖·͠ΐ͏ʂ

  26. ೋͭҎ্ͷ)551ϦΫΤετΛ଴ͪड͚Δ MFUJOU0C1VCMJTI4VCKFDU4USJOH  MFUJOU0C1VCMJTI4VCKFDU*OU  @0CTFSWBCMFDPNCJOF-BUFTU JOU0C JOU0C \ a

     a   ^ TVCTDSJCF\ QSJOU   ^
  27. APIඇಉظॲཧͷ ࡾछͷਆث ɾRxSwift ɾAlamofire ɾRealm+ObjectMapper

  28. [Swift] RxSwift + Alamofire + ObjectMapper + Realm ͷجຊతͳ࢖͍ํ http://qiita.com/syou007/items/

    60e84366a97ee28757bc
  29. ͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠