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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
大塚真言
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
330
ユースケース駆動開発で自社プロダクトを作ってみた!
shingen29
1
8k
MDN Web Docsから学ぶ 公式ドキュメントを読むメリット
shingen29
0
930
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
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
740
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.3k
Creating Composable Callables in Contemporary C++
rollbear
0
170
A2UI という光を覗いてみる
satohjohn
1
150
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.4k
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
300
さぁV100、メモリをお食べ・・・
nilpe
0
150
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.7k
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
610
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
610
ふつうのFeature Flag実践入門
irof
8
4.2k
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
260
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Skip the Path - Find Your Career Trail
mkilby
1
150
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Automating Front-end Workflow
addyosmani
1370
210k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Being A Developer After 40
akosma
91
590k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
370
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
400
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.8k
The Curse of the Amulet
leimatthew05
2
13k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
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. } }