/ant-design-blazor

๐ŸŒˆAn enterprise-class UI components based on Ant Design and Blazor WebAssembly.

Primary LanguageC#MIT LicenseMIT

Ant Design Blazor

A set of enterprise-class UI components based on Ant Design and Blazor.

AntDesign AntDesign codecov AntDesign Slack Group Ding Talk Group Discord Server

English | ็ฎ€ไฝ“ไธญๆ–‡

โœจ Features

  • ๐ŸŒˆ Enterprise-class UI designed for web applications.
  • ๐Ÿ“ฆ A set of high-quality Blazor components out of the box.
  • ๐Ÿ’• Supports WebAssembly-based client-side and SignalR-based server-side UI event interaction.
  • ๐ŸŽจ Supports Progressive Web Applications (PWA).
  • ๐Ÿ›ก Build with C#, a multi-paradigm static language for an efficient development experience.
  • โš™๏ธ .NET Standard 2.1 based, with direct reference to the rich .NET ecosystem.
  • ๐ŸŽ Seamless integration with existing ASP.NET Core MVC and Razor Pages projects.

๐ŸŒˆ Online Examples

WebAssembly static hosting examples:

๐Ÿ–ฅ Environment Support

  • .NET Core 3.1
  • Blazor WebAssembly 3.2 Release
  • Supports two-way binding on the server side
  • Supports WebAssembly static file deployment
  • Support 4 major browsers engines, and Internet Explorer 11+ (Blazor Server only)
  • Run directly on Electron and other Web standards-based environments
IE / Edge
Edge / IE
Firefox
Firefox
Chrome
Chrome
Safari
Safari
Opera
Opera
Electron
Electron
Edge 16 / IE 11โ€  522 57 11 44 Chromium 57

Due to WebAssembly restriction, Blazor WebAssembly doesn't support IE browser, but Blazor Server supports IE 11โ€  with additional polyfills. See official documentation

๐Ÿ’ฟ Current Version

  • Release: AntDesign
  • Development: AntDesign

๐ŸŽจ Design Specification

Regularly synchronize with Official Ant Design specifications, you can check the sync logs online.

๐Ÿ“ฆ Installation Guide

Create a new project from the dotnet new template

We have provided the dotnet new template to create a Boilerplate project out of the box๏ผš

  • Install the template

    $ dotnet new --install AntDesign.Templates::0.1.0-*
  • Create the Boilerplate project with the template

    $ dotnet new antdesign -o MyAntDesignApp

Options for the template๏ผš

Options Description Type Default
-f | --full If specified, generates all pages of Ant Design Pro bool false
-ho | --host Specify the hosting model 'wasm' | 'server' | 'hosted' 'wasm'
--no-restore If specified, skips the automatic restore of the project on create bool false

Import Ant Design Blazor into an existing project

  • Go to the project folder of the application and install the Nuget package reference

    $ dotnet add package AntDesign
  • Register the services

    services.AddAntDesign();
  • Link the static files in wwwroot/index.html (WebAssembly) or Pages/_Host.cshtml (Server)

    <link href="_content/AntDesign/css/ant-design-blazor.css" rel="stylesheet" />
    <script src="_content/AntDesign/js/ant-design-blazor.js"></script>
  • Add namespace in _Imports.razor

    @using AntDesign
  • To display the pop-up component dynamically, you need to add the <AntContainer /> component in App.razor.

    <Router AppAssembly="@typeof(MainLayout).Assembly">
        <Found Context="routeData">
            <RouteView RouteData="routeData" DefaultLayout="@typeof(MainLayout)" />
        </Found>
        <NotFound>
            <LayoutView Layout="@typeof(MainLayout)">
                <Result Status="404" />
            </LayoutView>
        </NotFound>
    </Router>
    
    <AntContainer />   <-- add this component โœจ
    
  • Finally, it can be referenced in the `.razor' component!

    <Button Type="primary">Hello World!</Button>

โŒจ๏ธ Local Development

  • Install .NET Core SDK 3.1.300 or later.

  • Install Node.js (only for building style files and interoperable TypeScript files)

  • Clone to local development

    $ git clone git@github.com:ant-design-blazor/ant-design-blazor.git
    $ cd ant-design-blazor
    $ npm install
    $ npm start
  • Visit https://localhost:5001 in your supported browser and check local development documentation for details.

    Visual Studio 2019 is recommended for development.

๐Ÿ”— Links

๐Ÿ—บ Roadmap

Check out this issue to learn about our development plans for 2020.

๐Ÿค Contributing

PRs Welcome

If you would like to contribute, feel free to create a Pull Request, or give us Bug Report.

Contributors

This project exists thanks to all the people who contribute.

๐Ÿ’• Donation

This project is an MIT-licensed open source project. In order to achieve better and sustainable development of the project, we expect to gain more backers. We will use the proceeds for community operations and promotion. You can support us in any of the following ways:

We will put the detailed donation records on the backer list.

โ“ Community Support

If you encounter any problems in the process, feel free to ask for help via following channels. We also encourage experienced users to help newcomers.

  • Slack Group (English)
  • Ding Talk Group (Chinese)
Scan QR Code with DingTalk

โ˜€๏ธ License

AntDesign