Expo development on windows


#1

Hey guys,

has anybody developed with Expo on windows 10? I struggle with several issues that completely destroy the developer experience (independent of connecting via wifi or usb):

  • permanent react native red screen “hot reloading is not working” errors
  • permanent expo blue screen “something went wrong” errors
  • when debugging is enabled app goes into in super slow motion

I do react native development on the same machine and the only problem I observed here is that debugging slows down the app, but not as much as with expo.

Hope I am doing something wrong and you can give me a hand.

Best Timo


#2
  1. Hot reloading in React Native is pretty unstable so I wouldn’t heavily rely on it. There might also be additional issues with the networking configuration on Windows, since hot reloading relies on a WebSocket connection between your device and computer.

  2. The blue error screens in Expo (Android) are independent of your development computer OS. They usually show up when you have a bug in your application code. Have you tried tapping on the button that shows more error details?

  3. Debugging is slow because every call from JS to native has to go from your device to your computer running Chrome. One thing that could be slowing things down is that with Expo we automatically set up a network tunnel (the exp.direct link), which makes it much easier to share your projects with teammates while you are working on your projects, but it also causes the network requests for the JS bundles and debugging commands to go over the internet instead of your LAN.

So one thing you could try is clicking the gear icon in XDE (next to the URL field) and changing your settings to use localhost/LAN. Make sure your device is on the same LAN as your computer and that they can talk to each other. Then force-quit your project running on your phone and open it again. Going over the local network will be faster than the exp.direct internet tunnel and may speed up your debugging.


#3

Thanks for your quick reply. Indeed all errors I see (Expo or ReactNative) are related to lost WebSocket connections. If I switch to a localhost connection and not use your tunnel then everything works fine. I can live with that.