I’ve noticed a pattern among even very strong development teams that I believe costs them more than they realize: they are so accustomed to always running both the frontend and the backend together in development that they haven’t stopped to notice all the unnecessary tight coupling they’re tolerating, and how much it can slow development and (especially in the case of open source apps) new contributors.
Given the security model of the web, there’s no reason it shouldn’t be easy to run your local ember-cli against your production backend. If that’s hard for your app to do, consider fixing it. You’ll end up with a cleaner architecture, and lots of day-to-day development tasks get faster and easier.
I know CORS can be a mystifying topic until you get a chance to learn it, but it’s not deep and it’s not hard. It rarely takes more than a few minutes to enable cors on a server, and you should have already been following the security best practices that make CORS safe to enable – like authenticating all API requests with a token in an HTTP header.
A nice pattern is to have the default dev settings in the ember app pointing at the production server, so if you do nothing but
ember s you get a fully working development experience. Then if you want to point at a local server instead, you set one environment variable like