Breeze is a library that helps you manage data in rich client applications. If you store data in a database, query and save those data as complex object graphs, and share these graphs across multiple screens of your JavaScript client, Breeze is for you.
Client-side querying, caching, dynamic object graphs, change tracking and notification, model validation, batch save, offline … all part of rich data management with Breeze. Breeze clients communicate with any remote service that speaks HTTP and JSON.
Breeze lets you develop applications using the same powerful idioms on the client and server. You can
Breeze JS (breeze-client) is a JavaScript library for managing data on the client, much as an ORM manages it on the server.
Breeze JS has an EntityManager that queries entities from the server, keeps them in cache, keeps track of the state of each entity, and saves the changes to the server when requested.
Breeze Server is a library that works with an ORM (Entity Framework, Sequelize, Hibernate) to manage persistence for Breeze client applications. It turns Breeze queries into ORM queries, and saves changes to the database via the ORM.
The Breeze server is intented to be stateless. No long-running transactions, detached objects, or persistent connections are required. Entity state is kept on the client, not the server.
Breeze clients do not require a Breeze server; for example, BreezeJS will also work with existing RESTful APIs. The full power of Breeze comes with supporting the three types of client-server communication.
Breeze client applications make three basic kinds of AJAX calls:
The Breeze server libraries make it easy to support these requests.
For technical questions, please go to StackOverflow with the tag “breeze”. StackOverflow is a fantastic site where thousands of developers help each other with their technical questions.
We monitor the [breeze] tag on the StackOverflow website and do our best to answer your questions. The advantage of StackOverflow over the GitHub Wiki is the sheer number of qualified developers able to help you with your questions, the visibility of the question itself, and the whole StackOverflow infrastructure (reputation, up- or down-vote, comments, etc).
For bug reports, please do use the GitHub Issues tab!
Please post your feature suggestions to our User Voice site
Learn about IdeaBlade’s professional services from training through application development.
Have a non-technical question? Ask us at breeze@ideablade.com.