framework

by nx-js

nx-js / framework

A modular front-end framework - inspired by the server-side and Web Components.

441 Stars 28 Forks Last release: Not found MIT License 212 Commits 17 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

The NX framework

Home page, Docs

NX is a modular front-end framework - built with ES6 and Web Components. The building blocks of NX are the core, the middlewares, the components and the utilities. These are all hosted in separate GitHub repos and npm packages.

The NX core is a tiny library, responsible for one thing only. It allows you to create dumb components and to augment them with middlewares. A component executes its middlewares when it is attached to the DOM and it gains all the extra functionalities from them. NX comes with some core middlewares out of the box, which you can find listed below.

  • Text interpolation: Interpolate values from the code into the view dynamically or one-time. Includes optional filters.
  • Dynamic and custom attributes: Use one-time or dynamically evaluated native attributes or define some custom ones.
  • Event handling: Add inline event handlers to listen on any event. Includes optional rate limiters.
  • Visual flow: Use conditional blocks and loops inside the HTML view.
  • Data binding: One-way, one-time or two-way data binding on any event and with no edge cases.
  • Rendering: Modularize your HTML and CSS code by moving them into separate files for each component.
  • Routing: Simple, but powerful routing with automatic parameter synchronization and router events.
  • Metadata and analytics: Handle your SPA's metadata and analytics declaratively with ease.
  • Dynamic styling: Simplify styling by passing objects to the style and class attributes.
  • Animations: Create powerful animations by using only a few HTML attributes.
  • Some other low level middlewares, mentioned in the Docs.
  • Anything else you define with the simple
    function middleware (elem, state, next) {}
    syntax.

These can be combined to create components with the desired functionality. Alternatively ready made core components can be extended and used, to avoid boilerplate code.

Resources

Installation

You can get NX from npm with the

npm install @nx-js/framework
command. See the installation page for other options.

Local development

You can bundle the framework locally with the

npm run build
command and minify it with the
npm run minify
command. The bundled and minified files are placed in the
lib
folder.

Contributing

A list of contributors

NX is very modular and every module is hosted in its own GitHub repository. Please open the issues and PRs in the relevant repositories. For example: if you have a feature request for routing, open a new issue in the route-middleware repo.

Sponsored by

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.