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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
大塚真言
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.1k
MDN Web Docsから学ぶ 公式ドキュメントを読むメリット
shingen29
0
950
PHP8をざっくり解説してみる
shingen29
0
360
最近のプロジェクトを振り返ってみる
shingen29
0
450
Style Guideとstylelintを使ってHTML/CSSを綺麗に書こう!
shingen29
2
950
Stripe CLIを触ってみた!
shingen29
1
290
Other Decks in Programming
See All in Programming
自サークルのIdPからログアウトできるようになるまで
taiseiue
0
110
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
140
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
190
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
340
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.4k
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
20
21k
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
230
FreeBSDでZabbixを動かす
kenkino
0
360
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
390
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
160
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
300
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
350
Chasing Engaging Ingredients in Design
codingconduct
0
340
Building Adaptive Systems
keathley
44
3.2k
The World Runs on Bad Software
bkeepers
PRO
72
12k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Side Projects
sachag
456
43k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
790
GitHub's CSS Performance
jonrohan
1033
470k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
450
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. } }