Mirage was created to let you easily fake your JSON API. It's built on existing libraries, but brings along conventions to make setting up your fake server quick and painless.
One primary goal of the project is maintainability. New developers should be able to jump into an existing Ember project that uses Mirage and understand the API endpoints the app expects, be able to create data for tests, add new routes, and more, without having to understand a custom setup.
Additionally, an Ember test suite that uses Mirage can run anywhere a normal test suite can, since Mirage runs completely in the client. Many existing solutions rely on a node server, which can make CI integration cumbersome.
Can I share my app running on a Mirage server as a demo/prototype?
Yes! This is a great use case for Mirage. Simply enable Mirage in production, and everything will work just like it does in development.
This project seems complex. Is it a good idea?
Mirage tries to do a lot so you don't have to. Mirage server definitions end up being straightforward, which is especially important for long-lived projects with multiple developers.
As long as people are faking JSON APIs for testing and development, we should try to build on each other's knowledge, and establish some conventions.
What's on the roadmap?