Upgrade to Pro — share decks privately, control downloads, hide ads and more …

vue-nativeのpluginを作った話

syumai
August 02, 2018

 vue-nativeのpluginを作った話

syumai

August 02, 2018
Tweet

More Decks by syumai

Other Decks in Technology

Transcript

  1. vue‑native とは? 今年6 月に爆誕、 巷をざわつかせた Vue.js でiOS / Android のネイティブアプリが作れる

    作ったのはGeekyAnts RN 向けUI コンポー ネントのNativeBase を作っている インドのチー ムっぽい vue‑native.io
  2. やっぱり、react‑vue のフォー クでした vue‑native‑core のREADME.md にクレジットが書いてある react‑vue のreact‑native 対応版、 react‑vue‑native‑scripts

    をベー スにしたらしい ちなみに、react‑vue はvue のフォー クなので、 それをさらにフォー クしたものがvue‑native
  3. NativeScript‑Vue 今年2 月にNativeScript のVue.js 版登場 Weex よりは大分良さそう 何故か事例をあまり聞かない 公式サンプルを見ると、 若干のネイティブっぽくなさがある

    i O S のP l a y g r o u n d で動かしたけど、 B u t t o n 押しても半透明にならなかった… 誰かやり方知ってたら教えてください
  4. compileVueToRn がやっていたこと i m p o r t R e

    a c t f r o m ' r e a c t ' とかのコー ドを生のstring を連結し て作る v u e - n a t i v e - t e m p l a t e - c o m p i l e r でVue のSFC をパー スする パー スした結果得られた t e m p l a t e , s c r i p t , s t y l e からReact のコンポー ネントを生成してコー ドに追加する ファイルに書き出す
  5. compileVueToRn がやっていたこと パー スした結果得られた t e m p l a

    t e , s c r i p t , s t y l e からReact の コンポー ネントを生成してコー ドに追加する ここに挟み込んだらできそう
  6. やった事 パー スした t e m p l a t

    e , s c r i p t , s t y l e に対して、 指定され た l a n g attribute にマッチするプラグインを使って、 トランスパイ ルする仕組みを入れた トランスパイル結果は、 生のHTML, JS, CSS が返ってくるので、 そ れを元々 あったコー ドに渡してやるだけ これをmetro bundler で使えるようにした
  7. 辛かった事 metro bundler のデバッグがめちゃくちゃ辛い console.log もconsole.error もどこかに飛んで行く どこで落ちたかわからない console に何も出ないので、

    ログをファイルに吐き出せばよか ったと後から気付いた ( 勢い駆動開発だったので、 そこまでやらなかった) 辛うじて、iOS emulator 上には何かしらのエラー が出てたの で、 それで何とかした
  8. Vue.js 本体のロー ドマップによると、 3.x 系でcustom renderer API が入る NativeScript, Weex,

    WeChat( ミニアプリ?) などのWeb 以外の利用 法をター ゲットにしている そのうち、vue を無理やりフォー クしなくても、vue‑native 的な仕 組みが作れるようになるかも?