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
440
Style Guideとstylelintを使ってHTML/CSSを綺麗に書こう!
shingen29
2
950
Stripe CLIを触ってみた!
shingen29
1
290
Other Decks in Programming
See All in Programming
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
FreeBSDでZabbixを動かす
kenkino
0
340
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
210
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
160
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
250
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
200
SREの越境 / SRE Collaboration
y0hgi
2
290
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.3k
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
240
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
570
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
130
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Mobile First: as difficult as doing things right
swwweet
225
10k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
440
Automating Front-end Workflow
addyosmani
1369
210k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
780
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
560
A better future with KSS
kneath
240
18k
A designer walks into a library…
pauljervisheath
211
25k
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. } }