I’m looking for a UI toolkit for developing a backend web interface and Zebra looks very interesting for this purpose.
However the GitHub graphs show that the development activity has stopped since middle of March. Could you please clarify what is the current state of the project? Will its development continue?
Yes I am continue developing. Current master GITHUB version is actually completed. The next developing version contains many changes that makes it not backward compatible with master. That is why I have stopped update master. The direction the new version moves:
- Simplified OOP concept (actually done):
- No method overloading (all methods can have variable number of arguments). The concept more simple, faster and more close to JS language nature
- One constructor per class (this is result of elimination of method overloading). It makes the code much more error proof and clear.
- Mixing. This is the new feature that allows developers to describe bunch of methods that are common for a number of classes and mix the methods to these classes
- WEB free abstracted event model:
- Moving DOM/WEB events to one place and make zebra code unaware about it.
- Moving DOM specific thing like clipboard away from core zebra component.
- Better unification of pointer/mouse/touch events. Application should not feel difference from which device the input event has came.
- One of the very important and hard for implementation step is better DOM element integration in zebra layout.
- Many changes and improvements in different components.
- New UI components:
- Calendar (actually done, but not documented)
- Expandable panel group
May be in a few days I will add new branch with the latest alpha zebra code.
Understand people start frustrating if it look like nothing is going on with project. But it is not true. The truth is it requires more efforts than I have expected before. Think to put the code as GIT brach anyway, nevertheless it is not ready. Find below what is done by this moment:
- Easy OOP updates are completed. It is mores simple, more fast and supports mixing (you can share list of methods between classes).
- WEB events unification is becoming mature and already can be used. Now all events: mouse, pointer and touch are abstracted as “zebra.ui.PointerEvent”. Mouse pressed event is treated as touch event. Two buttons pressed are treated as two finger touched. The code is decoupled as separate WEB specific class – PointerEventUnifier – that takes any DOM element and transforms touch, pointer, mouse event to set of unified PointerEvent events. So, it can be used outside of zebra context
- Integration of DOM element is also on the level of maturity. It is possible to add other HTML canvas elements into zebra layout, you can add any other DOM element in zebra layout. For instance it is possible to add google map as a zebra component to zebra layout. You can use zebra scroll panel to scroll the inserted DOM elements and so on. In few day (I promise) you can see the new branch in repo. It proves the work is going on.I am planning to publish beta/alpha by the end of the year. Think about few short articles that help to discover new power.