x2net
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
.
- x2net
- x2net.xpiler
- x2net.xpiler.tools (.NET Core global tool for SDK 2.1+)
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.