neomjs / neo

The application worker driven frontend framework
https://neomjs.com
MIT License
2.9k stars 161 forks source link
css3 ecmascript es8 framework frontend hacktoberfest hacktoberfest2024 html5 javascript json multi-window offscreencanvas offthemainthread performance sharedworker spa vdom virtual-dom webdevelopment webworker


Downloads Version License Join the Slack channel Discord Chat PRs Welcome

Modern Enterprise-Ready JavaScript Framework

Neo.mjs provides a new approach for building feature-rich web applications. Increase productivity by leveraging a vast component library and harness the power of multi-threading for extreme real-time performance.

Neo.mjs is the first frontend framework which can run a JavaScript module based dev mode without compilations. This makes debugging easier and reduces development costs.

In case you care about scalability, extensibility or solid architectures, congratulations, you have found the right spot.

Content

  1. Introduction
  2. Potential Use Cases
  3. Slack Channel for questions & feedback
  4. Examples
  5. Getting Started
  6. Command-Line Interface
  7. Blog


1. Introduction

Neo.mjs drives the OMT (off the main thread) paradigm into perfection, which is intended to move expensive tasks into Workers.

So, what are the most expensive tasks we are dealing with?

The answer is simple: a Framework and the Apps which we build with it.

Neo.mjs moves most parts of the framework and your App(s) including their Components into an Application Worker.

This enables us to re-use existing Component instances and mount & unmount them several times. Even into different Browser-Windows.

Neo.mjs also provides sharing state across multiple Browser-Windows.

So far, it is the only Framework which enables us to build complex multi-Window Apps without the need for a native shell.

Neo.mjs is not intended for rather simple & static websites.

The Framework does not focus primarily on a fast first rendering experience for new users, but instead on a super-fast update & navigation experience for returning users.


2. Potential Use-Cases

  1. Finance (Banking & Trading Apps)
  2. Data Science
  3. Web-based IDEs
  4. Multi-Window Data Visualisation
  5. Complex dynamic Forms
  6. "Desktop-like" Apps
  7. Enterprise Apps in general (e.g. Admin Dashboards)


3. Slack Channel for questions, ideas & feedback

Join our community:
Join the Slack channel


4. Examples

Some exciting Examples are listed here: Neo.mjs Examples

Many more are included inside the repos src/apps & src/examples folders.


5. Getting Started


6. Command-Line Interface

You can find an in-depth description here: Neo.mjs CLI


7. Blog

All Blog Posts are listed here: Neo.mjs Blog



Copyright (c) 2015 - today, Tobias Uhlig & Rich Waters