Slide 1

Slide 1 text

ϋΠϒϦουΞϓϦ։ൃͷ͞ΘΓ 2019/01/18 ϦϏϧυ։ൃ߹॓LT ʂ େ௩ਅݴ @mametra

Slide 2

Slide 2 text

͜Μʹͪ͸ʂ େ௩ɹਅݴ ͓͓͔ͭɹ ɹɹɹ·͜ͱ ͱਃ͠·͢ɻ ໊͋ͩ͸ ͠Μ͛ΜͰ͢ɻ

Slide 3

Slide 3 text

·ͣ͸ɺࣗݾ঺հ

Slide 4

Slide 4 text

1988೥ ౦ژ౎೔໺ࢢੜ·Ε 2012೥ ෋࢜௨גࣜձࣾ SEਓੜΛ։࢝ 2015೥ גࣜձࣾαʔνϑΟʔϧυ FAAVOࣄۀ෦ ஍Ҭ×Ϋϥ΢υϑΝϯσΟϯά FAAVO WebΤϯδχΞ 2017೥ ౦ژˠٶ࡚Ҡॅ FAAVOٶ࡚ΦϑΟε্ཱͪ͛ 2018೥ ϑϦʔϥϯεͱͯ͠ಠཱ 10݄ ߹ಉձࣾϊϚυϦ ઃཱ

Slide 5

Slide 5 text

࢓ࣄ

Slide 6

Slide 6 text

Ԭࢁݝͷձ༷͔ࣾΒγεςϜ։ൃΛड஫͠ɺ8݄23೔ϦϦʔεʂ Laravel + Vue.js ͰSPAߏ੒Λ࠾༻ https://tuto.jp ʢ͜Ͳ΋޲͚ϓϩάϥϛϯάڭࡐͷϚʔέοτϓϨΠεʣ

Slide 7

Slide 7 text

झຯ

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Ωϟϯϓ͕޷͖͗͢Δ ස౓͸೥10ճҎ্ جຊ͸ιϩΩϟϯϓɺ΋ͪΖΜେਓ਺Ͱ΋

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

αʔϑΟϯ͸͡Ί·ͨ͠ ͔͠͠ɺ࠷ۙ͸פͯ͘ߦͬͯͳ͍ʢ୭͔Ұॹʹߦ͖·͠ΐʣ

Slide 12

Slide 12 text

ࠓ೔࿩͢͜ͱ WebΞϓϦέʔγϣϯ͔͠ ։ൃͨ͜͠ͱ͕ͳ͍๻͕ ͸͡ΊͯϞόΠϧΞϓϦΛ ։ൃ͢Δͱ͖ʹௐ΂ͨ͜ͱ

Slide 13

Slide 13 text

ωΠςΟϒΞϓϦͱ͸ʁ

Slide 14

Slide 14 text

ಛఆͷOS্Ͱ௚઀ಈ࡞͢ΔΞϓϦ OSͷػೳ(iOSͳΒTouch IDͱ͔)Λ ࢖༻Ͱ͖Δ WebΞϓϦͱͷରൺͰ࢖ΘΕΔ

Slide 15

Slide 15 text

ϋΠϒϦουΞϓϦͱ͸ʁ

Slide 16

Slide 16 text

ϋΠϒϦουΞϓϦᶃ WebΞϓϦͱωΠςΟϒΞϓϦͷ ྆ϝϦοτΛ׆͔ͨ͠ΞϓϦ WebαΠτͱಉ͡ίϯςϯπΛ ϞόΠϧΞϓϦ಺ͰಡΈࠐΉ + ϓογϡ௨஌ɾΧϝϥɾҐஔ৘ใͳͲͷ ϞόΠϧ୺຤ͳΒͰ͸ͷػೳΛ࢖͑Δ

Slide 17

Slide 17 text

ϋΠϒϦουΞϓϦᶄ HTML΍CSSɺJavascriptͳͲ WebαΠτΛ੍࡞͢Δٕज़Ͱ ࡞੒ͨ͠iOS΍Androidͷ ΞϓϦͷ͜ͱͰ͢ɻ

Slide 18

Slide 18 text

ϋΠϒϦουΞϓϦᶄͱͷରൺͱ͍͏จ຺ʹ͓͚Δ ωΠςΟϒΞϓϦ͸ Swift -> iOSɺJava -> Android Ͱ࡞੒ͨ͠ΞϓϦ

Slide 19

Slide 19 text

ಈ࡞؀ڥ ݴޠ 8FC ΞϓϦ 8FCϒϥ΢β )5.-$44+4 FUD ωΠςΟϒ ΞϓϦ 04 4XJGU+BWB FUD ϋΠϒϦου ΞϓϦᶃ 8FCϒϥ΢β 04 )5.-$44+4 4XJGU+BWB FUD ϋΠϒϦου ΞϓϦᶄ 04 )5.-$44+4 FUD ϞόΠϧΞϓϦҰཡ

Slide 20

Slide 20 text

ϋΠϒϦουΞϓϦͰΑ͋͘Δձ࿩ A͘Μɿ ࠓɺϋΠϒϦουΞϓϦͷ։ൃͯ͠ΔΜͩ B͘Μɿ ͓ɺ͡ΌɺWebView࢖ͬͯΔͷͶ

Slide 21

Slide 21 text

ͦ͏ɺΑ͘ฉ͘ WebView

Slide 22

Slide 22 text

ͨͿΜ Έͳ͞ΜͷΠϝʔδͷ WebView͸

Slide 23

Slide 23 text

͍ͭ͜ˣ

Slide 24

Slide 24 text

ωΠςΟϒΞϓϦ಺ʹ WebϖʔδΛදࣔ͢Δ

Slide 25

Slide 25 text

͍ΘΏΔ ΨϫωΠςΟϒͱ΋ݺ͹ΕΔ

Slide 26

Slide 26 text

ಈ࡞؀ڥ ݴޠ උߟ 8FC ΞϓϦ 8FCϒϥ΢β )5.-$44+4 FUD ωΠςΟϒ ΞϓϦ 04 4XJGU+BWB FUD ϋΠϒϦου ΞϓϦᶃ 8FCϒϥ΢β 04 )5.-$44+4 4XJGU+BWB FUD ΨϫωΠςΟϒ ϋΠϒϦου ΞϓϦᶄ 04 )5.-$44+4 FUD ϞόΠϧΞϓϦҰཡ

Slide 27

Slide 27 text

ҰํͰ ϋΠϒϦουΞϓϦᶄ͸ WebViewΛ࢖͍ͬͯΔͷ͔ʁ

Slide 28

Slide 28 text

Answer

Slide 29

Slide 29 text

࢖͍ͬͯΔ

Slide 30

Slide 30 text

࢖͍ͬͯΔ͕ɺ ৄࡉ͸આ໌Ͱ͖ͣɻɻɻ

Slide 31

Slide 31 text

ωΠςΟϒΞϓϦଆʹ HTML/CSS/JS͕಺แ͞Ε͍ͯΔ σʔλ͸ MBaaS͔ࣗલAPIαʔό͔Β औಘ͢Δ

Slide 32

Slide 32 text

SPAͱҰॹ

Slide 33

Slide 33 text

ಈ࡞؀ڥ ݴޠ උߟ 8FC ΞϓϦ 8FCϒϥ΢β )5.-$44+4 FUD ωΠςΟϒ ΞϓϦ 04 4XJGU+BWB FUD ϋΠϒϦου ΞϓϦᶃ 8FCϒϥ΢β 04 )5.-$44+4 4XJGU+BWB FUD ΨϫωΠςΟϒ ϋΠϒϦου ΞϓϦᶄ 04 )5.-$44+4 FUD 㲈41" ϞόΠϧΞϓϦҰཡ

Slide 34

Slide 34 text

γεςϜߏ੒ ํࣜ: ϋΠϒϦουΞϓϦᶄ ϑϩϯτ: OnsenUI + Vue.js όοΫΤϯυ: Firebase ϑϨʔϜϫʔΫ: Cordova

Slide 35

Slide 35 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

import UIKit import WebKit class ViewController: UIViewController, WKUIDelegate{ private var webView: WKWebView! override func viewDidLoad() { super.viewDidLoad() // WKWebViewΛੜ੒ webView = WKWebView(frame:CGRect(x:0, y:0, width:self.view.bounds.size.width, height:self.view.bounds.size.height)) // URLઃఆ let urlString = "https://www.google.com/" let encodedUrlString = urlString.addingPercentEncoding(withAllowedCharacters:NSCharacterSet.urlQueryAllowed) let url = NSURL(string: encodedUrlString!) let request = NSURLRequest(url: url! as URL) webView.load(request as URLRequest) self.view.addSubview(webView) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }