.NET Core全新路线图(译)
标签: .NETCore 翻译
承接张善友大大的.NET Core全新路线图,翻译了原文,水平有限,尽量一观。
原文地址《.NET Core Roadmap》,原作者Scott Hunter.
1. .NET Core 新路线
自我们发布.NET Core/Asp.NET Core 1.0
以来,已经过去了两个星期。开发小组已经用这两个星期做好了调整,所以是时候为接下来的开发计划开始做些准备了。我们已经看到了大量关于.NET Core的下载,同时也收到了很多显著和有效的反馈,我们欢迎所有开发者继续保持这样的反馈。
以下内容为我们未来的开发计划提供了一份粗略的时间表。要注意的是,这些计划虽然都有针对性的日期,开发小组目前正朝着这样的目标努力,但实际情况可能会发生变化。
2. 1.0.1版本 (~August 2016)
我们正在积极地监测.NET Core/Asp.NET Core 1.0
发布版本的各个问题,包括.NET Core Sdk 1.0
发行版的首个补丁(1.0.1)。这个补丁更新的日期没有排定,但在8月前是可能的。以下是一个我们正在调查的热门问题的列表:
*dotnet build
程序的性能改进,它将改进Asp.NET Core的发布时间
- (
F#
相关,略) - 基于碰撞检测的工具的多项修复
3. 早至Q4 2016,晚至Q1 2017
这将是第一次较小的更新,主要集中在对使用.csproj/MSBuild
替换.xproj/project.json
等工具的更新。我们认为项目格式的更新应该是自动的。比如说当我们打开一个1.0版本的项目时,它会自动更新到新的项目格式。同时这次更新也包括了关于运行时和类库的相关功能上的更新和改进。
4. .NET Core 工具
- 对
.csproj/MSBuild
项目系统的支持 -
dotnet restore
程序的改进——不要还原本属于.NET Core
的包 - 用于管理在机器上的框架的新命令
- 为了最佳的发布空间大小,
dotnet publish
程序将只发布所需要的依赖
5. 语言 (适用于 .NET Framework 和 .NET Core)
.NET语言C#
的下一个发布版本(C# 7
)将实现面向所有的.NET平台应用。关于在这些版本中包括的功能已经有很多信息了,这里只列出一个简短的总结:
- 为.NET 语言带来函数式编程概念
- Tuples(元组数据结构)
- Pattern matching(模式匹配)
- 性能和代码质量
- Value Tasks(未找到相关资料,猜测是将Task类重写为值类型)
- Ref returns(引用返回)
- Throw expressions
- Binary literals(二进制字面值)
- Digit separators(数字分隔符)
- 开发人员生产效率
- Out vars(该特性允许当变量被out参数传递时可以同时声明变量)
- Local functions(局域函数)
这些特性都将在C# 7
中实现。而VB 15
将实现全部影响语言互操作的特性(tuples,ref returns等),但是一些特性只会在下下语言版本更新时补充(如pattern matching),或者将不再出现在路线图上(如local functions)
(省略F#
特性说明)
6. ASP.NET Core
- Web Scokets
- URL Rewriting Middleware(URL重写中间组件)
- Azure(对于大多数国内开发者并不是很重要)
- App Service startup time improvements(应用程序服务启动时间改进)
- App Service Logging Provider(应用程序服务日志提供者)
- Azure Key Vault Provider(What is Azure Key Vault?)
- Azure AD B2C Support
- Containers and Microservices(容器和微服务)
- Service Fabric support via WebListener based server(What is Service Fabric)
- MVC & 依赖注入启动时间改进
- Previews(前瞻)
- SignalR(常见的Web实时消息交互方式和SignalR)
- View Pages (没有MVC控制器的视图)
7. .NET Core Runtime and Libraries
- ARM 32/64(ARM 32/64位架构)
- 支持更多的Linux发行版(从源代码构建)
8. Entity Framework Core
- Azure
- Transient fault handling (resiliency)
- Mapping(匹配)
- Custom type conversions(自定义类型转换)
- Complex types (value objects)
- Entity entry APIs(实体 Entry接口)
- Update pipeline
- CUD stored procedures(增删改存储过程)
- Better batching (TVPs) 更好的批处理(Table Valued Parameters)
- Ambient transactions(环境事务)
- Query
- Stability, performance(稳定性和性能)
- Migrations
- Seed data(种子数据) + Stability(稳定性)
- Reverse engineer(反向工程)
- Pluralization(多元化)
- VS item template (UX)
9. 早至Q1 2017 ,晚至Q2 2017
该发行版本将带来很多在现有.NET Core
中缺失的Api,包括网络,序列化,数据等。遍观.NET技术,我们会发现有很多并不依赖于应用程序模型(Winforms, WPF, Asp.NET等)的公共基础类库代码。这些Api将成为.NET标准2.0的一部分并同时发行,最终的结果就是这些Api将在.NET Framework
,.NET Core
和Xamarin
下统一。在.NET标准2.0下,开发者将可以更容易地编写可以在所有主要的.NET 平台上运行的可移植代码。让我们期待这项工作的预览可以在发布Q4/Q1版本后开始出现。
10. 为了更好的交流
再进一步,我们想让开发团队正在做的工作更加透明。我们计划更加频繁地在这个博客上展现开发团队的更新工作,下面列出了一份粗略的名单来展示即将推出的主题:
- .NET Core Roadmap (this blog post)
- ASP.NET Upcoming Highlights
- Entity Framework Upcoming Highlights
- .NET CLI Upcoming Highlights
- Support and Versioning .NET Core
- Telemetry in .NET Core
- .NET Standard
- APIs Returning
- Project Conversion from project.json to .csproj
- Android ViewDragHelper及移动处理总结
- android 仿音悦台页面交互效果
- Webpack+Babel+React开发环境搭建
- Android Studio中 .gitignore配置
- Android系统服务之WindowManager整理
- gulp+webpack工具整合简介
- React Native之常用第三方库
- React Native和Android整合详解
- 强大的API测试工具Hitchhiker v0.9 基于UI的断言测试,回顾2017
- WEB前端架构(二)
- WEB前端架构(三)
- node.js基本工作原理及流程
- Github+Jekyll搭建个人博文网站
- Ecmascript语法之Symbol
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Hold Time违例,该如何解决
- Tensorflow BN详解:4_使用tf.nn.batch_normalization实现BN
- Tensorflow BatchNormalization详解:3_使用tf.layers高级函数来构建带有BN的神经网络
- 【DB宝17】使用mysqldump+mysqlbinlog恢复误删除的数据库
- 13-3 vi编辑模式和移动光标
- Tensorflow BatchNormalization详解:2_使用tf.layers高级函数来构建神经网络
- 使用 numpy 切分训练集和测试集
- 反向学习,相对基学习 opposition-based learning 简介
- python获取指定目录下所有文件名os.walk和os.listdir
- 腾讯地图SDK实现点击建筑显示围栏及建筑信息效果
- 【pyspark】parallelize和broadcast文件落盘问题
- 终于知道Kafka为什么这么快了!
- 使用 L2 正则化和平均滑动模型的 LeNet-5MNIST 手写数字识别模型
- Tensorboard 监控指标可视化
- 持久化的基于 L2 正则化和平均滑动模型的 MNIST 手写数字识别模型