Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ハイブリッドアプリ開発のさわり
Search
大塚真言
January 19, 2019
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ハイブリッドアプリ開発のさわり
大塚真言
January 19, 2019
More Decks by 大塚真言
See All by 大塚真言
自社プロダクトを作ってみた.pdf
shingen29
0
330
CI/CD実践入門! GitHub ActionsでCI/CD環境を作ってみよう!
shingen29
0
150
CI/CD実践入門! GitHub ActionsでCI/CD環境を作ってみよう!
shingen29
0
340
ユースケース駆動開発で自社プロダクトを作ってみた!
shingen29
1
8.2k
MDN Web Docsから学ぶ 公式ドキュメントを読むメリット
shingen29
0
960
PHP8をざっくり解説してみる
shingen29
0
370
最近のプロジェクトを振り返ってみる
shingen29
0
450
Style Guideとstylelintを使ってHTML/CSSを綺麗に書こう!
shingen29
2
950
Stripe CLIを触ってみた!
shingen29
1
290
Other Decks in Programming
See All in Programming
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
270
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
230
Event is what happens
moro
2
1.2k
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
450
残高管理から台帳サービスへの進化
artoy
1
210
Next.js: The final boss of Web Performance
guaca
0
320
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.7k
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
110
Jetpack Compose Mechanisms
skydoves
3
860
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
150
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
110
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
1
490
The Pragmatic Product Professional
lauravandoore
37
7.5k
Code Reviewing Like a Champion
maltzj
529
40k
The Limits of Empathy - UXLibs8
cassininazir
2
730
Fireside Chat
paigeccino
43
4.1k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
59k
Building Applications with DynamoDB
mza
96
7.2k
Paper Plane (Part 1)
katiecoart
PRO
2
12k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Building the Perfect Custom Keyboard
takai
2
910
Transcript
ϋΠϒϦουΞϓϦ։ൃͷ͞ΘΓ 2019/01/18 ϦϏϧυ։ൃ߹॓LT ʂ େ௩ਅݴ @mametra
͜Μʹͪʂ େ௩ɹਅݴ ͓͓͔ͭɹ ɹɹɹ·͜ͱ ͱਃ͠·͢ɻ ໊͋ͩ ͠Μ͛ΜͰ͢ɻ
·ͣɺࣗݾհ
1988 ౦ژࢢੜ·Ε 2012 ࢜௨גࣜձࣾ SEਓੜΛ։࢝ 2015 גࣜձࣾαʔνϑΟʔϧυ FAAVOࣄۀ෦ Ҭ×ΫϥυϑΝϯσΟϯά FAAVO
WebΤϯδχΞ 2017 ౦ژˠٶ࡚Ҡॅ FAAVOٶ࡚ΦϑΟε্ཱͪ͛ 2018 ϑϦʔϥϯεͱͯ͠ಠཱ 10݄ ߹ಉձࣾϊϚυϦ ઃཱ
ࣄ
Ԭࢁݝͷձ༷͔ࣾΒγεςϜ։ൃΛड͠ɺ8݄23ϦϦʔεʂ Laravel + Vue.js ͰSPAߏΛ࠾༻ https://tuto.jp ʢ͜Ͳ͚ϓϩάϥϛϯάڭࡐͷϚʔέοτϓϨΠεʣ
झຯ
None
Ωϟϯϓ͕͖͗͢Δ ස10ճҎ্ جຊιϩΩϟϯϓɺͪΖΜେਓͰ
None
αʔϑΟϯ͡Ί·ͨ͠ ͔͠͠ɺ࠷ۙפͯ͘ߦͬͯͳ͍ʢ୭͔Ұॹʹߦ͖·͠ΐʣ
ࠓ͢͜ͱ WebΞϓϦέʔγϣϯ͔͠ ։ൃͨ͜͠ͱ͕ͳ͍͕ ͡ΊͯϞόΠϧΞϓϦΛ ։ൃ͢Δͱ͖ʹௐͨ͜ͱ
ωΠςΟϒΞϓϦͱʁ
ಛఆͷOS্Ͱಈ࡞͢ΔΞϓϦ OSͷػೳ(iOSͳΒTouch IDͱ͔)Λ ༻Ͱ͖Δ WebΞϓϦͱͷରൺͰΘΕΔ
ϋΠϒϦουΞϓϦͱʁ
ϋΠϒϦουΞϓϦᶃ WebΞϓϦͱωΠςΟϒΞϓϦͷ ྆ϝϦοτΛ׆͔ͨ͠ΞϓϦ WebαΠτͱಉ͡ίϯςϯπΛ ϞόΠϧΞϓϦͰಡΈࠐΉ + ϓογϡ௨ɾΧϝϥɾҐஔใͳͲͷ ϞόΠϧͳΒͰͷػೳΛ͑Δ
ϋΠϒϦουΞϓϦᶄ HTMLCSSɺJavascriptͳͲ WebαΠτΛ੍࡞͢Δٕज़Ͱ ࡞ͨ͠iOSAndroidͷ ΞϓϦͷ͜ͱͰ͢ɻ
ϋΠϒϦουΞϓϦᶄͱͷରൺͱ͍͏จ຺ʹ͓͚Δ ωΠςΟϒΞϓϦ Swift -> iOSɺJava -> Android Ͱ࡞ͨ͠ΞϓϦ
ಈ࡞ڥ ݴޠ 8FC ΞϓϦ 8FCϒϥβ )5.-$44+4 FUD ωΠςΟϒ ΞϓϦ 04
4XJGU+BWB FUD ϋΠϒϦου ΞϓϦᶃ 8FCϒϥβ 04 )5.-$44+4 4XJGU+BWB FUD ϋΠϒϦου ΞϓϦᶄ 04 )5.-$44+4 FUD ϞόΠϧΞϓϦҰཡ
ϋΠϒϦουΞϓϦͰΑ͋͘Δձ A͘Μɿ ࠓɺϋΠϒϦουΞϓϦͷ։ൃͯ͠ΔΜͩ B͘Μɿ ͓ɺ͡ΌɺWebViewͬͯΔͷͶ
ͦ͏ɺΑ͘ฉ͘ WebView
ͨͿΜ Έͳ͞ΜͷΠϝʔδͷ WebView
͍ͭ͜ˣ
ωΠςΟϒΞϓϦʹ WebϖʔδΛදࣔ͢Δ
͍ΘΏΔ ΨϫωΠςΟϒͱݺΕΔ
ಈ࡞ڥ ݴޠ උߟ 8FC ΞϓϦ 8FCϒϥβ )5.-$44+4 FUD ωΠςΟϒ ΞϓϦ
04 4XJGU+BWB FUD ϋΠϒϦου ΞϓϦᶃ 8FCϒϥβ 04 )5.-$44+4 4XJGU+BWB FUD ΨϫωΠςΟϒ ϋΠϒϦου ΞϓϦᶄ 04 )5.-$44+4 FUD ϞόΠϧΞϓϦҰཡ
ҰํͰ ϋΠϒϦουΞϓϦᶄ WebViewΛ͍ͬͯΔͷ͔ʁ
Answer
͍ͬͯΔ
͍ͬͯΔ͕ɺ ৄࡉઆ໌Ͱ͖ͣɻɻɻ
ωΠςΟϒΞϓϦଆʹ HTML/CSS/JS͕แ͞Ε͍ͯΔ σʔλ MBaaS͔ࣗલAPIαʔό͔Β औಘ͢Δ
SPAͱҰॹ
ಈ࡞ڥ ݴޠ උߟ 8FC ΞϓϦ 8FCϒϥβ )5.-$44+4 FUD ωΠςΟϒ ΞϓϦ
04 4XJGU+BWB FUD ϋΠϒϦου ΞϓϦᶃ 8FCϒϥβ 04 )5.-$44+4 4XJGU+BWB FUD ΨϫωΠςΟϒ ϋΠϒϦου ΞϓϦᶄ 04 )5.-$44+4 FUD 㲈41" ϞόΠϧΞϓϦҰཡ
γεςϜߏ ํࣜ: ϋΠϒϦουΞϓϦᶄ ϑϩϯτ: OnsenUI + Vue.js όοΫΤϯυ: Firebase ϑϨʔϜϫʔΫ:
Cordova
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ
None
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. } }