@seanox/aspect-js

1.6.1 • Public • Published

Description

Influenced by the good experiences from JSF (Java Server Faces) with regard to function and an easy integration into the markup, arose a similar client-side fullstack solution.

Seanox aspect-js focuses on a minimalist approach to implementing Single-Page Applications (SPAs). This framework takes the declarative approach of HTML and extends this with expression language, reactivity rendering with additional attributes, Model View Controller, view model binding, resource bundle, NoSQL datasource, test environment and much more.

Features

  • Easy integration in markup and JavaScript (clean code)
    combinable with other JavaScript frameworks if they don't do the same thing do and use a different syntax
  • Lightweight implementation
    requires no additional frameworks
  • Component based architecture
  • Namespaces and domain concept
    for better structuring of components, modules and business logic
  • Modularization (supports imports at the runtime)
    component concept for smart/automatic loading of composite resources at runtime
  • Event handling
  • Expression Language
    meta-language extension with full JavaScript support
  • Reactivity rendering
    rendering reacts to changes in data objects and triggers partial rendering on consumers
  • Markup rendering
    supports: conditions, custom tags, events, filter, interval, iterate, rendering, resources messages, validation, ...
  • Markup hardening
    makes it difficult to manipulate the attributes in the markup
    non-visible components are removed from the DOM and only reinserted when used
  • Model View Controller (MVC) / Model View ViewModel (MVVM)
    supports view model binding and events
  • Sitemap for organizing the view into pages, faces and facets
    supports virtual paths and permission concepts
  • Resource Bundle / Resource Messages
    internationalization (i18n), localization (l10n) and text outsourcing
  • NoSQL datasource based on XML
    lightweight data management for aggregation / projection / transformation
  • Micro Frontends
    platform and framework for the implementation of micro-frontends
  • Test environment
    for automated unit tests and integration tests
  • ...

Licence Agreement

Seanox Software Solutions ist ein Open-Source-Projekt, im Folgenden Seanox Software Solutions oder kurz Seanox genannt.

Diese Software unterliegt der Version 2 der Apache License.

Copyright (C) 2023 Seanox Software Solutions

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

System Requirement

  • ECMAScript 6 support or higher (normally the current browsers)
    Engines (tested): Blink, Gecko, Goanna, WebKit, ...
    Browsers used for testing: Basilisk, Firefox, Microsoft Edge, Google Chrome, Safari (MacOS/iOS)
  • Web server for hosting

Downloads

Seanox aspect-js 1.6.1
Seanox aspect-js 1.6.1 Sources

Release Channels

The release channels continuously provide the latest final versions, so Seanox aspect-js is always up to date.

Version 1.6.1

Standard: Contains all minimized

Standard Max: Contains all

Core: Contains all minimized, except the Test API

Core Max: Contains all minimized, except the Test API

Micro: Contains all minimized, except SiteMap, minimized

Micro Max: Contains all minimized, except SiteMap

Micro Core: Contains all minimized, except the Test API and SiteMap

Micro Core Max: Contains all minimized, except the test API and SiteMap

Manuals

Changes

1.6.1 20230410

BF: Composite: Added recursion detection for include of composite markup
BF: Composite: Correction of validation with message and notification without model
BF: Composite: Correction of mounting of child elements in a condition
BF: Composite: Correction of the queue during rendering when a lock exists
BF: Expression: Unification of the suppressed output
BF: Reactive: Correction for the use of arrays
BF: Reactive: Correction/optimization for elements with iterate
BF: Reactive: Correction of recursive triggered updates
BF: Review: Optimization and corrections
BF: Test: Correction of wrong output of Element.prototype.toPlainString()
CR: Reactive: Optimization of object-model-view decoupling
CR: Reactive: Refactoring to distinguish from frameworks with similar name
CR: SiteMap: Inactive by default
CR: Expression: Extension of the syntax for elements and variables
CR: Expression: Optimization (consequent new implementation)
CR: Expression: Omission of automatic use of get and is methods for fields
CR: Expression: omission of tolerance for undefined parts in object chains (like JSP EL)
CR: Composite: Errors during rendering are output in the view
CR: Composite: Renamed method Object.using(...) in Object.use(...)
CR: Composite: Optimization when loading module resources
CR: Composite: Extension of the element ID with a unique identifier
CR: Composite: Added @-attributes as attribute templates for elements
CR: Composite: Changing the behavior of the validation
CR: Scripting: Outsourcing and isolating the execution of Composite JavaScript
CR: Scripting: Optimization macros for Composite JavaScript
CR: Scripting: Added macro #export for Composite JavaScript
CR: Scripting: Added macro #use for Composite JavaScript
CR: Scripting: Added macro (?...) for Composite JavaScript
CR: Datasource: Optimization when loading module resources
CR: Messages: Added messages as alternative object tree for associative array Messages
CR: Messages: Added Messages.customize(label, ...values) to fill placeholders with values
CR: Namespace: Renamed method Namespace.using(...) in Namespace.use(...)
CR: Extension: Math.unique(...) replaces Math.uniqueId(...)
CR: Extension: Math.serial() replaces Math.uniqueSerialId(...)
CR: Release: Added the manual (de/en) to the release package (zip)
CR: Release: Channels with major number are omitted
CR: Release: Revision of the release channels

Read more

Contact

Issues
Requests
Mail

Package Sidebar

Install

npm i @seanox/aspect-js

Weekly Downloads

3

Version

1.6.1

License

Apache-2.0

Unpacked Size

3.69 MB

Total Files

239

Last publish

Collaborators

  • seanox