.Net 基金會中包含有很多優秀的項目,今天就和筆者一起了解一下其中的一些優秀作品吧。
中文介紹
中文介紹內容翻譯自英文介紹,主要采用意譯、如與原文存在出入,請以原文為准。
Peachpie Compiler Platform
Peachpie 是一款能夠運行於 .Net 和 .Net Core 之上的編譯器和運行時,它基於 Rosyln 進行構建。
該項目的目標是能夠完全保持和 PHP 語言的兼容性,包括 PHP 7.1 和未來的發行版。
項目目標
- 更佳的性能: 基於 Peachpie 的廣泛的類型分析以及 Microsoft Roslyn 的影響,能夠提高 PHP 應用程序和組件的性能。
- 優秀的安全: 因為程序將會運行在標准化的托管的 .Net 和 .Net Core 環境中,所以運行代碼將被全面核查,不會出現不安全的異常行為。
- 跨平台開發: 該項目將會把遺留的 PHP 代碼編譯為可移植類庫,這使得開發者能夠在微軟平台上構建跨平台的應用和類庫,
- Full .NET compatibility: compiled programs run on the reimplemented Peachpie runtime, fully compatibly with the PHP runtime.
- 完全於 .NET 兼容: 編譯好的程序能夠完美的兼容 Peachpie 和 PHP 運行時。
- 支持雙向互操作: 本項目使得創建混合 C# 語言和 PHP 語言應用成為可能,並且在應用中兩者可以完美的相互操作,畢竟所有的內容都基於 .Net。
項目詳情
- 官方網站
- 項目源碼
- 項目許可證: Apache License 2.0
- 項目聯系人: Jakub Misek, Benjamin Fistein
相關鏈接
筆者簡評
筆者沒有用過,但我還是想說:這是明目張膽的套娃!(手動滑稽)
英文介紹
Peachpie Compiler Platform
Peachpie is a modern compiler and runtime of PHP for .NET and .NET Core,
built on top of Roslyn. It aims to be fully compatible with the PHP language, including PHP 7.1 and any newly released versions.
Project Goals
- Increased performance: Peachpie’s extensive type analysis and the influence of Microsoft Roslyn should provide an improved performance of PHP applications and components.
- Security: since programs run within the standardized and manageable .NET or .NET Core environment, the code is fully verifiable without any unsafe constructs.
- Cross-platform development: the project compiles legacy PHP code into portable class libraries, enabling developers to build cross-platform apps and libraries for Microsoft platforms.
- Full .NET compatibility: compiled programs run on the reimplemented Peachpie runtime, fully compatibly with the PHP runtime.
- Both-way interoperability: the project allows for hybrid applications, where parts are written in C# and others in PHP. The parts will be entirely compatible and can communicate seamlessly, all within the .NET framework.
Project Details
- Project Info Site
- Project Code Site
- Project License Type: Apache License 2.0
- Project Main Contacts: Jakub Misek, Benjamin Fistein
Quicklinks
以上《英文介紹》摘錄自 .NET Foundation 的項目介紹 。原文受原項目許可證保護。
中文介紹
中文介紹內容翻譯自英文介紹,主要采用意譯、如與原文存在出入,請以原文為准。
Polly
如今的雲應用程序、移動設備、流數據處理和 IoT 技術等等都非常依賴於可靠的系統連通性。不過現實是:基礎系統可能出現操作失敗,網絡波動時有發生:或中斷、或延時、或瞬時波動、或峰值負載 —— 這些都對100%的系統連通性造成挑戰。
Polly 能夠協助您在不穩定的網絡下進行工作。通過流暢表達的彈性策略, Polly 可以幫您減少系統的脆弱性,使您的系統與客戶間保持連通性。這些策略包括有 重試(Retry), 故障終端(Circuit Breaker), 超時處理(Timeout), 批量處理(Bulkhead Isolation) 以及降級處理(Fallback)。
與此項目非常類似的項目是采用 java 編寫的 Hystrix。在 .Net 中暫時沒有可以比較的項目,我們正在開發 Polly 來解決相同的問題,但是以一種靈活的,輕量的,“keep things simple” 的理念。
輕量化的實現意味着 Polly 能夠在任何 .Net 環境下運行。無論您是正在構建一個偶爾需要調用服務端的移動端程序,還是正在構建一個非常重要的智能服務,您只需要將 Polly 的 NuGet 包安裝到項目中,就可以立刻使用。
項目詳情
- 官方網站
- 項目源碼
- 項目許可證: New BSD
- NuGet
- 項目聯系人: Dylan Reisenberger 和 Joel Hulen
相關鏈接
- 開發文檔
- 參與討論 Slack. Not a member yet? Sign up now!
- 參與貢獻
筆者簡評
Polly 是一只彩虹鸚鵡。
絕大多數情況下,我們願意考慮一次到底的調用,每個環節都是正常可靠的,然而隨着應用程序的拆分由進程內變為進程間之后,系統間的相互協作就變得更為頻繁。
一個優雅的方式來解決系統間相互調用可能出現的臨時故障,無疑能夠增強系統的可靠性。
不過,實際上最為重要的是:在進行系統交互設計時,一定要將異常情況考慮在設計中。 Polly 只是一個實現的方式和工具,最為重要的還是系統設計者的設計。
英文介紹
Polly
Today’s cloud application, mobile, data-streaming, and IoT technologies all depend vitally on reliable connectivity. But underlying systems can fail, and networks are notoriously fickle: outages, latency, transient blips, spikes in load - all challenge 100% reliability.
Polly helps you navigate the unreliable network. By providing resilience strategies in fluent-to-express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback, Polly can help you reduce fragility, and keep your systems and customers connected!
The closest project comparison is to Hystrix in the java world. The .NET space has no comparable offering. We are building Polly to solve the same problems, but in a flexible, lightweight, ‘keep things simple’ spirit.
Best of all, that lightweight approach means Polly can work anywhere .NET can run. Whether you’re building an occasionally connected mobile application, or a heavy duty business intelligence service, simply drop in the Polly NuGet package and get started right away!
Project Details
- Website
- Source
- License: New BSD
- NuGet
- Project Leads: Dylan Reisenberger and Joel Hulen
Quicklinks
- Documentation
- Discussions are held on Slack. Not a member yet? Sign up now!
- Contribute
以上《英文介紹》摘錄自 .NET Foundation 的項目介紹 。原文受原項目許可證保護。
中文介紹
中文介紹內容翻譯自英文介紹,主要采用意譯、如與原文存在出入,請以原文為准。
Prism
Prism 是一個開發框架,它為實現可維護的、可擴展的、可測試的 XAML 應用程序提供助力,可以應用於 WPF、 Xamarin、 Windows Store 應用和 Windows 10 UWP 應用。
Prism 幫助開發者實現了多種設計模式以及原則,包括有 Model-View-ViewModel (MVVM)、依賴注入、模塊化設計、UI 組件化、命令模式和事件推送訂閱機制。
Prism 起初由 Microsoft patterns & practices 團隊開發,后來在 2015 年時交由現在正在維護該該項目的 Prism 開源團隊。
項目詳情
- 官方網站
- 項目源碼
- 項目許可證: Apache
- 項目聯系人: Brian Lagunas
- 項目聯系人2: Brian Noyes
相關鏈接
筆者簡評
- 筆者沒有 C/S 開發經驗,這個沒用過
- 項目仍然處於非常活躍的狀態,值得關注
- 真實的全平台支持
英文介紹
Prism
Prism is a framework for implementing maintainable, extensible, and testable XAML applications on WPF, Xamarin, Windows Store Apps, and Windows 10 UWP apps. Prism helps application developers implement multiple design patterns and principles including Model-View-ViewModel (MVVM), Dependency Injection, Modularity, UI Composition, Commands, and PubSub Events. Prism was first developed by Microsoft patterns & practices and then transferred to the current Prism open source team in 2015.
Project Details
- Project Info Site
- Project Code Site
- Project License Type: Apache
- Project Main Contact: Brian Lagunas
- Project Secondary Contact: Brian Noyes
Quicklinks
以上《英文介紹》摘錄自 .NET Foundation 的項目介紹 。原文受原項目許可證保護。
其他項目
- Akka.NET - 【Actor開發框架】
- AngleSharp - 【瀏覽器引擎】
- ASP.NET SignalR - 【Web實時通信框架】
- ASP.NET MVC, Web API and Web Pages Razor - 【Web開發框架】
- ASP.NET Ajax Control Toolkit - 【Ajax開發工具】
- ASP.NET Core - 【新時代Web開發框架】
- AutoMapper - 【對象映射管理】
- Microsoft Azure SDK for .NET - 【SDK】
- Microsoft Azure WebJobs SDK - 【SDK】
- BenchmarkDotNet - 【基准測試框架】
- Cake - 【本地自動化框架】
- Chemistry Add-in for Word - 【Word插件】
- Couchbase Lite for .NET - 【NoSQL引擎】
- DNN Platform - 【CMS系統】
- .NET Compiler Platform Roslyn - 【編譯器】
- .NET Micro Framework - 【嵌入式框架】
- .NET SDK For Hadoop - 【SDK】
- DotVVM: Component-based MVVM framework for ASP.NET - 【Web服務端MVVM框架】
- Entity Framework - 【ORM】
- Humanizer - 【工具庫】
- IdentityManager - 【身份認證數據管理工具】
- IdentityModel - 【身份認證對接庫】
- IdentityServer - 【OAuth服務端】
- SixLabors.ImageSharp - 【2D繪圖庫】
- DLR/IronPython2/IronPython3 - 【.Net上運行Python】
- Json.NET - 【JSON處理庫】
- Kudu - 【自動化框架】
- LLILC - 【語言底層項目】
- MailKit - 【郵件處理工具庫】
- Managed Extensibility Framework MEF, MEF2 - 【模塊化工具庫】
- Microsoft Web Protection Library - 【Web防攻擊工具庫】
- MimeKit - 【MIME處理工具庫】
- ML.NET - 【機器學習框架】
- Cecil - 【語言底層項目】
- Mono - 【語言跨平台底層項目】
- MSBuild - 【本地自動化框架】
- MVVM Light Toolkit - 【客戶端MVVM開發框架】
- MvvmCross - 【客戶端MVVM開發框架】
- Nancy - 【Web開發框架】
- .NET Core - 【Web開發框架】
- Newtonsoft.Json - 【JSON處理庫】
- NuGet - 【包管理框架】
- NUnit Test Framework - 【單元測試框架】
- Open Live Writer - 【博客協作工具】
- Open XML SDK - 【Office SDK】
- Orchard CMS - 【CMS系統】
- Orleans - 【Actor開發框架】
- OWIN Authentication Middleware Katana Project - 【Web開發框架】