ASP.NET Core is a significant redesign of ASP.NET. This topic introduces the new concepts in ASP.NET Core and explains how they help you develop modern web apps.
Asp.net Core是重新设计过得新一代Asp.Net。此篇文章介绍Asp.net Core 如何帮助你开发先进的web应用。
What is ASP.NET Core?
什么是Asp.net Core
ASP.NET Core is a new open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core apps can run on .NET Core or on the full .NET Framework. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. ASP.NET Core is open source at GitHub.
Asp.Net Core 是一个新的、开源的、跨平台的开发框架,为了更好的构建基于云网络的先进应用,比如web app、IoT(物联网) app和移动后端。Asp.net Core应用能够运行在.Net Core或者.Net Framework环境下。这种新架构为应用部署到云或者本地提供了高性能开发框架。它是由模块化组件构成,这样你就能很灵活的构建自己的解决方案。你可以在Windows、Mac和Linux下开发和运行你的Asp.net Core 应用。Asp.Net Core在GitHub上已经开源。
Why build ASP.NET Core?
为什么构建Asp.Net Core?
The first preview release of ASP.NET came out almost 15 years ago as part of the .NET Framework. Since then millions of developers have used it to build and run great web apps, and over the years we have added and evolved many capabilities to it.
作为.Net框架的一部分,Asp.Net从第一个预览版到现在已经过去15年了。数以百万计的开发者使用它开发和运行优秀的web app,这么多年来我们也不断的升级和添加更多的功能。
ASP.NET Core has a number of architectural changes that result in a much leaner and modular framework. ASP.NET Core is no longer based on System.Web.dll. It is based on a set of granular and well factored NuGet packages. This allows you to optimize your app to include just the NuGet packages you need. The benefits of a smaller app surface area include tighter security, reduced servicing, improved performance, and decreased costs in a pay-for-what-you-use model.
Asp.Net Core从架构上有很多的改变,这些改变从而使它成为一个灵活性和模块化的框架。Asp.Net Core 不再基于System.Web.dll。它是基于颗粒状和分解的 NuGet 包。这使你可以优化你的应用程序仅仅包含所需的 NuGet 包。这种pay-for-what-you-use(按需使用)模式的好处包括加强安全、减少维护、提高性能和降低成本。
With ASP.NET Core you gain the following foundational improvements:
使用Asp.net Core你将获得以下改进的功能:
-
A unified story for building web UI and web APIs
-
web UI和web Apis使用统一的库
-
Integration of modern client-side frameworks and development workflows
-
现代客户端框架和开发工作流的集合
-
A cloud-ready environment-based configuration system
-
一个适合云计算环境的配置系统
-
Built-in dependency injection
-
内置的依赖注入
-
New light-weight and modular HTTP request pipeline
-
全新的轻量级和模块化HTTP请求管道
-
Ability to host on IIS or self-host in your own process
-
在自己的进程中运行IIS或者Self-host的能力
-
Built on .NET Core, which supports true side-by-side app versioning
-
以.Net Core为基础,支持真正的多应用版本管理
-
Ships entirely as NuGet packages
-
完全使用NuGet包管理
-
New tooling that simplifies modern web development
-
新的简化的现代化web开发工具
-
Build and run cross-platform ASP.NET apps on Windows, Mac and Linux
-
在Windows,Mac和Linux下构造和运行多平台的Asp.Net的应用
-
Open source and community focused
-
开源社区共同管理
Build web UI and web APIs using ASP.NET Core MVC
在Asp.Net Core MVC中构建Web UI和Web APIs
-
You can create well-factored and testable web apps that follow the Model-View-Controller (MVC) pattern. See MVC and Testing.
-
你能创建一个遵循MVC模式的可分解和可测试的Web应用。详见 MVC 和 Testing。
-
You can build HTTP services that support multiple formats and have full support for content negotiation. See Formatting Response Data
-
你可以构建支持多格式和完全支持内容协议的HTTP服务。详见 Formatting Response Data。
-
Razor provides a productive language to create Views
-
Razor 提供了一种创建视图的高效语言。
-
Tag Helpers enable server-side code to participate in creating and rendering HTML elements in Razor files
-
在Razor文件中,标签助手使服务器端代码参与创建和渲染Html元素成为可能。
-
You can create HTTP services with full support for content negotiation using custom or built-in formatters (JSON, XML)
-
你可以创建完全支持使用自定义或者内置格式化(Json,Xml)内容协商的Http服务。
-
Model Binding automatically maps data from HTTP requests to action method parameters
-
自动的从Http请求中的action方法参数中映射数据进行模型绑定。
-
Model Validation automatically performs client and server side validation
-
自动执行前端和服务端的模型验证。
Client-side development
前端开发
ASP.NET Core is designed to integrate seamlessly with a variety of client-side frameworks, including AngularJS, KnockoutJSand Bootstrap. See Client-Side Development for more details.
Asp.Net Core的核心目的是为了和各式各样的前端框架无缝连接,包括了AngularJS,KnockoutJS和Bootstrap。详见Client-side Development。
写在最后
接触Asp.Net大概已经十年了,经历了每个版本,这次Asp.Net Core的推出让我非常兴奋,感觉.Net工程师的春天来了,经历那么多知道.Net和Java之间虽然只是语言的差别,但在工作选择上差别实在太大,现在好了,春天到了,相信不就将来.Net和Java将会平分秋色。
第一次翻译,基本上加入的都是自己的理解,有些硬翻译可能不对,希望大家能够发邮件给我,后续会把这个翻译系列做完。
原文链接:https://docs.microsoft.com/zh-cn/aspnet/core/