NFX UNISTACK 介紹

學習.NET Core和ASP.NET Core,偶然搜索到NFX UNISTACK,現翻譯一下Readme,工程/原文:https://github.com/aumcode/nfxgit

NFX

Server UNISTACK 框架github

許可:Apache 2.0數據庫

這個框架從頭開始編寫,並在Windows和Linux / mono服務器上運行。編程

文檔指南:NEW 20160117,咱們在NFX文檔/指南添加安全

NUGET:https://www.nuget.org/packages/NFX/服務器

pm> install-package NFX

幾個演示工程:https://github.com/aumcode/nfx-demos網絡

重要:併發

不是典型的.NET系統,實際上NFX框架跟微軟軟件全家桶幾乎不要緊,而此工程的目的是爲使用核心CLR功能和基礎類(如list, array, dictionary)的統一軟件集提供另外的選擇(譯者注:意思是說,微軟你家的CLR全家桶太TM鬧心了,我要另立門戶)。NFX是一個咱們正在開發的Aum編程語言的基類庫,當前咱們已經使用了C#和.NET framework的特定基類庫(very-BCL)。框架

 

NFX未使用任何第三方組件,除了數據庫訪問的組件(主要是爲了MongoDB和MySQL)。NFX使用如下指定的基類庫:編程語言

  • 基礎/基本類型:字符串型, 整型, 雙精度型, 小數型, 日期時間型, 數學運算

   Basic/primitive types: string, ints, doubles, decimal, dates, +Math

  • 並行任務庫:25%的特性 - 建立、運行、等待完成、Task、並行、For/Each

   Parallel task library: 25% of features - create, run, wait for completion, Task, Parallel.For/Each

  • 集合:列表,字典,併發字典,哈希集,隊列

   Collections: List, Dictionary, ConcurrentDictionary, HashSet, Queue

  • 線程:進程,鎖/監視器,內部鎖*,線程通訊

   Threading: Thread, lock()/Monitor, Interlocked*, AutoresetEvent

  • 各類:秒錶類,控制檯,窗體類則用於一些交互測試(不影響運行)

   Various: Stopwatch, Console, WinForms is used for SOME interactive tests(not needed for operation)

  • 在分離的數據訪問組件中的一些ADO引用(Reader/SQLStatement)

   Some ADO references (Reader/SQLStatement) in segregated data-access components

  • 反射接口

   Reflection API

  • 繪圖2D(圖形)

   Drawing 2D (Graphics)

NFX不使用/避免使用:

  • Windows特有功能,如內核,用戶,GDI(仍有<10,咱們準備甩掉這貨)
  • Windows特有技術(IIS,MS SQL Server, Active Directory,Windows Cluster, COM,Azure)
  • 特定.NET工具:NCover, MsTest,各類VS插件 - 必須保證任何開發人員獲得源碼後能在30分鐘內進行開發,運行不須要設置/安裝
  • ASP.NET
  • MVC
  • WCF
  • Silverlight,WPF,Phone
  • Entity / LINQ to * (NFX專一於使用框架和虛擬指令對混合類型進行數據存儲,不單單是SQL)
  • System.Configuration.*
  • ASYNC / AWAIT - 主動避免
  • 任何微軟包含的序列化(BinaryFormatter/DataContractSerializer/JSON)
  • 上百的「重型」.NET「典型」類(DataSet/DataTable/Unity 等)
  • 衆多.NET工程典型引用:log4net, nLog, EntLib, Castle, NSpring, ServiceStack, Newtonsoft等
  • 去掉NuGet依賴,整個「包」的思想與單包(Unistack)背道而馳

單包 =  全部須要的基礎組件都應該建立解決方案/應用

 

NFX單包有:

應用容器 + 依賴注入點

配置引擎

本地/分佈式樁/堆(Heaps)(大內存BigMemory),能保存數以億計對象以駐留到內存中長期而不須要消滅回收(GC)

八種以上不一樣目標/不一樣導流的日誌方式(文本、Email、flood filter等)

基於契約分佈式通信框架:NFX.Glue(替換WCF)

保證用戶、憑證、角色和權限的安全

JSON解析、序列化/反序列化支持

超高效二進制序列化支持

Erlang 通用運行時庫(CLR)原生類型支持:元組,列表,句式匹配

文本lexing/解析和處理管道:C# lexer,JSON lexer/Parser

RelationalSchema語言編譯器 - 對不一樣目標生成不一樣DDL

模板化引擎(Web、Email或非文本內容等)

NFX.WAVE -自帶混合可注入線程模型Web服務端(替換IIS+ASP.NET)

NFX.WAVE.Mvc - MVC的Web框架

WV.js - 能自動綁定的MVC/MVVM的Web組件庫

帶自載指令/查詢/事務的數據訪問層

ID生成器 - 全局分佈ID,IDS (GDID);FID - 快速處理面ID

自載社交網絡 - 推特/非死不可/孤狗+

自載支付處理 - Stripe,PayPal

自載文件系統 - - AmazonS3, SVN, 本地

QR碼生成

在研發:自載文檔模型以渲染生成PDF、HTML等不一樣文件格式

在研發:PDF DOM模型+渲染

相關文章
相關標籤/搜索