2020年值得探索的五项微软开发者技术其广泛的开发工具和众多的平台构建产品让各类程序员在应用程序开发计划和技术路线图上有丰富的选择。在本文中,我们将带领大家一起探索Windows、Azure、开发者工具的应用开发趋势。准备好过渡到.NET5了吗?2020年底(译者注:11月左右,当然微软会在上半年推出第一个预览版),微软很快就会发布.NET5。对于习惯构建.NET代码的开发者来说,一个他们可能面临的最大挑战之一是:从旧的.NETFramework过渡到.NETCore会带来各种使用变化。显然,.NET升级到新版本后,微软势必要放弃一些旧的API。目前,微软已经在.NET的GitHub数据库中列出了哪些API会被过去使用,哪些会直接“废弃”。当然,对于那些即将缺失的API,其中一些会被转移到社区并由各个开发者实现,而另一些API可能会被更现代的解决方案所取代。所以,如果你正在支持和开发.NETFramework相关的代码,那么你可以利用2020年深入思考,探索未来你将如何实现和交付代码。毕竟现在的.NETCore3.1版本已经出来有一段时间了,技术支持也不错。它支持的许多与.NETStandardLibrary结合的API将继续存在于.NET5中。因此,您需要构建自己的新工具链,同时确保代码可以顺利移植到.NET5。通过WebAssembly上的Blazor,服务器端采用ASP.NET和Razor模型,未来的.NETCore会有更多的跨平台特性,可以支持Windows、macOS和Linux平台;在移动设备上,用户可以使用Xamarin.可以说,将程序代码迁移到.NET5,不仅是为了支持未来的Windows版本,也是为了获得更多的平台和用户支持。开始转向WinUI3.0Windows平台在2020年将继续发生变化。微软最终将WindowsSDK一分为二,即:部分UI组件被归类为WinUI,而其余部分保留为操作系统级别的基本功能。在即将到来的WinUI3.0中,UI组件将会有与操作系统不同的发布节奏,发布时会添加各种新的控件。它们不仅可以被Windows10中的Win32和WinForms应用程序支持,还可以用于通用Windows平台(UniversalWindowsPlatform,UWP)应用程序。通过与UnoPlatform的合作,WinUI也将在各种新的浏览器中得到支持(例如:新的基于Chromium的Edge)。此类浏览器将控件移植到了WebAssembly,让WinUI涵盖了更多的类别。也就是说,我们只需要做少量改动,就可以让现有的UWP应用直接使用WinUI3.0。同时,C++代码也将能够使用新的控件来添加对MicrosoftFluent设计语言的支持。将AKS用于云原生应用我们常说的“构建现代云应用”,其实是指:基于分布式微服务构建应用,随时随地部署容器化代码,按需管理资源。而所有这些都需要一个编排器(orchestrator)来管理各种扩展和部署。虽然你可以通过kubectl和YAML配置文件来实现Kubernetes。但是,在Azure上,您可以获得另一种选择:适用于Linux和Windows容器的AzureKubernetes服务(AKS)托管选项。通过使用熟悉的Azure门户,您可以访问Azure的本机网络功能并使用HashiCorp的Terraform等工具来简化将容器化应用程序部署为服务的过程。通过了解和选择其他选项,您还可以实施基于角色的访问控制、锁定基于资源的访问并消除安全风险。此外,AKS还可以自动扩展你的Kubernetes集群,通过与Azure监控工具的集成,你可以密切关注服务运行情况。相应地,你可以使用Kubernetes工具对纯Kubernetes平台和熟悉的Azureportal进行细粒度控制,然后进行混合管理;对于其他Azure服务,您可以采用托管访问。可以说,通过服务集成,我们可以简化Kubernetes的各种操作,包括:直接访问Azure存储空间获取持久化数据,进而实现对Azure自身容器注册中心的支持。作为比较,如果您在Azure上构建Kubernetes应用程序,尤其是在考虑AzureDevSpaces等服务时,您没有太多选择。如果你计划在AKS之上构建DevSpaces,那么你可以在安全的私有环境中构建、测试和调试你自己的云原生代码,而不会影响真正的生产环境和服务。借助WSL2和Docker在PC上进行云开发近年来,为了让开发者回归Windows,微软在其VisualStudioCode中提供了一个易于定制的程序编辑器,以方便用户快速采用Python等流行语言。语言。这是一个新的Windows终端,属于适用于Linux的Windows子系统(WindowsSubsystemforLinux,WSL)。早些时候,WSL模拟了Linux内核;在不久的将来,它将升级自己的Linux内核以与Windows并行运行。FutureWSL2旨在简化在PC上构建和测试云应用程序。它将包括:从Windows访问Linux文件系统,支持使用VisualStudioCode进行远程编辑,等等。今天,Docker已经开始测试WSL2的DockerDesktop版本。该版本增加了对Windows的原生Linux容器支持,用户可以使用熟悉的dockerfiles来构建和部署本地容器实例,并可以使用Code直接处理其内容。可以看出,Windows、Linux和Docker的组合为构建强大的端到端开发工具集提供了灵活的基础。该工具集充分利用各个平台的优势,为用户提供灵活的工作方式。当然,他们仍然可以将代码交付到通用存储库中。为了使用AzureSphere保护物联网,我们需要通过自定义Linux内核实现基于硬件的安全性。它可以与云托管平台相结合,以确保操作系统本身以及硬件上运行的应用程序不会被第三方篡改或插入恶意代码。前段时间,使用微软安全ARM微控制器的开发板面市。最近,一些相对便宜的产品相继推出。今天,为了构建自己的硬件产品,你不仅可以直接使用AzureSphere,还可以使用一些为生产线设计的模块和SOC。在开发过程中,不需要引入新的开发工具,所有使用AzureSphere的开发都可以在熟悉的VisualStudio中进行。此外,我们还可以将一套基于Sphere的保护单元加载到现有的工业控制器中进行通用使用,让那些集成了您的应用程序的工业系统和PLC获得额外的保护层。基于此,您可以自信地连接或添加到高风险设备或物联网平台。原标题:2020年要探索的5种微软开发者工具和技术,作者:SimonBisson
