Influenced by the good experiences from JSF (JavaServer Faces) with regard to function and an easy integration into the markup, arose a similar client-side application runtime.
The separation of web applications into frontend and backend, together with browser-based applications and distributed services, changed the structure of client-side applications. Seanox aspect-js investigates the application of concepts derived from JavaServer Faces (JSF) and microservices to browser-based applications, including declarative markup, component structures, view-model binding and modular resources.
Seanox aspect-js focuses on a minimalist approach to implementing Single-Page Applications (SPAs) and Micro-Frontends. This application runtime extends the declarative nature of HTML with Expression Language, reactive rendering, additional declarative attributes, Model-View-Controller (MVC), view-model binding, events, interceptors, resource bundles, an immutable NoSQL DataSource, an integrated test environment, and more.
Recommendations for UI frameworks:
- https://bulma.io/
- https://picocss.com/
- https://vanillaframework.io/
- https://fomantic-ui.com/
- https://getbootstrap.com/
- https://getuikit.com/
- Easy Integration in Markup and JavaScript (Clean Code) Combinable with other JavaScript frameworks if they don't do the same thing 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 Macros and Imports at 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 reacts to changes in data objects and triggers partial rendering on consumers.
- Markup Rendering Supports: conditions, custom tags, events, filter, interval, interceptors, iterate, rendering, resource messages, validation, ...
- Markup Protection 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, events, and interceptors.
- Routing to Organize the Page into Views Supports paths (routes), interceptors, and permission concepts.
- Resource Bundle / Resource Messages Internationalization (i18n), localization (l10n), and text outsourcing.
- Immutable NoSQL DataSource Based on XML Lightweight data management for aggregation, projection, and transformation.
- Micro-Frontends and Single-Page Applications (SPAs) Platform and runtime for the implementation of micro-frontends and single-page applications.
- Test Environment For automated unit tests and integration tests.
- ...
Seanox Software Solutions is an open-source project, hereinafter referred to as Seanox.
This software is licensed under the Apache License, Version 2.0.
Copyright (C) 2026 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
https://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.
- ECMAScript 6 support or higher (normally the current browsers)
Engines (tested): Blink, Gecko, Goanna, WebKit, ... - Web server for hosting
Seanox aspect-js 1.9.0
Seanox aspect-js 1.9.0 Sources
The release channels continuously provide the latest final versions, so Seanox aspect-js is always up to date.
-
https://cdn.jsdelivr.net/npm/@seanox/aspect-js/release/aspect-js.js
for deployment without Test API -
https://cdn.jsdelivr.net/npm/@seanox/aspect-js/release/aspect-js-max.js
for deployment without Test API not minimized and with comments -
https://cdn.jsdelivr.net/npm/@seanox/aspect-js/release/aspect-js-testing.js
for development and testing -
https://cdn.jsdelivr.net/npm/@seanox/aspect-js/release/aspect-js-testing-max.js
for development and testing not minimized and with comments
BF: Composite: Validation corrections and optimization
BF: DataSource: Correction for the use of locator/path with (sub)directories
BF: DataSource: Correction of the method fetch when using the cache
BF: Extensions: Correction of window.location.contextPath
BF: Routing: Correction / workaround if the hashchange event is missing
CR: Composite: Switch to microtasks-based scheduling
CR: Composite: Renaming Composite.asynchron to Composite.asynchronous
CR: Composite: Renaming Markup Hardening to Markup Protection
CR: DataSource: Optimization and extension
CR: Markup: iterate also supports numbers
CR: Markup: import / output optimization and extension for DateSource
CR: Message: Optimization and extension
CR: Test: Update web server to version 5.9.0