2020年值得探究的五款微软开发者技术

译文
开发 开发工具
2020年,微软平台的开发人员最值得关注什么?对于初学者来说,当属.NET 5、WinUI 3.0、AKS、WSL 2和Azure Sphere这五款工具与技术。

[[311948]]

【51CTO.com快译】不可否认,Microsoft近年来已经变得越来越开放了。其广泛的开发工具和众多平台构建产品,让各类程序员们在应用开发计划、和技术路线图上有着丰富的选择。在本文中,我们将带领您一起探究Windows、Azure、以及开发者工具的应用发展趋势。

准备过渡到.NET 5?

2020年底(译者注:大约是在11月份,当然微软会在上半年推出第一个预览版),微软即将发布.NET 5。而对于那些习惯于构建.NET代码的开发人员来说,他们可能面临的一个最大挑战是:陈旧的.NET Framework向.NET Core的转变,会带来各种使用上的变化。显然,在将.NET升级过渡到新的版本之后,微软势必会放弃一些较为陈旧的API。

目前,微软已经在.NET的GitHub数据库中,列出了哪些API会被沿用过去,而哪些会被直接“抛弃”。当然,对于那些即将缺失的API而言,其中的一部分会被转移到社区中,由各类开发者予以实现,而其他的一些API则可能被更多的现代化方案所替代。

因此,如果您正在支持和开发.NET Framework的相关代码,那么您可以利用2020年去深入思考和探究将来将如何去实现与交付代码。毕竟,当前的.NET Core 3.1版本已经发布了一段时间,而且拥有着良好的技术支持。它与.NET标准库所共同支持的许多API,将继续在.NET 5中“出镜”。因此,您需要在保证代码能够被平滑地移植到.NET 5的同时,构建出属于自己的新的工具链。

通过WebAssembly上的Blazor,服务器端采用ASP.NET和Razor的模式,将来的.NET Core会更具有跨平台特性,它能够支持Windows、macOS和Linux平台;而在移动设备上,用户则可以使用Xamarin。可以说,将程序代码顺势迁移到.NET 5上,不仅是为了支持将来的Windows版本,而且也能够获取更多的平台和用户支持。

开始转向WinUI 3.0

Windows平台将在2020年持续发生变化。微软最终将Windows SDK一分为二,即:部分UI组件被划归为WinUI,而剩余的部分则被保留为操作系统级别的基本功能。在即将发布的WinUI 3.0中,UI组件将会与操作系统具有不同的发布节奏,并在发布时添加各种新的控件。它们不但能够在Windows 10中得到Win32和WinForms应用的支持,而且能够在通用的Windows平台(Universal Windows Platform,UWP)应用程序中被使用。

通过与Uno Platform的合作,WinUI也将在各种新式的浏览器(例如:基于Chromium的新型Edge)中得到支持。此类浏览器已将控件移植到了WebAssembly上,从而使得WinUI可以覆盖更多的品类。也就是说,我们只需进行少量的更改,就能够让现有的UWP应用程序直接使用WinUI 3.0。同时,C++代码也将能够使用新的控件,以添加对于Microsoft Fluent设计语言的支持。

将AKS用于云原生应用中

我们常说的“构建现代化的云应用”,其实是指:构建基于分布式微服务的应用程序,在需要的时间和地点部署容器化的代码,以及管理资源以响应需求。而所有这些加在一起,都需要编排器(orchestrator)来管理各项扩展和部署。虽然您可以通过kubectl和YAML配置文件,来实现Kubernetes。但是,在Azure上,您将获取另一种替代方案,即:适用于Linux和Windows容器的Azure Kubernetes Service(AKS)托管选项

通过使用熟悉的Azure门户,您可以访问Azure自带的网络功能,并使用HashiCorp的Terraform等工具,来简化部署容器化应用的服务过程。通过了解和选用其他选项外,您还可以实现基于角色的访问控制,锁定资源式的访问,以及对于安全隐患的消除。

此外,AKS还能够自动纵向扩展您的Kubernetes集群,通过与Azure监视工具的集成,您可以实现对服务运营的密切关注。据此,您可以使用Kubernetes工具,细粒度地控制纯粹的Kubernetes平台和熟悉的Azure门户,进而进行混合式的管理;并对于其他Azure服务,可以采取托管式的访问。可以说,有了服务集成,我们便可以简化Kubernetes的各项操作,其中包括:直接访问Azure的存储空间,以获取持久性数据,进而实现对于Azure自身容器注册表的支持。

作为比较,如果您要在Azure上构建Kubernetes应用,特别是在考虑使用Azure Dev Spaces之类的服务时,您的选择空间并不大。而如果您打算将Dev Spaces建立在AKS之上,那么您就可以在一个安全的私有环境中进行构建、测试和调试自己的云原生代码,且不会影响到真正的生产环境与服务。

使用WSL 2和Docker在PC上进行云端开发

近年来,为了让开发人员能够重回Windows,微软在其Visual Studio Code中提供了易于定制的程序编辑器,以方便用户快速地采用Python之类的流行的语言。这是一种新的Windows终端,属于针对Linux开发的Windows子系统(Windows Subsystem for Linux,WSL)。

早些时候,WSL模拟的是Linux内核;而在不久的将来,它会将自己的Linux内核升级到与Windows并行。未来的WSL 2旨在简化在PC上构建和测试云端各项应用。它将会包括:可以从Windows上访问Linux文件系统,支持使用Visual Studio Code进行远程编辑等。如今,Docker已开始测试适用于WSL 2的Docker桌面版本。该版本添加了原生Linux容器对于Windows的支持,用户可以使用熟悉的dockerfiles,来构建和部署本地的容器实例,并能够使用Code来直接处理其内容。

可见,Windows、Linux和Docker的结合,为构建强大的端到端开发工具集提供了灵活的基础。该工具集充分利用了每个平台各自优点,为用户提供了灵活的工作方式。当然,他们仍然可以将代码交付到通用存储库之中。

使用Azure Sphere保护物联网

我们需要通过自定义的Linux内核,来实现基于硬件的安全性。它能够与云托管的平台相结合,以确保操作系统本身、以及在硬件上运行的应用程序不会被第三方所篡改或插入恶意代码。

前些时,使用了微软安全ARM微控制器的开发板已经面世。最近又有一些相对便宜的产品被相继推出。如今,为了构建自己的硬件产品,您不但可以直接使用Azure Sphere,还可以用到一些针对生产线设计的模块和SOC。而在开发的过程中,您不必引入新的开发工具,所有使用Azure Sphere的开发都可以在熟悉的Visual Studio中进行。

此外,我们还可以将一组基于Sphere的保护单元,加载到现有的工业控制器上共同使用,以便让那些集成有您的应用程序的工业系统与PLC,获得额外的一层保护。据此,您便可以放心地连接、或添加到高风险的设备、或物联网平台上。

原文标题:5 Microsoft developer tools and technologies to explore in 2020,作者:Simon Bisson

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

责任编辑:庞桂玉 来源: 51CTO
相关推荐

2019-01-02 08:35:42

开发者技能博客

2020-07-22 16:25:31

服务器数据中心处理器

2013-09-27 09:50:23

2022-12-22 15:11:16

Linux手机

2010-09-03 13:54:44

PHP开发工具

2014-11-14 09:41:53

Java工具

2022-02-10 08:00:00

开发编辑器软件

2018-01-08 10:39:17

前端技术框架

2023-03-20 14:52:48

2018-01-01 22:02:33

技术人工智能VR

2021-02-03 10:15:58

数据中心IT自动化

2020-09-21 16:10:26

云计算混合云IT

2020-01-14 12:51:46

云计算KubernetesIT

2020-03-01 17:35:53

编程语言大数据程序员

2020-01-03 22:27:38

网络安全软件社交网络

2015-03-09 15:51:47

WEB技术WEB 2015年

2022-05-09 10:46:06

数字化转型技术趋势

2020-02-05 13:44:00

JavaScriptJava程序员

2022-12-29 11:33:49

2021-12-30 20:25:07

智能建筑无人机人工智能
点赞
收藏

51CTO技术栈公众号