CoreJS-W3C

Core Library for W3C Browser Frontside Applications

View project on GitHub

Destination

The goal of this library is, to provide core functionalities in kind of DDD and Di style which uses all W3C Draft and Recomented functionalities without using PolyFills.

Design goals

As program/architecture design to make tools and applications should work in a strict MVC pattern with follow elements:

  • Model: Backend objects for connection to external or internal data services
  • Bridge: Passive data structres
  • View: Front side object with “known” and bound DOM part which translate user activities into CustomEvents
  • Controller: Interact with view object via CustomEvent protocols and trigger model object in same way (Translate View Events into Model Events and backward). Connect logical activities between multiple view and model objects.

JavaScript style

As language style and way to inheritance objects will be use the ECMAScript 5 Classical inheritance with Object.create()

Features

References

Development

Event classes

In design of the event classes I come to the point to think about, how I will organise the event. The Event has the detail property which can be passed via the eventInit parameter of the Event constructor. In that reason is it normalize not necessary to create extended event CustomEvent classes. The same seems like, was also the idea of the W3C. The CustomEvent is not extendable because the CustomEvent.call() is blocked with an exception. So I have in real only one Event class possible. But I created some constructors to have kind of Event classes as contant holder ie. new Ajax.Event(Ajax.Event.LOAD).