A managed JavaScript engine for .NET written in C#, designed for high-performance integration between C# and JavaScript.
YantraJS is a managed JavaScript engine for .NET written entirely in C#, designed to compile JavaScript to .NET assemblies and enable high-performance interoperability between C# and JavaScript. It solves the complexity of writing plugins for Node.js and V8 by providing a platform-independent, multi-threaded runtime where both languages coexist seamlessly.
.NET developers needing to embed or interoperate with JavaScript in their applications, and those seeking a managed alternative to Node.js for performance-critical integrations.
Developers choose YantraJS for its smooth C#/JavaScript integration, modern JavaScript feature support, and managed code advantages over C++-based engines, reducing plugin development complexity and enabling shared object caching across threads.
JavaScript Engine for .NET
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements ES5, ES6, and newer features including async/await, classes, and optional chaining, as detailed in the extensive feature list, ensuring compatibility with contemporary JavaScript code.
Enables smooth marshaling of objects between C# and JavaScript within the same runtime, allowing multi-threaded shared object cache, which addresses limitations in Node.js for plugin development.
Uses source generators for ahead-of-time compilation, compiling JavaScript to .NET assemblies for optimized execution and efficient runtime object loading, as highlighted in the features.
Supports both CommonJS and ES6 modules with automatic resolution and asynchronous loading, simplifying module management without extra configuration, as explained in the mixed modules section.
Does not support non-strict mode JavaScript, which can break legacy code or scripts not written in strict mode, as explicitly stated in the README with no plans for support.
Node's existing code will not work on YantraJS, per the roadmap, making migration difficult for projects reliant on Node.js APIs and ecosystem, despite forward compatibility goals.
Key features like full network API and V8 protocol implementation are still in progress, limiting immediate use for applications requiring these functionalities, as noted in the roadmap.
YantraJS is an open-source alternative to the following products: