Skip to content
Experimental Mobile Blazor Bindings - Build native mobile apps with Blazor
C# PowerShell Other
Branch: master
Clone or download

Latest commit

Eilon Support default properties for inner values for things like text
Now you can do <Button ...>Increment</Button> instead of <Button Text="Increment" ... />.

Fixes #27
Latest commit 8c075f8 Feb 21, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode Update readme Jan 10, 2020
azure-pipelines Skip signing verification Dec 17, 2019
samples Support default properties for inner values for things like text Feb 20, 2020
src Support default properties for inner values for things like text Feb 20, 2020
templates Support default properties for inner values for things like text Feb 20, 2020
tools Add Library.Template tools Sep 24, 2019
.editorconfig Create .editorconfig Sep 17, 2019
.gitattributes Add initial code from Steve Aug 2, 2019
.gitignore Add missing azure-pipelines/artifacts folder Oct 3, 2019
CODE_OF_CONDUCT.md Update MD files with new naming and contents Dec 3, 2019
CONTRIBUTING.md Update MD files with new naming and contents Dec 3, 2019
Directory.Build.props Reset all bin/obj redirection Dec 17, 2019
LICENSE Add Azure pipelines YML Sep 24, 2019
MobileBlazorBindings.sln Add component wrapper generator tool Jan 24, 2020
MobileBlazorBindings.sln.licenseheader Add license headers Dec 11, 2019
Readme.md Update readme Jan 10, 2020
azure-pipelines.yml Tweak pipeline order Dec 13, 2019
global.json Fix src work if NETCore3.0 not installed (#55) Jan 23, 2020
init.cmd Add Azure pipelines YML Sep 24, 2019
init.ps1 Change dotnet restore path Sep 24, 2019
nuget.config Update to latest NuGet packages Sep 4, 2019
pack.cmd Rename Emblazon to Microsoft.MobilBelazorBindings.Core Dec 7, 2019
version.json Update version to 0.2-preview Jan 17, 2020

Readme.md

Experimental Mobile Blazor Bindings

Mobile Blazor Bindings enable developers to build native mobile apps using C# and .NET for iOS and Android using familiar web programming patterns. This means you can use the Blazor programming model and Razor syntax to define UI components and behaviors of an application. The UI components that are included are based on Xamarin.Forms native UI controls, which results in beautiful native mobile apps.

Here is a sample Counter component, which may look familiar to Blazor developers, that increments a value on each button press:

<StackLayout>
    <Label FontSize="30"
           Text="@("You pressed " + count + " times")" />
    <Button Text="+1"
            OnClick="@HandleClick" />
</StackLayout>

@code {
    int count;

    void HandleClick()
    {
        count++;
    }
}

Notice that the Blazor model is present with code sitting side by side the user interface markup that leverages Razor syntax with mobile specific components. This will feel very natural for any web developer that has ever used Razor syntax in the past. Now with the Experimental Mobile Blazor Bindings you can leverage your existing web skills and knowledge to build native iOS and Android apps powered by .NET.

Here is the code above running in the Android Emulator:

Clicking increment button in Android emulator

Get started with Mobile Blazor Bindings

To get started, all you need is the .NET Core 3.0 or 3.1 SDK, Visual Studio or Visual Studio for Mac, and the ASP.NET and web development and Mobile development with .NET (Xamarin.Forms) workloads installed.

Get started by reading the Getting Started section in the docs and read through the related walkthroughs.

Contributing

As an experimental project, there are several active areas of development and we're looking for your feedback to help set the direction for this project. Please check it out and let us know any feedback you have on the project by logging issues in this repo.

Thank you!

You can’t perform that action at this time.