agnicore / nfx

.NET Standard Unistack Framework
http://nfxlib.com
Other
75 stars 91 forks source link
agnios big-memory erlang erlang-otp mongodb-driver net-core net-standard nfx pile serialization slim teleportation unified unistack

The NFX project has been superseded by Azos Project https://github.com/azist/azos

NFX - .NET Standard Unistack Framework








NFXv5 ANNOUNCEMENT

The current development of NFX HAS MOVED HERE is moving. This repository contains the current NFX (v5) project which targets .NET 4.7.1 and Net Stadard 2/ Core 2. We have moved from legacy NFX v3 repository

NFX(v5 and beyond) is based on .Net Standard 2, having all of cli tools targeting both .NET FX 4.7.1+ and .NET Core 2+. Future NFX will not officially support targets below .NET 4.7.1 (though possible) and .NET Core 2.

The legacy NFXv3* repo will continue to target .NET 4.5/Mono and may be supported for major bug fixes however all new feature development is going to happen here in NFXv5+.

Logo

Server UNISTACK (unified full software stack avoiding dependencies on 3rd party libs) framework.

License: Apache 2.0 Runs: .NET 4.7.1+, Core 2+

Project Badge

Documentation: http://nfxlib.com

Framework/Platform Support

NFX is now based on .NET Standard which works on different runtimes. Officially we support .NET Core and .NET Framework:

NFX supports cross-platform development and is tested on:

NFX Builds on:

NFX abstacts platform-specific functions via PAL (Platform Abstraction Layer) which implements features such as: 2D graphics (drawing and image compression), CPU/RAM performance counters acquisition, Security functions (EnsureAccessibleDirectory etc.). PAL is implemented for every runtime differently and gets injected into NFX at process entry point.

All tools get compiled in .NET Core (out/{Config}/run-core) and .NET Framework (out/{Config}/run-netf) variants all targeting the same NFX.dll which is linked against .NET Standard 2.

About NFX

NFX is a modern .NET full stack framework designed for building cloud and on-premises apps. It is written in C# and runs on a CLR machine linking against .NET Stadard 2. NFX supports app containers, configuration, big memory heaps, IPC, and functions that significantly simplify the development of large distributed systems. It boosts performance and simplifies the development (such as services/web). The majority of the achievements are possible because of the following key features:

promoting:

good for:

Guides/Documentation

All Guides and Docs/Samples/Tutorials are on the NFXLIB site

NFXLIB - Documentation/Guides/Tutorials

NUGET

UNDER CONSTRUCTION As of 2018-01-14 you can use NFXv5 only if you get it here and build it. We are still working on publishing Nuget packages

NFX Packages TO BE RELEASED for NFXv5

Older (NFXv3) Package home:

cmd Description
pm> install-package NFX NFX Core Package (App, Pile, Glue, Log, Instr etc.)
pm> install-package NFX.Web NFX Web (Amazon S3, Google Drive, SVN, Stripe, Braintree, PPal, FB, Twtr etc.)
pm> install-package NFX.Wave NFX Wave Server + MVC
pm> install-package NFX.MsSQL NFX Microsoft SQL Server Provider
pm> install-package NFX.MySQL NFX MySQL RDBMS Provider (CRUD etc.)
pm> install-package NFX.MongoDB NFX MongoDB Proivder (CRUD etc.) + Native Client
pm> install-package NFX.WinForms NFX WinForms (for legacy)
pm> install-package NFX.Azure NFX Azure IaaS Provider WIP/pre-release
pm> install-package NFX.Erlang NFX Erlang Language + OTP Node

Resources

Big Memory Object Pile + Cache

NFX/ApplicationModel/Pile

Various Demo Projects

https://github.com/aumcode/nfx-demos

https://github.com/aumcode/howto()

NFX Provides

IMPORTANT!

NFX uses the very Base-Class-Lib of .NET:

NFX does not use any 3rd party components. (with the exception of system packages which are not in the CLR/sys "core" yet, such as System.Buffers, ValueTask(T) etc...)