.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
相关链接
- 入门教程 and 开发文档
- 项目博客
- 参与讨论
- Twitter and Facebook
- VS Code 扩展
笔者简评
笔者没有用过,但我还是想说:这是明目张胆的套娃!(手动滑稽)
英文介绍
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
- Getting Started and Documentation
- Blog
- Discussions and Help
- Twitter and Facebook
- VS Code Extension
以上《英文介绍》摘录自 .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
相关链接
- 开发文档
- 参与讨论
- 参与贡献
- Brian Lagunas 的 Twitter
- Brian Noyes 的 Twitter
笔者简评
- 笔者没有 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
- Documentation
- Discussions
- Contribute
- Brian Lagunas Twitter
- Brian Noyes Twitter
以上《英文介绍》摘录自 .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开发框架】