Skip to content

awesomedotnetcore/x2net

 
 

Repository files navigation

x2net

NuGet Build status

x2net is the reference port of x2 written in C#, targeting universal .NET environments covering Mono, .NET Framework, and .NET Core.

In order to make full use of x2net, you need to understand the fundamental concepts and ideas of x2. At least, you should be familiar with basic x2 concepts such as cell, event, hub, flow, case and link.

Features

Distributable Application Architecture

Writing distributed (including client/server) applications has never been this easy. You can flexibly make changes to the deployment topology of your application, while your business logic remains unchanged.

Communication Protocol Code Generation

xpiler converts your shared knowledge definitions to corresponding C# source code files. Relying on the knowledge shared among application participants, x2 wire format comes extremely efficient.

Advanced Event-Driven Programming Support

  • Hierarchical, self-descriptive events
  • Precise handler binding with multi-property pattern matching
  • Time-deferred or periodic event supply
  • Coroutines to join multiple sequential event handlers

Requirements

.NET Core

  • .NET Core 2.0 or newer
  • Visual Studio 2017 (version 15.3) or newer

.NET Framework (Mono)

  • .NET framework 3.5 or newer equivalent environment to run
  • Visual Studio 2008 (9.0) or newer equivalent tool to compile C# 3.0

Installation

The following two NuGet packages can be installed via the Package Manager UI, or by the Package Manager console command Install-Package.

See Installation for more about installation.

Documentation

Tutorials & Guides is a good start point to learn how x2net applications are organized.

Contributions

We need your contributions! Please read CONTRIBUTING.md before you start.

License

x2net is distributed under MIT License. See the file LICENSE for details.

Packages

No packages published

Languages

  • C# 98.4%
  • PowerShell 1.1%
  • Shell 0.5%