Skip to content
danschultz edited this page Apr 16, 2012 · 89 revisions

Mesh is an open-source persistence framework for Adobe Flex. Its aim is to make the persistence of your application's model as transparent as possible. Mesh provides the mechanisms for defining the associations between your models, tracking which objects need to be saved, validating the integrity of your data, and mapping your models to backend services. In addition, Mesh is completely agnostic to the backend service that you use. It can be used with any existing AMF, REST, SOAP service, and hypothetically an AIR application running a SQLite database.

Why Mesh?

  • Transparent Persistence. Mesh is constantly watching how your application modifies the model. It knows which models have changed, and which associations have been updated. Persistence simply boils down to a single call to model.save().
  • Simple and Consistent Data Access Layer. Mesh provides a simple and consistent service layer that your application implements in order to interact with your backend. This makes interacting with your services the same across different models and backend implementations.
  • Lighter Service Calls. By keeping track of what data has changed, Mesh knows which entities need to be persisted and which entities that don't. This results in lighter network traffic. In addition, Mesh is capable of batching similar calls together into a single request.
  • Fat Models / Thin Controllers. Mesh promotes the principle of keeping your models fat and leaving your controllers thin. This means encapsulating your application's business logic in the model, versus putting it into views, controllers or commands. This simple approach provides a cleaner, more reusable, and more understandable code base. In addition, it enables easier testing of your business logic.
  • Utility. Mesh includes a bunch of powerful, easy to use utilities for your application. These include string manipulation, collections, inspection, object reflection, inflections, and more.

License

Mesh is released under the MIT license.

Clone this wiki locally