ExpoのdetachでAndroidのreact-native-videoやFast-imageが動かない件について


まえおき

これは、ExpoでMVPを作ったはいいものの、物足りない部分(バックグラウンド再生とかその他ものもの)でハマる件です。

react-nativeでもかなり人気のあるreact-native-videoやreact-native-fast-imageは現状detachするとAndroidだと動きません。 (Expo ver32まで前提)

原因について

ExpoはOkHttpのOverride処理をしてるらしく、それがトラップになる現象が多発してる模様。

対応しようと思えばできるのですが、後々メンテナンスとかダルくなりそうなのでやりたくないところですね。

今後の動向について

iOSだとdetachしてもそれほど問題が起きるケースは少ないので、恐らくExpoのAndroid側の実装、特にdetachした後に問題がある実装がそれなりにありそうです。

そもそもAV関連の実装はreact-native-video準拠の実装だとかなり便利だったんですけどね。

それにしても、react-native-videoとかはreact-native界隈でもトップの人気のライブラリなのでそれの対応に不都合があるとなるとやや危うい感じがしますね。。。

Expo Ver33ではOkHttp関連の修正をしてるらしいのでそれに期待。

Expoはdetach案件で結構知られてない罠が多そうなので、iOSやAndroidのネイティブ経験者がいないような会社で、割と凝ったことをアプリで実現したい場合はオススメできないかもしれませんね。

まあそもそもネイティブ経験ない会社だと、後々ハマることが続出しそうなので、軽めのアプリ開発以外は正直オススメはしませんけど。