RazorSharp is a Razor Class Library that aims to provide enterprise-class UI components for Blazor.
- Work in Progress: This project is currently a work in progress so be aware that this library is not yet production-ready and it may not meet the same quality standards and support as mature products.
- Solo Development: I'm the sole contributor to this project at the moment. If you're interested in joining the effort, please let me know!
- Open to Feedback: Your feedback is highly appreciated! Feel free to provide suggestions, report issues, or contribute to its development.
RazorSharp is an open-source project, and it's completely free to use, even for commercial purposes.
I truly value the strength of community collaboration in the development of RazorSharp. It's not just about code for me; it's about building something amazing together. Your contributions, insights, and feedback mean a lot to me as an individual developer.
I'm sincerely grateful for your involvement as we collectively shape the future of RazorSharp, striving to create a robust and versatile component library.
RazorSharp offers a range of powerful features:
- Stability: Get started with battle-tested components, where you can rely on a rock-solid foundation right out of the box.
- Simplicity: A flexible and powerful design, providing a user-friendly experience to use, extend and customize components to your needs.
- Accessibility: Prioritizing web accessibility with WCAG compliance, ARIA support, semantic markup, and keyboard navigation for inclusive and accessible applications.
- RTL Support: Ensures robust compatibility with Right-to-Left (RTL) languages, providing a user-friendly and culturally sensitive experience for RTL language users.
- Implementing all components listed in the Components Reference.
- Adding unit tests to existing types and components.
- Adding documentation to existing types and methods.
- GitHub Workflows
- Move to .NET 8
- Extensive examples and documentation.
- Internationalization and localization support.
- Themes and styles customization.
- Cross-cutting concerns support: logging, authentication, authorization, caching, dependency injection.
- Compare with other similar products.
- Develop a dedicated components demo website.
- Develop a components playground website for experimentation.
- Explore commercial support options for businesses which would allow me to dedicate more of my time to the development of this library. It's important to note that regardless to my decision here this will always be completely free to use, even for commercial purposes as noted above.
To get started, you'll need to install the latest version of .NET 8 by following these steps:
- Visit this link to install the latest version of .NET 8.
- After installation, open your command prompt or terminal and type the following command to verify that
dotnet
is correctly added to thePATH
environment. - If the command displays information about .NET 8, it means the installation was successful. You're now ready to proceed with running the RazorSharp demos.
To build the solution navigate to the src
directory and follow these commands:
cd src
dotnet restore
dotnet build
To use Sqlite
with WebAssembly
you have to install the wasm-tools
so run these additional commands from the src
directory:
cd RazorSharp.Demo.Blazor.WasmClient
sudo dotnet workload restore
cd ..
If you'd like to enable the HTTPS development certificate, run the following command:
dotnet dev-certs https --trust
To try the blazor server demo (RazorSharp.Demo.Blazor.ServerApp
), run the following command:
dotnet run --project RazorSharp.Demo.Blazor.ServerApp
To try the blazor wasm demo (RazorSharp.Demo.Blazor.WasmClient
), run the following command:
dotnet run --project RazorSharp.Demo.Blazor.WasmServer
- The wasm demo
RazorSharp.Demo.Blazor.WasmClient
is served to the browser throughRazorSharp.Demo.Blazor.WasmServer
.
To run the DataServer for the Search demo, execute the command below. Afterward, you can run any of the previously mentioned demo projects (RazorSharp.Demo.Blazor.ServerApp
or RazorSharp.Demo.Blazor.WasmClient
) and click on Playground / Search.
dotnet run --project RazorSharp.Demo.Search.DataServer
To terminate the currently running dotnet
process, simply press Ctrl^C
.
If there are still active dotnet
processes and you wish to forcibly terminate them, you have two simple options:
-
Option 1 (Linux and macOS): Execute the following command:
killall dotnet
-
Option 2 (Windows, Linux, and macOS) : Install the latest version of PowerShell if it's not already installed and execute the following command:
pwsh -Command "Get-Process -Name *dotnet* | Stop-Process"