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

FRPを使いはじめて3年が過ぎました。

 FRPを使いはじめて3年が過ぎました。

「第一回スタートアップiOS/Android勉強会」での発表資料

Adfa46c35fd59858d262497800c68df4?s=128

Ryoichi Izumita

October 03, 2016
Tweet

Transcript

  1. FRPΛ࢖͍͸͡Ίͯ3೥͕ ա͗·ͨ͠ɻ Lang-8 ࿨ઘా ྖҰ / @rizumita 2016/10/01

  2. ͜ͷൃද͸ݸਓͷײ૝Λݩʹ࡞੒͍ͯ͠·͢ɻޮՌɾޮೳΛҎԼུ ࣗݾ঺հ ▸ Lang-8ࣾͷiOSΞϓϦ։ൃ୲౰ ▸ ݴޠܥQ&AαʔϏεHiNative ▸ Objective-Cྺ: 20೥ ▸

    Swiftྺ: 2೥ ▸ iPhone3GS͔ΒiOSΞϓϦ։ൃ ▸ ௕໺ݝ҆ಶ໺ࢢͰϦϞʔτϫʔΫ
  3. ͯ͜͜͞Ͱ ຊ೔ͷԠԉϝοηʔδΛ ͝঺հ͠·͢ʂ

  4. None
  5. ͝ଘ஌Ͱ͢ΑͶɻ FRP / MVVMΛ͝ଘ஌Ͱ͔͢ʁ ▸ Functional Reactive Programming ▸ ؔ਺ܕϦΞΫςΟϒϓϩάϥϛϯά

    ▸ RxSwift / ReactiveCocoa ͳͲ ▸ FRPΛར༻ͨ͠Model View ViewModel - MVVM ▸ ࢲ͸2013೥͔Β࢖͍͸͡Ί·ͨ͠ɻ
  6. 2013/03/12

  7. ࢖͍͸͡ΊΔ ͱ…

  8. None
  9. Ͱ΋…

  10. ͲΜͳϥΠϒϥϦͰ΋কདྷͷෆ҆͸ແ͘ͳΒͳ͍Ͱ͢ΑͶ REACTIVECOCOA͸… ▸ ৽ݴޠɾ৽όʔδϣϯରԠʹ͕͔͔࣌ؒͬͨ ▸ ϝΠϯίϛολʔͷ׆ಈ௿Լͷ৺഑͕͋ͬͨ ▸ RxSwift͕ਓؾʹ

  11. ࣗ෼Ͱ͸ϝ ϯςͰ͖ͳ ͍ن໛ͷϥ ΠϒϥϦʹ શͯΛ೚ͤ ͯ΋େৎ෉ʁ

  12. 3೥΋࢖ͬͯΔͷʹ͍·ͩʹ࢖͍͜ͳ͍ͤͯΔײ͕͡͠·ͤΜɻ FRP͸… ▸ Functional Reactive ProgrammingͱReactive Programmingͷҧ ͍ɺ෼͔Γ·͔͢ʁࢲ͸෼͔Γ·ͤΜɻ ▸ Functionalʹ࣮૷Ͱ͖·͔͢ʁࢲ͸Ͱ͖·ͤΜɻ

    ▸ iOS SDKΒ͍͠هड़ͱ͸͔͚཭Ε͍ͯΔɻ ▸ FRPΛ࢖ͬͨઃܭ͸ϨΠϠʔؒΛFRPͰ઀ଓ͢Δํ͕๬·͍͠ɻ ▸ શͯͷϨΠϠʔͱϨΠϠʔؒͰFRPΛར༻͢Δͷ͸ґଘ͗͢͠Ͱ ͸ʁ
  13. ࣗ෼Ͱ͸ े෼ཧղ Ͱ͖ͳ͍ ֓೦ʹશͯ Λ೚ͤͯ΋ େৎ෉ʁ

  14. FRPͷར༻͸ ࠷খݶʹ͠Α͏… ݸਓͷײ૝Ͱ͢

  15. MVVMΛOOPͰߏ੒ͯ͠FRPͰܨ͙ͷͬͯFUNCTIONALͬͯݴ͑Δͷʁ MVVM͔ΒVIPER΁… ▸ FRPͷར༻Λ߇͑ΔͷͰಉ࣌ʹMVVM΋ར༻தࢭ ▸ ୅ΘΓʹVIPERΞʔΩςΫνϟΛ࠾༻ ▸ ΫϦʔϯΞʔΩςΫνϟͷҰछ ▸ PlainΦϒδΣΫτΛར༻͢Δ

    ▸ View / Interactor / Presenter / Entity / Router
  16. DIίϯςφ͸࢖ͬͯ·͢ VIPERͷར఺ ▸ ϥΠϒϥϦʹґଘ͠ͳ͍ ▸ DIΛར༻͢ΔͷͰςετ͕͠΍͍͢ ▸ ϨΠϠʔΛద੾ʹ෼ׂ͠΍͍͢ ▸ FRPͷελοΫτϨʔε͸Θ͚͕Θ͔Βͳ͍Α

  17. Segue͸ͲͷΞʔΩςΫνϟͰ΋૬ੑ͕ѱ͍ؾ͕͠·͕͢… VIPERͷܽ఺ ▸ Ϋϥε΍ϓϩτίϧ͕ଟ͘ͳΔ ▸ Segueͱͷ૬ੑ͕ѱ͍

  18. ͦΕͰ΋FRPΛ ར༻͠·͔͢…ʁ

  19. ·ͩ࢖ͬͯ·͢… ▸ طଘͷFRP+MVVMͳίʔυ ▸ APIΞΫηεͳͲͷෳࡶͳඇಉظॲཧ ▸ ͦΕ͚ͩͷͨΊʹFRPϥΠϒϥϦ͸େ͛͞ͳͷͰ PromiseKit౳Λݕ౼த

  20. ݸਓͷײ(ry ઃܭͷํ਑ͷ༏ઌॱҐ ▸ ୈҰʹiOS SDKΒ͍͠ઃܭ ▸ ࣍ʹSwiftΒ͍͠ઃܭ ▸ ʢFRPΛ࢖͏৔߹͸ʣFRPΒ͍͠ઃܭ

  21. Ͱɺ ͦΕͰ΋͕ͬͭΓFRPΛ ࢖͏Αʂͱ͍͏ํ΁ʂ

  22. ݸਓͷײ૝Ͱ͢ɻ ▸ FRPΛ࢖͏ͳΒେ఍͸MVVMͰ͸ͳ͘MVCͰे෼Ͱ͸ʁ ▸ DIΛ૊Έ߹ΘͤΔͱςετ͠΍͘͢ͳΔɻ ▸ ؔ਺ܕϓϩάϥϛϯάత(ࢀরಁաੑɾΧϦʔԽɾؔ਺߹੒) ͳ࣮૷Λߦ͍ɺΫϩʔδϟΛ౉ͨ͘͠ͳͬͨΒؔ਺ԽΛݕ౼ ͢Δͱྑ͍͜ͱ͕ଟ͍ɻSwiftz(Swiftx)ΛҰॹʹ࢖͏ͱศརɻ ▸

    RxSwiftͰॻ͍ͯΈͨˠ https://github.com/rizumita/Tasks ▸ Ͱ΋Hot / Cold΍ΤϥʔλΠϓΛ໌ࣔͰ͖ΔReactiveCocoa ͕Φεεϝɻಛʹن໛͕େ͖͘ෳ਺ਓͰ։ൃ͢Δ৔߹͸ɻ
  23. ཁ͢Δʹ…

  24. FRP ͍͍ΑͶʂ ָ͍͠ΑͶʂ

  25. None
  26. ͝੩ௌ͋Γ͕ ͱ͏͟͝

  27. ͋ɺͪΐͬͱ͓ ͍࣌ؒͩ͘͞…

  28. iOSアプリプログラマーを募 集してます。一緒に働きま せんか? גࣜձࣾLang-8 ςΩετ

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