Slide 1

Slide 1 text

Ҋ݅ʹvaporΛ࠾༻ͨ͠ ॴײ omochimetaru @ 1

Slide 2

Slide 2 text

ࣗݾ঺հ omochimetaru झຯ: SwiftίϯύΠϥ גࣜձࣾQoncept http://qoncept.co.jp ө૾ղੳ, ΞϓϦ։ൃͳͲ 2

Slide 3

Slide 3 text

ࣗݾ঺հ swift-developers-japan @ Discord https://medium.com/swift-column/discord-ios-20d586e373c0 [06/11] ͓ཹक൪Ͱ΋͍͍͚ͭͯΔ΋ΜʂWWDCΰϦΰϦΩϟ ονΞοϓձ https://connpass.com/event/89868/ [06/22] Θ͍Θ͍swiftc #3 https://iosdiscord.connpass.com/event/87509/ 3

Slide 4

Slide 4 text

डୗͷΞϓϦҊ݅ iOSΞϓϦ + APIαʔό + ؅ཧ༻CMS ن໛͸খ͞Ί 4

Slide 5

Slide 5 text

ಥ؏εέδϡʔϧ αʔόαΠυΛPHPͰ֎஫ Ұஈམ 5

Slide 6

Slide 6 text

APIαʔόΛSwift/VaporͰ಺੡ php࣮૷Λஔ͖׵͑ͨɻ ࠓ೔ͷ࿩ • vapor3ܥϕʔλ • ಉ྅ͷ @t-ae ͱڞಉͰ࡞ۀ • αʔό׬੒, ΫϥΠΞϯτ੾Γସ͑த 6

Slide 7

Slide 7 text

ߏ੒ docker-compose • nginx(SSL) • mysql • php(api + cms) • phpMyAdmin • vapor Πϝʔδ͸ެࣜखॱͰ 7

Slide 8

Slide 8 text

։ൃ XcodeͰ࣮ߦ DB͸sshϙʔτϑΥϫʔυͯ͠ςεταʔόΛซ༻ 8

Slide 9

Slide 9 text

ίʔυͷڞ༗ • piyo-common: ڞ௨෦෼ύοέʔδ CarthageͱSwiftPM • piyo-iOS: iOS import PiyoCommon • piyo-vapor: vapor import PiyoCommon 9

Slide 10

Slide 10 text

ಛʹAPI ݩʑͷ࣮૷ public struct APIMeGetRequest: APIRequestProtocol, Encodable {} αʔόʔଆͰ͸DecodableΛ௥Ճ extension APIMeGetRequest: Decodable {} γϦΞϥΠζ͸CodableʹҰ೚ͯ҆͠ఆ 10

Slide 11

Slide 11 text

API ϋϯυϥ΋௥Ճͯ͠Routerʹొ࿥ public protocol APIRequestHandler: APIRequestProtocol { static func handle(request: Request) throws -> Future } ͜ͷลͷαϯϓϧ https://github.com/t-ae/vapor-api-example 11

Slide 12

Slide 12 text

Ϟσϧͱ͔ϢʔςΟϦςΟ΋ڞ༗ Ұ෦ͷܕ͕ͳ͍ͷͰ෼ذͯࣗ͠࡞ #if Vapor public struct GLKVector2 { public var x: Float public var y: Float public init(_ x: Float, _ y: Float) { self.x = x self.y = y } } #endif 12

Slide 13

Slide 13 text

Xcode։ൃ vapor಺෦࣮૷͕ͲΜͲΜ௥͑Δ σόοΨͰࢭΊΕ͹εϨουϋϯυϦϯά΋Θ͔Δ SwiftPMͰνΣοΫΞ΢τ͞ΕͯΔͷͰͦͷ৔Ͱมߋ΋Մೳ 13

Slide 14

Slide 14 text

Future ඇಉظͰૣͦ͏(ະܭଌ) Swiftͷܕࢧԉ͕͋ΔͷͰॻ͖΍͍͢ async/awaitָ͠Έ https://forums.swift.org/t/concurrency-async-await-actors/6499 14

Slide 15

Slide 15 text

ࠔͬͨ͜ͱ • ֆจࣈ(utf8mb4)ରԠ https://github.com/vapor/mysql/pull/159 • ϩʔΧϧλΠϜ, λΠϜκʔϯରԠ https://github.com/vapor/fluent/issues/464 • RowܕࢦఆͰͷSELECT https://github.com/vapor/fluent/issues/363 15

Slide 16

Slide 16 text

ࠔͬͨ͜ͱ • Ϗϧυ࣌ͷ؀ڥݕग़ https://github.com/vapor/vapor/issues/1701 • Connection: close ϋϯυϦϯά vs file_get_contents (ௐࠪத) • Linuxϓϩηεͷσόοά (ͦΕͰ΋LLDBͳΒɾɾɾ) 16

Slide 17

Slide 17 text

ࠔͬͨ͜ͱ ඞཁͳͱ͜Ζ͸ϑΥʔΫͯ͠ରԠ 17

Slide 18

Slide 18 text

·ͱΊ ΊͬͪΌ͍͍ υΩϡϝϯτ͕ͳͯ͘΋ιʔε͕ಡΊΕ͹͍͍ ໰୊΋ଟ͍ɺίϯτϦϏϡʔλ૿͑ͯ΄͍͠ 18