Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ハイブリッドアプリ開発のさわり
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
大塚真言
January 19, 2019
Programming
100
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
320
CI/CD実践入門! GitHub ActionsでCI/CD環境を作ってみよう!
shingen29
0
150
CI/CD実践入門! GitHub ActionsでCI/CD環境を作ってみよう!
shingen29
0
340
ユースケース駆動開発で自社プロダクトを作ってみた!
shingen29
1
8k
MDN Web Docsから学ぶ 公式ドキュメントを読むメリット
shingen29
0
940
PHP8をざっくり解説してみる
shingen29
0
350
最近のプロジェクトを振り返ってみる
shingen29
0
430
Style Guideとstylelintを使ってHTML/CSSを綺麗に書こう!
shingen29
2
930
Stripe CLIを触ってみた!
shingen29
1
280
Other Decks in Programming
See All in Programming
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
130
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
220
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
170
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
8
3.1k
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
230
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
200
霧の中の代数的エフェクト
funnyycat
1
420
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
530
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
140
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
110
継続モナドとリアクティブプログラミング
yukikurage
3
630
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
2
630
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
How to make the Groovebox
asonas
2
2.3k
Agile that works and the tools we love
rasmusluckow
331
22k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Six Lessons from altMBA
skipperchong
29
4.3k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
410
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
How to build a perfect <img>
jonoalderson
1
5.8k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
880
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. } }