|
1 | 1 | # evolutility.js |
2 | 2 |
|
3 | | -evolutility.js is a work in progress. Eventually it will be a generic UI to build applications who can change form, volume, and structure like living organisms. |
| 3 | +Evolutility provides a set of Backbone views which can change form, volume and structure like living organisms. |
| 4 | +For each Backbone model, all the views are defined by a shared UI-model describing fields mapping, layout, and behavior for CRUD (Create, Read, Update and Delete) and more. |
4 | 5 |
|
5 | | -The idea is to build a set of generic Backbone views to perform all CRUD (Create, Read, Update and Delete) operations on records of any data structure. |
6 | | -For each object the whole set of views is defined in a single UI-model containing the description of the UI (fields mapping, layout, and behavior). |
| 6 | +## Demo apps |
7 | 7 |
|
8 | | -## Roadmap |
9 | | - |
10 | | -1. Update [Evolutility metamodel] (http://www.codeproject.com/Articles/28636/Minimalist-Meta-Model-for-CRUD-Applications) (model of the UI models) |
11 | | -2. Code the generic UI views based on the metamodel |
12 | | -3. Add a toolbar and a controller for all these views |
13 | | -4. Make [demo apps](http://evoluteur.github.io/evolutility/demo/index.html) |
14 | | -5. Make [an app to make apps] (http://www.codeproject.com/Articles/28810/Wizard-and-CRUD-Applications-to-Build-other-CRUD-A) |
15 | | - |
16 | | - |
17 | | -## 1 - UI-model |
| 8 | +[To Do list](http://evoluteur.github.io/evolutility/demo/todo.html), |
| 9 | +[AddressBook](http://evoluteur.github.io/evolutility/demo/contact.html), |
| 10 | +[Wine Cellar](http://evoluteur.github.io/evolutility/demo/winecellar.html). |
18 | 11 |
|
19 | | -To define UI-models evolutility uses some kind of UI language. |
20 | | -It is not fully defined yet but the syntax of UI-models will be based on [Minimalist Meta-Model for CRUD Applications](http://www.codeproject.com/Articles/28636/Minimalist-Meta-Model-for-CRUD-Applications) |
21 | | -using JSON rather than XML this time. |
| 12 | +## UI-model |
22 | 13 |
|
23 | | -Elements: tabs, panels, panel-list, fields. |
| 14 | +All UI-models use the same [API or vocabulary](http://evoluteur.github.io/evolutility/doc/ui-model.html) with words like "tabs", "panels", "panel-list", "fields" rather than "INPUT" and "DIV" to describe UI elements. |
24 | 15 |
|
25 | | -Sample UI Models: |
| 16 | +UI Models for the demo apps: |
26 | 17 | [To Do list](http://github.com/evoluteur/evolutility/blob/master/js/ui-models/apps/todo.js), |
27 | 18 | [AddressBook](http://github.com/evoluteur/evolutility/blob/master/js/ui-models/apps/contacts.js), |
28 | 19 | [Wine Cellar](http://github.com/evoluteur/evolutility/blob/master/js/ui-models/apps/winecellar.js). |
29 | 20 |
|
30 | | -## 2 - Views |
31 | | - |
32 | | -evolutility's views have a Backbone model (to define the data) and also a UI model (to define the UI for interacting with the data). |
| 21 | +## Views |
33 | 22 |
|
34 | | -Evolutility will have 3 types of view |
35 | | -* Views for one record (one): new, edit, mini, json... |
36 | | -* Views for a collection (many): list, badges, charts... |
37 | | -* Views for actions on one record or a collection: export, filter, dashboards, Mass Update... |
| 23 | +evolutility's views have a Backbone model (to define the data) and also a UI-model (to define the UI for this model). |
38 | 24 |
|
39 | | -## 3 - Toolbar/Controller |
40 | | - |
41 | | -We will also need a toolbar and a controller (for now the same js class). |
42 | | - |
43 | | -## 4 - Demo apps |
44 | | - |
45 | | -[To Do list](http://evoluteur.github.io/evolutility/demo/todo.html), |
46 | | -[AddressBook](http://evoluteur.github.io/evolutility/demo/contact.html), |
47 | | -[Wine Cellar](http://evoluteur.github.io/evolutility/demo/winecellar.html). |
| 25 | +Evolutility provides 3 types of view |
| 26 | +* Views for one record (one): New, Edit, Mini (quick edit), JSON. |
| 27 | +* Views for a collection (many): List, Badges, Charts. |
| 28 | +* Views for actions on one record or a collection: Export, Filter. |
| 29 | +TODO: add Dashboards and Mass update... |
48 | 30 |
|
| 31 | +Web demo of [all views](http://evoluteur.github.io/evolutility/index.html) |
49 | 32 |
|
50 | | -## 5 - The app to make other apps |
| 33 | +## Toolbar/Controller |
51 | 34 |
|
52 | | -A set of ui-models and models for the ui-model itself: fields, panels, tabs. |
53 | | -(...and some code in the view themselves to make it possible) |
| 35 | +Still under development. |
54 | 36 |
|
| 37 | +A toolbar and a controller for all views. |
55 | 38 |
|
56 | | -## Techno and Libraries |
| 39 | +## Techno and Open Source Libraries used |
57 | 40 |
|
58 | 41 | Javascript, HTML5, CSS3, |
59 | 42 | [Backbone] (http://backbonejs.org), |
60 | 43 | [Underscore] (http://underscorejs.org/), |
61 | 44 | [jQuery] (http://jquery.com), |
62 | | -[Bootstrap] (http://getbootstrap.com/). |
| 45 | +[Bootstrap] (http://getbootstrap.com/), |
| 46 | +[bootstrap-datepicker] (http://eternicode.github.io/bootstrap-datepicker/), |
| 47 | +[Select2] (http://ivaynberg.github.io/select2/). |
63 | 48 |
|
64 | 49 | ## Previous incarnation |
65 | 50 |
|
|
0 commit comments