ComponentJS is an MVC framework that splits HTML 5 apps into different layers for easier content and behavior administration.
ComponentJS uses modules/components to organize UI and UX behavior for easier, better and faster extensibility, administration and support tasks.
To get better acquainted with ComponentJS development patterns and working principles, first read the online documentation.
The library works with client-side (browsers) and server-side (Node.js) environments.
What is new in this release:
- Aligned versions between NPM package.json and VERSION file.
What is new in version 1.2.6:
- Aligned versions between NPM package.json and VERSION file.
What is new in version 1.2.4:
- IMPROVEMENT:
- Update build-time dependencies and remove the use of the now obsolete Grunt task "grunt-extend-config".
- BUGFIXES:
- Fixed "wait" parameter of testdrive#poll() for the case of a passed number instead of a function.
- The resolving order of Clazz/Trait was fixed.
- The traversal of Clazz/Trait on "this.base()" calls was fixed.
What is new in version 1.1.1:
- BUGFIXES:
- Fixed .base() method for inheritance chaining situations with more than one parent class.
- Fixed the build-time substitution for the ComponentJS version information in the API.
What is new in version 1.0.2:
- Major Build Environment Refactoring: switched from plain Unix make(1) to Grunt.
- Added (API exposed) utility select() method for selecting values from arbitrary structured object graphs.
- Added support for validating a value against a subset of the type specification.
- Added support for manipulating and observing arbitrary structured model values.
- Added "def" (default value) option to method property() to simplify application code.
What is new in version 1.0.0:
- Removed the "async" option on register() as it never worked and was a wrong design idea anyway.
- On publishing events the "spreading" option no longer defaults to "true" in order to improve performance in standard cases.
- Improve build process: provide a "stage0" target which does not need any special tools beside "perl" and "shtool" in order to allow developers under Windows to participate more easily.
- Added "targeting" (boolean) option to plug() / unplug() and this way indirectly fix the semantic of link() in case a target should link onto itself.
- Added "scope" (string) option to property() to allow a more convenient way to scope a property instead of the special "name@scope" syntax of the "name" option.
- In the debugger, prepend log messages instead of appending them as this is a lot more convenient during debugging.
- Added necessary hooks for companion project "componentjs-tracing", to allow easier instrumentation of ComponentJS based applications.
- Improved and updated TypeScript definition for newer TypeScript 0.9 world order (where "bool" is not "boolean", etc).
- Skip not-enumerable fields and the special fields "constructor" and "prototype" on object/hash validation.
- Fixed internal cloning of Array objects (which is used for the "dynamics" part of cs.clazz!).
- Improve the internal JSON encoder to more correctly detect cycles.
- Allow also "null" as an identifier to validate against the special Object null.
- Allow application to still enforce standard sockets by skipping the jQuery/ExtJS inference if no 'type' parameter is given.
What is new in version 0.9.10:
- Fixed internal cloning of Array objects (which is used for the "dynamics" part of cs.clazz!).
- Improve the internal JSON encoder to more correctly detect cycles.
- Allow also "null" as an identifier to validate against the special Object null.
- Allow application to still enforce standard sockets by skipping the jQuery/ExtJS inference if no 'type' parameter is given.
What is new in version 0.9.9:
- Switch code-base to latest JSHint.
- Improve API documentation.
- Reduced the external build-time dependencies.
- Bugfix cs.params() function and add additional hook for plugins to cs.params().
- Provide "this.result" (the current aggregated result) and "this.hooks" (the total number of registered hooks) to the internal hooking mechanism to allow plugins to leverage from more information.
- Reduce the number of redundant internal annotation calls in the central clazz/trait mechanism.
- Cleanup all internal "cs.params()" usages by using either "req" or "def" but never both in parallel (as it makes no sense).
Requirements:
- JavaScript enabled on client side
- Node.js for server-side environments
Bình luận không