SpawnDev.BlazorJS
The primary purpose of BlazorJS is to allow working with Javascript in Blazor WASM by writing C# not Javascript. Full Blazor WebAssembly and Javascript interop. Access properties, methods, events, and constructors of Javascript objects with Blazor WASM without writing Javascript.
Primary parts of SpawnDev.BlazorJS
- BLazorJSRuntime service - The core of BlazorJS, BLazorJSRuntime is a JSRuntime alternative designed to make working with Javascript as straightforward as possible.
- JSObject - JSObject is an alternative to IJSObjectReference and IJSInProcessObjectReference that, when inherited, allows wrapping a Javascript object for use in Blazor WASM with full access to properties, methods, events, and constructors.
- Callback - Callback is used to pass .Net methods to Javascript.
Supported .Net Versions
- Blazor WebAssembly .Net 6, 7, and 8
-
- Tested VS Template: Blazor WebAssembly Standalone App
- Blazor United .Net 8 (in WebAssembly project only)
-
- Tested VS Template: Blazor Web App (Auto or WebAssembly interactive mode)
Features
- 300+ strongly typed JSObject wrappers (listed here) included in BlazorJS including DOM, Crypto, WebGL, WebRTC, and Promises allow direct interaction with Javascript
- Use Javascript libraries in Blazor without writing any Javascript code
- BlazorJSRuntime wraps the default JSRuntime adding additional functionality
- Create new Javascript objects directly from Blazor
- Get and set Javascript object properties as well as access methods
- Easily pass .Net methods to Javascript using JSEventCallback, Callback.Create or Callback.CreateOne methods
- 2 options for wrapping your Javascript objects for direct manipulation from Blazor (No javascript required!)
-
- Create a class that inherits JSObject and defines the methods, properties, events, and constructors of your Javascript object (best option)
-
- Create an interface that implements IJSObject and defines the methods and properties of your Javascript object (more limited than JSObject option)
- Use SpawnDev.BlazorJS.WebWorkers to enable calling Blazor services in SharedWorkers and DedicatedWorkers
- Run Blazor WASM in ServiceWorkers to handle ServiceWorker events in .Net
- Supports Promises, Union method parameters, passing undefined to Javascript, and more
Issues and Feature requests
If you find a bug or missing properties, methods, or Javascript objects please submit an issue here on GitHub. I will help as soon as possible.