一起了解 .Net Foundation 项目 No.17

 

.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。

项目详情

相关链接

笔者简评

笔者没有用过,但我还是想说:这是明目张胆的套娃!(手动滑稽)

英文介绍

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

以上《英文介绍》摘录自 .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 包安装到项目中,就可以立刻使用。

项目详情

相关链接

笔者简评

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

以上《英文介绍》摘录自 .NET Foundation 的项目介绍 。原文受原项目许可证保护。

中文介绍

中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。

Prism

Prism 是一个开发框架,它为实现可维护的、可扩展的、可测试的 XAML 应用程序提供助力,可以应用于 WPF、 Xamarin、 Windows Store 应用和 Windows 10 UWP 应用。

Prism 帮助开发者实现了多种设计模式以及原则,包括有 Model-View-ViewModel (MVVM)、依赖注入、模块化设计、UI 组件化、命令模式和事件推送订阅机制。

Prism 起初由 Microsoft patterns & practices 团队开发,后来在 2015 年时交由现在正在维护该该项目的 Prism 开源团队。

项目详情

相关链接

笔者简评

  1. 笔者没有 C/S 开发经验,这个没用过
  2. 项目仍然处于非常活跃的状态,值得关注
  3. 真实的全平台支持

英文介绍

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

以上《英文介绍》摘录自 .NET Foundation 的项目介绍 。原文受原项目许可证保护。

其他项目

posted @ 2020-03-12 09:21  Newbe36524  阅读(720)  评论(1编辑  收藏  举报