|
1 | 1 | # Blazor
|
2 | 2 |
|
3 |
| -**Build modern, interactive web-based UIs with C# and Razor.** |
| 3 | +Blazor is a framework for building modern, interactive web-based UIs with C# and Razor. For more information on using Blazor to build apps, check out [the official docs](https://blazor.net). |
4 | 4 |
|
5 |
| -This folder contains the underlying *components* programming model that powers both server-side and client-side [Blazor](#blazor) applications. |
| 5 | +## Description |
6 | 6 |
|
7 |
| -Blazor is a component based web UI framework. Blazor apps can run client-side in browser on WebAssembly or server-side as part of an ASP.NET Core app. Blazor is a full single-page application (SPA) framework inspired by the latest JavaScript SPA frameworks, featuring support for offline/PWA applications, app size trimming, and browser-based debugging. |
| 7 | +This folder contains the component model shared between the WebAssembly and Server hosting models for Blazor. |
8 | 8 |
|
9 |
| -Blazor uses only the latest web standards. No plugins or transpilation needed. It runs in the browser on a real .NET runtime implemented in [WebAssembly](http://webassembly.org) that executes normal .NET assemblies. |
| 9 | +The following contains a description of each sub-directory in the `Components` directory. |
10 | 10 |
|
11 |
| -[](https://gitter.im/aspnet/blazor?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) |
| 11 | +- `Analyzers`: Contains a collection of Rosyln analyzers for Blazor components |
| 12 | +- `Authorization`: Contains source files associated with auth-related components and services in Blazor |
| 13 | +- `Components`: Contains the implementation for the Blazor component model |
| 14 | +- `Forms`: Contains source files for Form components in Blazor |
| 15 | +- `Ignitor`: A library for testing Blazor Server apps |
| 16 | +- `Samples`: Contains a collection of sample apps in Blazor |
| 17 | +- `Server`: Contains the implementation for Blazor Server-specific components |
| 18 | +- `Shared`: Contains a collection of shared constants and helper methods/classes |
| 19 | +- `Web`: Contains source files for handling DOM events, forms, and other components |
| 20 | +- `Web.JS`: Contains the source files for Blazor's client-side JavaScript |
| 21 | +- `WebAssembly`: Contains the implementation for WebAssembly-specific components |
| 22 | + - `Authentication.Msal`: Contains the implementation for MSAL (Microsoft Authentication Library) auth in WASM applications |
| 23 | + - `DevServer`: Contains the implementation for the Blazor dev server |
| 24 | + - `JSInterop`: Contains the implementation for methods that allow invoking JS from .NET code |
| 25 | + - `Sdk`: Contains the MSBuild definitions for the Blazor WASM SDK |
| 26 | + - `Server`: Contains the implementation for WASM-specific extension methods and the launch logic for the debugging proxy |
| 27 | + - `WebAssembly`: Contains WebAssembly-specific implementations of the renderer, HostBuilder, etc. |
| 28 | + - `WebAssembly.Authentication`: Contains the WASM-specific implementations |
12 | 29 |
|
13 |
| -You can learn more about Blazor at https://blazor.net. |
| 30 | +## Development Setup |
14 | 31 |
|
15 |
| -## Getting Started |
| 32 | +### Build |
16 | 33 |
|
17 |
| -To get started with Blazor and build your first web app check out our [getting started guide](https://go.microsoft.com/fwlink/?linkid=870449). |
| 34 | +To build this specific project from source, you can follow the instructions [on building a subset of the code](https://github.com/dotnet/aspnetcore/blob/master/docs/BuildFromSource.md#building-a-subset-of-the-code). |
| 35 | + |
| 36 | +### Test |
| 37 | + |
| 38 | +This project contains a collection of unit tests implemented with XUnit and E2E tests implemented using Selenium. In order to run the E2E tests, you will need to have Selenium installed on your machine. |
| 39 | + |
| 40 | +The E2E tests are located in the top-level `tests` folder in this directory. The E2E tests consists of a top-level `TestServer` which instantiates different app servers for specific scenarios: |
| 41 | + |
| 42 | +- Standalone Blazor WASM |
| 43 | +- Hosted Blazor WASM |
| 44 | +- Blazor Server |
| 45 | +- Blazor Server with pre-rendering |
| 46 | + |
| 47 | +Each app server mounts the same `BasicTestApp` application under each scenario. |
| 48 | + |
| 49 | +To run the tests for this project, you can [run the tests on the command line](https://github.com/dotnet/aspnetcore/blob/master/docs/BuildFromSource.md#running-tests-on-command-line) in this directory. |
| 50 | + |
| 51 | +## More Information |
| 52 | + |
| 53 | +For more information, see the [ASP.NET Core README](../../README.md). |
0 commit comments