2017年12月29日金曜日

[Expo][Publish][2017/12/29 14:30 現在] はじめてのPublishが失敗する => Unhandled JS Exception: TypeError: undefined is not an object (evaluating 'this._subscribableSubscriptions.forEach') => 回避策

最近、React Nativeをやっています。
ワンソースでiOS、Android両対応アプリが作れるという優れものです。

その中で知ったExpoPublishingを使ってアプリを公開してみました。
ローカルでは動いていたので問題ないとおもいましたが、問題ありました……

端末に表示されているエラーメッセージを打ち込むとそのものズバリの情報がみつかりました。
Unhandled JS Exception: TypeError: undefined is not an object (evaluating 'this._subscribableSubscriptions.forEach')

2017/12/29 14:30 現在で3日前に起票されたようで現在進行系の問題のようです。
そのうち自然と解決されるのだとおもいますが、とりあえずここに書いてある回避策を試してみたところ無事Publishできました!

Publishしたアプリはこれです。

回避方法

1. node_modules/react-native/Libraries/Components/Subscribable.js にパッチをあてる
2. uglify-esを3.3.2にする(これがなにものなのかをわかっていないので本当に必要なのかどうかわかっていませんが、問題が報告されているページに書いてあったのでやっておきました)

私はyarnを使っています。

追記

Videoだけのアプリであれば細工せずともPublishして問題なく起動できました。
元の記事読むとreact-navigationの文字がみえます。
いまのところ私の経験則ですが、以下のような感じなのではないかとおもいます。

react-navigation使っていない => 特に細工は不要
react-navigation使っている => 上記の回避策が必要?





[Expo][React Native]WEB+DB PRESS Vol.102のサンプルコードへのプルリクエストを承認していただきました

最近、React Nativeをやっています。
ワンソースでiOS、Android両対応アプリが作れるという優れものです。

その中で知ったExpoを使って、



↑ この本に書いてある天気予報アプリをExpoで作って(写経して)みます。

はい、できました!
GitHub にソースコード公開しておきます。

ExpoにPublishingしたアプリ
weatherforecast
Expo mobile appをインストールしていただいて、QRコードを読み込むと動作確認していただけます。
androidはNexus 5(android 6.0.1)で動きました。
iOSはすみません、実機持っていないのでシュミレータのみでの確認です。
たぶん動くとおもいます。

作って(写経して)いるときに一箇所詰まった箇所がありました。
たとえば北海道を選んだときに天気予報が表示されないのです。
しばらく頭を抱えましたが、検索につかっている文字列を変えてあげればよさそうということがわかりました。
せっかくなのでオリジナルのほうにもプルリクエストさせていただいたところ、すぐにマージしていただきました。
ありがとうございます!



2017年12月23日土曜日

[Electron]憧れのWindows/Mac GUIアプリをつくる

Electron を使いました。

作ったものは↓です。
electron_autorace


プロジェクトの紹介ページはGitHub Pages 使いました。
クール!

他に利用させていただいた主なものは、
React
react-player
material-ui
です。

JavaScriptにはあまり明るくない状態ではじめていまも全然明るくないのが、仕事でReact Native使おうかなあとかおもっていろいろ調べているうちに、憧れ(?)のWindowsやMacで動くGUIアプリが作れるということを知り勉強がてらつくってみました。

node.js
npm
babel
webpack
yarn

はじめてみると↑いろいろな言葉がでてきてうわー たいへんだー と怖気づきそう、いや怖気づきました

JavaScript
習うより慣れろ
見る前に飛べ
です。

JavaScriptをさらっと復習するには
A re-introduction to JavaScript (JS tutorial)
ここがいいとおもいます。

こちらにありますようにいろいろあったようです。
JavaScriptの歴史

そしてどんどん進化していっているようです。

JavaScriptはよく知らない(もちろん他の言語は知っている……)けど、Reactさわってみようかなという方には私が買った本をオススメできるとおもいます。
ただしどんどん進化するのでその点はご留意ください。