It's useful when considering whether or not to use technology to understand the tradeoffs that come with it. What problems does the technology explicitly try to solve for you, and which ones does it ignore? What are the current limitations and common problems that people encounter? These are the kinds of questions that we believe you should have answers to when making an important technology decision for your project, and so we have documented answer to why not to use the best we can:
There are few cases where you should absolutely stick to coding on physical computers:
- You're working on native macOS and/or iOS apps and you need XCode.
XCode has barely any support on Linux. If you want to make an iPhone app you'll almost definitely need actual Macbook unless solutions such as non-ejected React Native + Expo framework suit your needs.
- You don't have internet access most of the time.
- You need at least two Docker containers running at the same time. Strove abstracts running Docker away for you, letting everyone in your team run code within instances of identical environments, with no 'it works on my machine' issue.
- Your code should absolutely not leave your company's own servers.