About Nijor

Nijor is a component-driven frontend framework designed to build high-performance, modern web applications.

Unlike traditional UI frameworks that require separate meta-frameworks for standard application features, Nijor provides a complete developer experience out of the box. Essential features like file-based routing, layouts, and middleware are natively integrated directly into the core framework.

Nijor templates are authored using *.nijor files, which bundle HTML markup, component logic, and scoped styling into a single, cohesive file. By bypassing the Virtual DOM entirely and working directly with native browser DOM APIs, Nijor achieves optimal execution speeds and minimal overhead.

Under Development: Server-side rendering (SSR) is actively being developed. Once fully integrated, developers will have the flexibility to seamlessly choose between client-side rendering (CSR) and server-side rendering (SSR) for optimized production builds.

Core Philosophy

Nijor is guided by a simple, powerful principle: leverage the browser's native capabilities instead of rebuilding them in JavaScript.

Modern frameworks frequently introduce heavy abstraction layers, such as complex Virtual DOM algorithms and large runtimes. Nijor reduces this overhead by staying as close to native web standards as possible.

No Virtual DOM

Nijor eliminates the Virtual DOM layer. It tracks state dependencies precisely and updates the real DOM directly, ensuring lightning-fast updates and ultra-low memory consumption.

Native Event Handling

Instead of managing synthetic events or registering numerous runtime addEventListener calls, events are declared cleanly using inline attributes. This keeps compiled code lightweight and easy to debug.

All-in-One Architecture

Routing, layouts, middleware, and compiler plugins are core features of the framework. You don't need to configure external libraries or meta-frameworks to get a production-ready application environment.

An Evolving Ecosystem

Nijor is an actively evolving project. While it offers a robust set of core features, it is continuously being refined. We are currently focusing on improving developer tooling, such as error reporting and debugging logs, to make the development experience even smoother.

Project Structure

A standard Nijor application features a highly clean and predictable file layout:


    my-app/
    ├── pages/
    │   ├── index.nijor
    │   ├── about.nijor
    │   └── blog/
    │       └── index.nijor
    ├── layouts/
    │   └── main.nijor
    ├── middleware/
    │   └── auth.js
    ├── plugins/
    │   └── example.js
    ├── assets/
    │   ├── modules/
    │   └── style.css
    └── nijor.config.js
    

The pages directory houses your application routes, layouts contains reusable frame templates, middleware handles request interception, plugins extends compile-time behavior, and assets stores static files.

Feel free to place your custom images, fonts, and assets inside the assets directory. However, do not modify the auto-generated style.css or the modules folder, as these are managed automatically by the Nijor compiler.