Over the years, I’ve come across multiple discussions suggesting that developing inside a VM is a good way to secure the host system. Given the amount of third-party code we rely on, it’s impossible to guarantee that nothing malicious is run accidentally.
Currently, I’m using VMware Fusion with Ubuntu Server and developing inside it using VS Code with the SSH extension. I largely followed Georges Haidar’s guide on his blog (https://blog.disintegrator.dev/posts/dev-virtual-machine/).
This setup has worked flawlessly for full-stack JS applications. However, I’m now facing a new challenge: developing a mobile app with React Native. Using Expo Go, I can deploy the development build to my phone without issues. But when additional native code is required, I need Cocoapods. The problem is that Cocoapods doesn’t run on Linux due to certain dependencies. It also requires Node.js for the Xcode bundling process.
A commonly suggested solution is EAS. Another option might be UTM with a macOS VM.
Has anyone established a solid workflow for this scenario and could share some insights?