YURI is named Yet the Unknown Rich Interface because at the time this project is created, we were really trying to explore some unknown fields.
Thanks ESUI where we have tried a traditional style of UI kit along with many minor inventions, and all of us are aware that the future of UI kit should live with HTML imports, Shadow DOM, Custom elements and Template element, however they are not that realistic these days.
YURI is a little step forward from traditional API-based UI kit to the future web components solutions. YURI should employ many features that ease the develop of rich interfaces, these feature will be introduced later here.
YURI from the beginning is ready for edge technoligies, the first to go is to introduce ES6 as the main language, however YURI should be usable under any ES5 envorionment, so we will carefully pick a subset of ES6 features, and the module system should be AMD.
Other than the ES6, YURI also use stylus as its style solution.
Each YURI control is a representation of structured data, which we called model. a model is a simple wrap of Object in JavaScript, which exposes a get
and set
method along with a change
event.
YURI control does not expose any more API, it should be used just as a plain model, all UI interactions and paintings are encapsulated under model property changes.
Since each YURI control is just an abstraction of model, the visual effects are bound to property changes, which also provides binding mechanics natively.
In YURI we can have one-way binding as well as dual binding, so in all cases we just work with a data model - no UI concerns at all.
We believe this feature enables YURI to work with most of the MVVM frameworks, also it would increase testability and maintainability of large scale projects.
YURI controls use templates to render its content, by default we use a target-based template etpl.
Every template can be overriden, so the entire appearance is customizable through templates.
In this case YURI controls behaves more like a logic-control, you can design and implement the appearance and YURI takes interactions for you.