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
Vueでネイティブアプリを作り倒す
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
chan_kaku
January 12, 2019
Programming
1.7k
1
Share
Vueでネイティブアプリを作り倒す
Vueを使ってクロスプラットフォームアプリケーションを作れる手段はいくつかありますが、今回はIonicとWeexとVue Nativeで作っていく話です
chan_kaku
January 12, 2019
More Decks by chan_kaku
See All by chan_kaku
JJGU CCC 2019 Springまとめ~Java歴1年なりの意見を添えて~
takumiz19
1
2.5k
ionic/vueもβ版になったのでちゃんと触ってみた
takumiz19
0
720
Vueのライフサイクルを完全に理解
takumiz19
0
2.1k
Other Decks in Programming
See All in Programming
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
110
AIエージェントの隔離技術の徹底比較
kawayu
0
450
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
12
3.2k
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
130
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
150
Moments When Things Go Wrong
aurimas
3
130
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
150
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.8k
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
180
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
530
LLM Plugin for Node-REDの利用方法と開発について
404background
0
150
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
3
390
GitHub's CSS Performance
jonrohan
1033
470k
The Invisible Side of Design
smashingmag
302
52k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
Building Adaptive Systems
keathley
44
3k
Amusing Abliteration
ianozsvald
1
190
Code Reviewing Like a Champion
maltzj
528
40k
Into the Great Unknown - MozCon
thekraken
41
2.5k
Optimizing for Happiness
mojombo
378
71k
Utilizing Notion as your number one productivity tool
mfonobong
4
310
Building AI with AI
inesmontani
PRO
1
1k
Building Applications with DynamoDB
mza
96
7.1k
Transcript
Vueでネイティブアプリを 作り倒す 2018/1/12 Kyoto.js 15 chan_kakuz
自己紹介 フリュー株式会社 サーバーサイドエンジニア Vueとの出会いは入社してから ライブ、フェス、ベース、 技術的なところの勉強、お酒、最近はクラフトビール 仕事 趣味 Twitter @chan_kakuz
今回話すこと
話すこと ・Vueを使ったネイティブアプリケーションの作成方法と紹介 - Ionic - Weex - Vue Native ・inputにtextを入れるとそのtextが表示されるアプリを作ります!
今回話さないこと
話さないこと ・Vueの基本的な記法 等々、、、、
Vueで ネイティブアプリを作る ~Ionic編~
Ionicとは、、? もともとはAngularでクロスプラットフォームアプリを作れるプ ラットフォーム 最近Vueにも対応した ただ、まだα版なのでできないことも多々あり
早速作ろう!
Vueプロジェクトの作成 $ npm install -g @vue/cli $ vue create sample-app
$ cd sample-app
ブラウザで確認 $ npm run serve
ということでここからが本題
Ionicの機能を使う • main.jsを編集する $ npm install @ionic/vue • @ionic/vueをインストール
Ionicの機能を使う • App.vueを編集する
動作確認
None
とりあえずは成功だ が、、、
iOSアプリ用にビルドしよう
Capacitorを使う • @capacitor/core と @capacitor/cliをinstall $ npm install @capacitor/core @capacitor/cli
• イニシャライズしてビルド $ npx cap init sampleApp com.sample.ionic.app • プラットフォームとしてiOSを追加 $ mv dist www $ npx cap add ios
シミュレータで確認
None
None
Ionicの長所・短所 • 使えるコンポーネントが多い • ハマりどころが少ない • まだ、新しいため他に比べてVueで試した記事が少ない • まだ全部のコンポーネントが使えるわけではなく、何が 使えるのかよくわからないので試しながらという感じ
Vueで ネイティブアプリを作る ~Weex編~
Weexとは、、? Apache Software Foundationが提供している。 Webの技術を使ってハイパフォーマンスな モバイルアプリケーションを作れるプラットフォーム 対応しているフレームワークはVueとRax
早速作ろう!
下準備 • weex-toolkitのinstall $ npm install weex-toolkit -g • スタータープロジェクトの作成
$ weex create weex-sample-app • 依存モジュールのinstallとstart $ cd weex-sample-app $ npm i $ npm start
下準備 • 動作確認 ◦ http://localhost:8081にアクセス
iOS用にビルドしよう • プラットフォームにiOSを追加 $ weex platform add ios • Weexで作ったアプリをビルド&実行!!
$ weex run ios
すると、、、
None
悲しみ、、、、
どうやら pod installで失敗している??
CocoaPodsを入れよう • CocoaPodsのインストール $sudo gem install -n /usr/local/bin cocoapods
もう一回ビルド&実行
None
None
index.vueを変更 <template> <div> {{text}} <input v-model="text" /> </div> </template> <script>
export default { data () { return { text: "default text" } } } </script>
もう一回ビルド&実行
None
悲しみ、、、、
なんでこうなったか?? WeexはRuntime only buildであるため、 今回のようなtemplateオプションに文字列を渡すような処理 はできない、、、
Weexの長所・短所 • 最初のテンプレートのビルドなどはあんまりつまらずで きる • ドキュメントにできることできないことがしっかりと書かれ ててわかりやすい • 使えるコンポーネントが少なめ •
directiveでv-showやv-htmlが使えない • Runtime only buildなのは注意が必要そう
Vueで ネイティブアプリを作る ~Vue Native編~
Vue Nativeとは、、? Vue.jsでクロスプラットフォームアプリケーションを作れるプ ラットフォーム Vue Nativeという名前だが、実際にはReactのAPIをラッピン グしてる
早速作ろう!
事前準備 System Requirements • node が 6.0以上 • npm が
4.0以上 • React Native CLI がグローバルでインストールされていること
事前準備 • Vue Native CLIでプロジェクトの作成&確認 • $ npm install -g
vue-native-cli $ npm install -g create-react-native-app $ vue-native init sampleApp $ cd sampleApp $ npm run ios
すると、、、
None
血に染まっている、、、
なぜこうなったか どうやらReact Nativeのバージョンを0.55にしても、依存して いるbabel-preset-expoとexpoのバージョンが高く、血祭りに なるらしい
対処法 • package.jsonを以下のように編集
対処法 • app.jsonを以下のように編集
もう一回動作確認! $ npm run ios
None
成功!!!!!
ということでここからが本題
App.vueを修正
すると、、、
None
None
Vue Nativeの長所・短所 • Weexに比べると扱えるコンポーネントが多い • Vuexが使える!! • まだ$emitに対応していない(一応、同等の処理を行う方 法があるらしいが、、、) •
ドキュメント通りにやってもつまるところは結構ありそう
最後に どれも一長一短なところがある印象 個人的には、Vue.jsでネイティブアプリを使うのならIonicが 一番はまらず、使いやすい印象 ただ、まだα版なので今後どうなるかわからない 今後に期待!!