Igium.Web

Repository
Location: igium / Igium.Web
Examples: Igium.Web Examples
TODO: IGIUM@droptask

Framework Types and Enums

Exceptions

Framework Boot Files (Module and Type Systems)

  • go.js - General-purpose exports, Exception and Exception.errors (general purpose exceptions e.g. InvalidOperation), polyfills
  • gotype.js - Classic OOP type system (classes, instance and static members, attributes, events, reflection); documentation on the namespace and type definition elements
  • goclient.js - Client- (browser-) side script loader; documentation on the client-side module definition elements
  • gonode.js - Server- (nodejs-) side script loader; documentation on the server-side module definition elements

Performance Notes

Basic tests (gotype definition, instantiation)

The gotype code is 30% more compact than the reference native code.

Type definition performance penalty, gotype vs native reference JavaScript code

Browser Times slower
Google Chrome ~4x
Mozilla Firefox ~10x
Microsoft Edge ~7x
Microsoft IE ~8x

Object instantiation performance penalty, gotype vs native reference JavaScript code

Browser Times slower
Google Chrome ~3.5x
Mozilla Firefox ~10x
Microsoft Edge ~11x
Microsoft IE ~8x

Remarks

One factor for the object instantiation performance penalty is the use of events. The gotype event system currently does multiple bind calls to support its interface, which causes major memory consumption and also takes CPU time. An optimization is planned that, if successful, could potentially mitigate both these effects.