Slide 1

Slide 1 text

։ൃΛՃ଎͢Δ ڞ༗4XJGU1BDLBHF࣮ફ J04%$+BQBOEBZ5SBDL% FMNFUBM$ZCP[V *OD JPTEDE

Slide 2

Slide 2 text

"CPVUNF J04"QQ %FWFMPQFS ڝഅ ରઓήʔϜ ҭࣇ ෳ਺νʔϜͷ ٕज़ࢧԉ JPTEDE !FM@NFUBM@

Slide 3

Slide 3 text

αΠϘ΢ζʹ͍ͭͯ JPTEDE

Slide 4

Slide 4 text

νʔϜϫʔΫ͋;ΕΔ ࣾձΛ૑Δ JPTEDE

Slide 5

Slide 5 text

αΠϘ΢ζʹ͍ͭͯ J04ΞϓϦ (BSPPO αΠϘ΢ζ0 ff i DF LJOUPOF αΠϘ΢ζͰ͸ෳ਺ͷϓϩμΫτΛ։ൃ͍ͯ͠·͢ JPTEDE

Slide 6

Slide 6 text

ಋೖ JPTEDE

Slide 7

Slide 7 text

ڞ༗4XJGU1BDLBHF࣮ફ ಋೖ (BSPPO αΠϘ΢ζ0 ff i DF LJOUPOF 􀇿 (BSPPO αΠϘ΢ζ0 ff i DF LJOUPOF ڞ༗1BDLBHF JPTEDE

Slide 8

Slide 8 text

ڞ༗4XJGU1BDLBHF࣮ફ τʔΫͷྲྀΕ 􀇿 ڞ༗1BDLBHF։ൃͷܦҢ ڞ༗1BDLBHF։ൃମ੍ɾϓϩηε ࣮૷Ͱେࣄʹͨ͠ϙΠϯτ ڞ༗1BDLBHFͷಋೖޮՌ JPTEDE

Slide 9

Slide 9 text

ڞ༗1BDLBHF։ൃͷܦҢ JPTEDE

Slide 10

Slide 10 text

(BSPPO ίϯςΩετ ։ൃ։࢝࣌ظ αΠϘ΢ζ0 ff i DF LJOUPOF JPTEDE

Slide 11

Slide 11 text

(BSPPO ίϯςΩετ ڞ༗1BDLBHF։ൃ։࢝࣌఺Ͱͷར༻ٕज़ αΠϘ΢ζ0 ff i DF LJOUPOF 3Y4XJGU 6*,JU 4XJGU6* 4XJGU6* 5$" JPTEDE

Slide 12

Slide 12 text

(BSPPO ίϯςΩετ ར༻ٕज़΍։ൃ։࢝࣌ظͷࠩҟ͔Βڞ௨෦෼΋ͦΕͧΕͰ࠶࣮૷ αΠϘ΢ζ0 ff i DF LJOUPOF ڞ௨෦෼ ࠶࣮૷ ࠶࣮૷ ࠶࣮૷ JPTEDE

Slide 13

Slide 13 text

(BSPPO ίϯςΩετ ࠶࣮૷ͷίετ αΠϘ΢ζ0 ff i DF LJOUPOF ࠶࣮૷ίετ ࠶࣮૷ίετ ࠶࣮૷ίετ JPTEDE

Slide 14

Slide 14 text

Ҏલͷ࣮૷Λࢀߟʹ࠶࣮૷ ࣮૷͕ࢄҳ αΠϘ΢ζ 0 ffi DF LJOUPOF ࣮૷L ࣮૷0 (BSPPO ࣮૷( JPTEDE

Slide 15

Slide 15 text

(BSPPO Ҏલͷ࣮૷Λࢀߟʹ࠶࣮૷ ෛ࠴͕֦ࢄ αΠϘ΢ζ 0 ffi DF LJOUPOF ෛ࠴ ෛ࠴ ෛ࠴ ࣮૷L ࣮૷0 ࣮૷( JPTEDE

Slide 16

Slide 16 text

Ҏલͷ࣮૷Λࢀߟʹ࠶࣮૷ ٕज़ελοΫͷΞϯϚον αΠϘ΢ζ 0 ffi DF LJOUPOF 3Y4XJGU 6*,JU 4XJGU6* 4XJGU6* 5$" (BSPPO JPTEDE

Slide 17

Slide 17 text

ෳ਺छྨͷෛ࠴ ίʔυཧղΛ્֐ αΠϘ΢ζ 0 ffi DF LJOUPOF ෛ࠴ ෛ࠴ ࣮૷L ࣮૷0 JPTEDE

Slide 18

Slide 18 text

ڞ༗1BDLBHF։ൃܾఆ ڞ༗1BDLBHFͰಉ࣌ʹղܾΛਤΔ ࣮૷ͷࢄҳ ࠶࣮૷ίετ ίʔυཧղ્֐ ղܾ ڞ༗1BDLBHF ෛ࠴ͷ֦ࢄ ղܾ ղܾ ղܾ JPTEDE

Slide 19

Slide 19 text

ڞ༗1BDLBHF։ൃମ੍ɾϓϩηε JPTEDE

Slide 20

Slide 20 text

*OOFS4PVSDFϓϥΫςΟεΛ׆༻͢Δ ڞ༗1BDLBHFͷ։ൃӡ༻ํ਑ JPTEDE

Slide 21

Slide 21 text

ڞ༗1BDLBHFͷ։ൃӡ༻ํ਑ *OOFS4PVSDFͷఆٛ ૊৫ͱ͍͏ݶΒΕͨ؀ڥʹ͓͍ͯɺιϑτ΢ΣΞ։ൃʹ ͓͚ΔΦʔϓϯιʔεͷݪଇͱϓϥΫςΟεΛ׆༻͢Δ͜ͱ *OOFS4PVSDF$PNNPOT JPTEDE

Slide 22

Slide 22 text

։ൃମ੍ ֓ཁ 0XOFS $POUSJCVUPS $POUSJCVUPS 6TFS 6TFS JPTEDE

Slide 23

Slide 23 text

։ൃମ੍ ֤ϩʔϧͷ׆ಈ 0XOFS $POUSJCVUPS 6TFS w 7FSΛ࡞Δ w ։ൃΛओಋ͢Δ w ҙࢥܾఆ͢Δ w *TTVFΛཱͯΔ w QBUDIΛॻ͘ w %JTDVTTJPOʹࢀՃ͢Δ w 1BDLBHFΛར༻͢Δ JPTEDE

Slide 24

Slide 24 text

ڞ༗1BDLBHFͷӡ༻ *OOFS4PVSDFϓϥΫςΟεͷ׆༻ ڞ༗1BDLBHF 1VMM3FRVFTU *TTVF 3FQPTJUPSZ JPTEDE

Slide 25

Slide 25 text

ڞ༗1BDLBHFͷӡ༻ มߋͷऔΓࠐΈ αΠϘ΢ζ0 ff i DF LJOUPOF -BUFTU ڞ༗1BDLBHF EJ f EJ f EJ f JPTEDE

Slide 26

Slide 26 text

ڞ༗1BDLBHFͷಋೖࢧԉ .PC1SPHSBNNJOHͷ׆༻ /BWJHBUPS 0XOFS %SJWFS 6TFS /BWJHBUPS $POUSJCVUPS 6TFS .PC1SPHSBNNJOH JPTEDE

Slide 27

Slide 27 text

ٕज़తҙࢥܾఆϓϩηε "SDIJUFDUVSF%FDJTJPO3FDPSE "%3 Ͱٞ࿦ (JU)VC%JTDVTTJPOTΛར༻ ෳ਺ͷબ୒ࢶΛൺֱ 8IZͱڞʹܾఆΛهࡌ JPTEDE

Slide 28

Slide 28 text

ٕज़తҙࢥܾఆϓϩηε "SDIJUFDUVSF%FDJTJPO3FDPSEͰٞ࿦ ఏҊ ࡞੒ ঝೝ 0XOFS $POUSJCVUPS 0XOFS 3FWJFX JPTEDE

Slide 29

Slide 29 text

࣮૷Ͱେࣄʹͨ͠ϙΠϯτ JPTEDE

Slide 30

Slide 30 text

ڞ༗1BDLBHFͰୡ੒͍ͨ͜͠ͱ ੒Ռͷεέʔϧ JPTEDE

Slide 31

Slide 31 text

ࣾ಺ϥΠϒϥϦͷ੍໿ ೖࣾޙͰͳ͍ͱΞΫηεͰ͖ͳ͍ ڞ༗1BDLBHF JPTEDE

Slide 32

Slide 32 text

࣮૷Ͱେࣄʹͨ͠ϙΠϯτ ੍໿Λ࡟ݮ͠εέʔϧΛॿ͚ΔͨΊʹ 4XJGU6*ʹೃછΉ"1* ߴ͍UFTUBCJMJUZ υΩϡϝϯτͷపఈ JPTEDE

Slide 33

Slide 33 text

ڞ༗1BDLBHF 4XJGU6*ʹೃછΉ"1* ΤίγεςϜͱ౷߹͞Εͨ"1*Λͭ͘Δ 4XJGU6* 4XJGUFDPTZTUFN JPTEDE

Slide 34

Slide 34 text

4XJGU6*ʹೃછΉ"1* ΤίγεςϜͱ౷߹͞Εͨ"1*Λͭ͘Δ struct ContentView: View { var body: some View { WebViewReader { proxy in WebView() .onAppear { proxy.load(request: URLRequest(url: URL(string: "https://www.example.com")!)) } } .padding() } } WebUI is a Swift package that provides WKWebView wrapped by SwiftUI. WebUI JPTEDE

Slide 35

Slide 35 text

4XJGU6*ʹೃછΉ"1* ΤίγεςϜͱ౷߹͞Εͨ"1*Λͭ͘Δ https://github.com/cybozu/WebUI WebUI is a Swift package that provides WKWebView wrapped by SwiftUI. WebUI JPTEDE

Slide 36

Slide 36 text

ߴ͍UFTUBCJMJUZ ҆৺ɾ҆શͳίϯτϦϏϡʔτ ҆৺ ڞ༗1BDLBHF 1VMM3FRVFTU ҆શ JPTEDE

Slide 37

Slide 37 text

ߴ͍UFTUBCJMJUZ όά΋εέʔϧ͢Δ αΠϘ΢ζ0 ff i DF LJOUPOF ڞ༗1BDLBHF #VH #VH #VH JPTEDE

Slide 38

Slide 38 text

υΩϡϝϯτͷపఈ υΩϡϝϯτΛ௨ͯ͡ର࿩͢Δ %PD$ ڞ༗1BDLBHF %FWFMPQFS 6TFS JPTEDE

Slide 39

Slide 39 text

ڞ༗1BDLBHFͷಋೖޮՌ JPTEDE

Slide 40

Slide 40 text

ڞ༗1BDLBHFͷಋೖޮՌ ίʔυ੔ཧ ϩδοΫͷ44P5 ஔ͖׵͑ͷՃ଎ ΞϓϦίʔυͷ඼࣭޲্ JPTEDE

Slide 41

Slide 41 text

ίʔυ੔ཧ ΞϓϦίʔυͷେ෯࡟ݮ JPTEDE

Slide 42

Slide 42 text

ίʔυ੔ཧ ίʔυߏ଄ͷ໰୊Λղফ ෛ࠴ͷղফ ґଘάϥϑͷ੔ཧ ίʔυ੔ཧ JPTEDE

Slide 43

Slide 43 text

ஔ͖׵͑ͷՃ଎ ୤3Y4XJGU4XJGU6*Ҡߦ LJOUPOF 3Y4XJGU 6*,JU .PEVMF" 3Y4XJGU 6*,JU .PEVMF# LJOUPOF 1BDLBHF" 1BDLBHF$ 1BDLBHF# 4XJGU6* JPTEDE

Slide 44

Slide 44 text

ϩδοΫͷ4JOHMF4PVSDFPG5SVUI ϩδοΫͷ҆શͳ࠶ར༻ αΠϘ΢ζ0 ff i DF LJOUPOF ར༻ ར༻ ڞ༗1BDLBHF 44P5 JPTEDE

Slide 45

Slide 45 text

ΞϓϦίʔυͷ඼࣭޲্ ࣮ྫͷఏࣔʹΑΔ҉໧஌ͷ఻ୡ ܗ͕ఏࣔ͞ΕΔͱந৅Խͷ౸ୡ఺͕఻ΘΔ ϐΧιʮڇʯ JPTEDE

Slide 46

Slide 46 text

4VNNBSZ JPTEDE

Slide 47

Slide 47 text

4VNNBSZ ڞ༗1BDLBHFͰ՝୊ղܾ "1*XJUI8IPMFOFTT 5FTUBCJMJUZ %PDVNFOU ։ൃͰॏࢹͨ͠ཁૉ *OOFS4PVSDFϓϥΫςΟεͷ׆༻ JPTEDE

Slide 48

Slide 48 text

2" JPTEDE

Slide 49

Slide 49 text

͋Γ͕ͱ͏͍͟͝·ͨ͠ JPTEDE