Code Monkey home page Code Monkey logo

h5's Introduction

h5 ๐Ÿš€ - C# to JavaScript compiler

H5 is a modern fork of the original Bridge C# to Javascript compiler, updated to support multi-platform development using .NET 7.0 for the compiler and .NET Standard 2.1 for H5 projects, while dropping support for legacy features and dependencies.

H5 is under active development, and targets a more integrated and faster development experience for C# web-developers.

Package NuGet
Compiler Nuget
Base Library Nuget
Core Library Nuget
SDK Target Nuget
Json Library Nuget
Template Nuget
UI Toolkit Nuget

Getting Started โšก

Gitter

H5 projects are based on netstandard2.1, and the compiler on net7.0, and removes legacy dependencies coming from the original Bridge source-code.

To get started with it, you can use the following project template (replace h5.Target/* with the latest version from h5.target).

<Project Sdk="h5.Target/*">
  <PropertyGroup>
    <TargetFramework>netstandard2.1</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="h5" Version="*" />
    <PackageReference Include="h5.Core" Version="*" />
  </ItemGroup>
</Project>

The Sdk target above (<Project Sdk="h5.Target/*">) will automatically install (and update) the compiler as a dotnet global tool.

You can also manually install it with:

dotnet tool update --global h5-compiler

You can also install a dotnet new template (latest version: Nuget):

dotnet new --install h5.Template

And create a new project with:

dotnet new h5

Samples

The easiest way to get started is to check out some of the examples of using h5 in this repository.

Breaking Changes ๐Ÿ’ฅ

This fork introduces a series of breaking changes as part of the modernization effort:

  • Projects must explicitly target netstandard2.1.
  • Drop support to the legacy .csproj format (only SDK-style projects are supported)
  • Drop support for legacy (and unused) command line arguments (check h5 -h for supported arguments)
  • Compiler is distributed as a dotnet global tool and have it's own versioning and auto-update on build (this can be disable by setting <UpdateH5>false</UpdateH5> on your project file.
  • Retyped packages are not supported (as those are maintained by the Bridge authors, and cannot be built separately or consumed without the Bridge NuGet package).
  • Logging and Report options have been removed from the h5.json config file.
  • Hosted Compiler process (to speed up compilation and avoiding reloading assemblies that don't change often (like NuGet packages).

Update Notes ๐Ÿ“‘

To avoid any conflicts with the original Bridge ecosystem, all packages have been renamed. For upgrading, you can use the following mapping:

Other packages might be added in the future as we experiment with this fork, but we do not aim on providing any kind of Retyped replacement here. If you're missing any specific Retyped package, open an issue and I can take a look into publishing it derived from the Retyped ones.

h5's People

Contributors

theolivenbaum avatar pfriesch avatar thom-stage avatar thomz12 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.