复盘Build 2016:不要错过微软给.NET开发者的这些福利

本文作者陈计节,ThoughtWorks 高级咨询师。多年的跨平台 .NET 开发者,全栈工程师,技术布道师。擅长互联网应用程序的设计、开发和运维等工作。

  近年来,微软坚持为社区提供更多灵活性,并以更开放的思路重构其已有平台,一改从前封闭高冷的姿态,迅速调整战略以适应新的产业格局,向全世界展示了一个灵动敏捷,积极向社区看齐的新形象。

  在最近的微软开发者大会(Build 2016)上,微软展示了其最近获得的成就,以及各个产品和平台上针对开发者的更新,还宣布了一系列让开发者们激动不已的消息,比如将在 Windows 上包含能够直接执行 Linux 程序的子系统,Xamarin 将会免费并且开源等。

  开发者从 Build 2016 中获得的,不仅是微软赠予的高效的工具,更是一种求和共赢的心态,一种面向未来的胸襟。这份礼遇,与平台无关,与编程语言无关,更与 IDE 或编辑器无关。

   给所有开发者的福利

  在互联网和云的时代,由于有了新的架构方法和开发方式,语言和平台的选择显得没有那么重要,我们已经掌握了太多可以跨语言和平台完成协作的技能。在这个惜时如金的时代,我们需要的是开发效率更高的工具,是能够用于迅速构建轻量级应用程序的框架。

  技术的多样化正像人与人之间的差异:有的人默默地研究、分享,有的人却会纠集一些技术之间的优劣之比、是否之争。技术之间的比较是有裨益的,有助于为设计决策提供依据。但高下之分大可没有必要,不同的技术可以用于解决不同场合的问题,在合适的时机,它们都可能成为得力的工具。

微软已经为非 .NET 开发者和非 Windows 平台提供了大量的工具和产品。

  比如发布基于 Linux 操作系统的 Sql Server 数据库,在 Windows 中引入 Linux 子系统并内置 Bash 命令行终端,在 .NET Core 的开发中将跨平台作为第一要素考虑,并官方提供基于 Sublime Text 等第三方编辑器作为开发环境的示例等。对于微软来说,是不是 .NET 开发者,是不是基于 Windows 平台早就没有那么重要了。

  不过,如果你想找机会尝试“微软技术”的话,我仍然乐于分享:如果听说“C# 是优雅高效的静态语言”的话,那么在 .NET Core 跨平台框架发布的时候,你只需要花几分钟就能亲自体验一把;如果你认为在 OS/X 上基于 Linux 相关开发更接近仿真环境,你也可以关注 Windows 上要引入 Linux 子系统的细节;在你觉得 Sublime Text 的价格不菲的时候,不妨考虑免费的 Visual Studio Code 在你已有经验的基础之上,可能还附送了令人欣喜的特性;在你需要在构建跨平台移动应用希望共享 80% 代码的时候,Xamarin 提供的灵活性,你值得拥有。

  微软并不是恶魔,过去不是,以后也不会是。微软提供了这许多便利的工具和方法可以为你所用,多试一试总是好的。当你开始从微软提供的工具中发现价值,你也就能够切实感受到来自微软的诚意,也就能够感受到一个开放的新微软了。

   .NET 开发者机遇面前的挑战

  对于 .NET 或 Windows 平台的开发者而言,无论从哪个角度来看,本次 Build 大会带来的都是“全方位无死角”的利好消息。

  在 Build 大会上展示的基于 .NET 的 Web 应用程序现在都已经换成了开源且跨平台的 ASP.NET Core 示例。在即将到来的 Windows 10 更新中,我们将会看到 Linux 子系统,这将让 .NET 和 Windows 开发者更近地接触到跨平台特性,因而大大降低开发跨平台的应用程序的难度。Xamarin 的免费和跨平台,不仅让“宇宙第一 IDE” Visual Studio 默认拥有开发全平台原生(Native)应用程序的能力,同时还意味着 Mono 项目现在也由微软主导,这将使得其与 Windows 平台的 .NET 有更好的兼容性,以及更快速的同步更新能力。

  不过,云的重要特性是平台无关。Visual Studio 支持的目标平台,编程语言的应用模型也越来越多。虽然 .NET 平台正在变得比以往更好,但对于目前的 .NET 开发者来说,还有一些挑战需要面对。

  一直以来,.NET 平台由于其自身庞大复杂,应用框架、开发工具和操作系统各个方面的关联紧密等内在原因而备受质疑。这也使得在互联网和云的大势所趋之下,.NET 平台被不少人认为不适合新的趋势。

  为了解决 .NET 平台“天生”的问题,微软采取了一系列的动作,包括重写 .NET 以使其更轻量级、提供跨平台的能力,并将其完全开源;提供免费的社区版 Visual Studio,并开发跨平台的开发工具 Visual Studio Code。几年下来,不仅解决了大量一直被人诟病的问题,还保持了 .NET 平台高效的开发效率,优雅的编程语言特性等独有的优势。

  另一方面,一直被看作企业开发首选的 .NET 平台也因为开发人员素质良莠不齐、对跨平台和开源不够友好等外在原因被不少人不看好。这显然需要开发者自己去努力:刷新自己的意识,更新自己的技能。

  .NET 开发者需要理解:

  1. 总会有更灵活高效的方案

  2. 社区合作是重要的技术活动

  3. 跨平台的灵活性并非没有必要

  4. 云时代,不仅在高端峰会,还在代码的字里行间

  5. 服务器上、浏览器里和终端设备都已进入新时代

  如果还有开发者固守陈规,守着 Web 三层架构和 Windows 窗体应用程序模型准备吃铁饭碗的话,那么很快就会被新一代的开发者所替代,也必将会被技术本身所抛弃。一些人,他们对新出现的事物麻木无感,抱怨要学的技术太多、更新又太快。当软件有新的版本发布出来时,他们的态度往往是“新版本还不够稳定,等一阵子再说”。我希望 .NET 开发者不要成为这样的人。

  不管是从这几年的开发者大会上的分享,还是线下对开源社区的参与,以及对已有产品的调整,我们都能看到微软在切实地支持开源运动的同时,其自身也比以往更开放。这个软件巨人已经认识到,继续采用过去的封闭平台、大包大揽的思维已经不适用于新的格局了。更开放的微软在向世界展示一个全新的形象:他已经使用新的思路完成了转变,他将与社区一同努力,与开发者一起建设共同的基于云的未来。

  即使像微软这样一家拥有庞大产品线和历史包袱的软件企业都能华丽转身,作为开发者,我们就更能够开阔思路了。当我们好好利用微软和社区一起构建的更健康开放的生态,定能游刃有余,决胜千里。

相关文章:

  • 3分钟看完Build2016 Day 1 Keynote

  • 微软Build 2016开发者大会--兑换承诺

  • Microsoft Build 2016 Day 1 记录

  • 3分钟看完 Day2 Keynote

  • Microsoft Build 2016 Day 2 记录

  • Build 2016,你可能忽视的几个细节

  • 图片中的Build 2016


原文地址:http://www.leiphone.com/news/201604/VSEXRAUrHnupjd2d.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/329707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java异步线程内存可见性实验

【README】 本文演示了内存可见性的场景,以及解决方法; 相关定义如下(转自java并发编程实战,一本好书,强烈推荐): 内存可见性:一个线程修改了对象状态后, 其他线程可以…

springboot 单例_如何实现一个单例及优化

前言 社长,一个爱学习,爱分享的程序猿,始终相信,付出总会有回报的。 知识改变命运,学习成就未来。爱拼才会赢! 程序猿学社的GitHub,已整理成相关技术专刊,欢迎 Star:。 https:// github.com/ITfqyd/cxyxs 社长,4年api搬运工程师,之前做的都是一些框架的搬运工作,做的时间…

乐观锁的一种实现方式——CAS

转载自 乐观锁的一种实现方式——CAS在深入理解乐观锁与悲观锁一文中我们介绍过锁。本文在这篇文章的基础上,深入分析一下乐观锁的实现机制,介绍什么是CAS、CAS的应用以及CAS存在的问题等。线程安全 众所周知,Java是多线程的。但是&#xff0…

熬夜并不值得程序员炫耀

许多程序嘴上经常挂着每天加班到凌晨三点的论调,但事实上这没什么值得炫耀的,加班通常都是效率低的代名词。 放弃睡眠就像是高利贷借款。没错,看上去你是得到了额外的时间,但你想得太乐观了,你知道代价是什么吗&#x…

前端wxml取后台js变量值_这些鲜为人知的前端冷知识,你都GET了吗?

背景最近公司项目不多,比较清闲,划水摸鱼混迹于各大技术博客平台,瞬间又GET了好多前端技能,一些属于技巧,一些则是闻所未闻的冷知识,一时间还消化不过来,不由的发出一声感叹!前端可真…

(转-这篇文章非常棒) Thread的中断机制(interrupt)

转自: Thread的中断机制(interrupt)-这篇文章非常棒 Thread的中断机制(interrupt) - 寂静沙滩 - 博客园先看收集了别人的文章,全面的了解下java的中断:中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态…

深入理解乐观锁与悲观锁

转载自 [初级]深入理解乐观锁与悲观锁在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。 乐观并发控制(乐观锁)和悲观并发控制&a…

Z.ExtensionMethods 一个强大的开源扩展库

今天有意的在博客园里面搜索了一下 Z.ExtensionMethods 这个扩展类库,确发现只搜到跟这个真正相关的才两篇博文而已,我都点进去看了一下,也都只是提到而已,没有专门介绍,才引起我写这篇文档。 一. Z.E…

python isodd奇偶_Python这些位运算的妙用,绝对让你大开眼界

位运算的性能大家想必是清楚的,效率绝对高。相信爱好源码的同学,在学习阅读源码的过程中会发现不少源码使用了位运算。但是为啥在实际编程过程中应用少呢?想必最大的原因,是较为难懂。不过,在面试的过程中,…

java线程中断

【README】 本文po出了不同场景下线程中断的不同开发方式,包括阻塞,非阻塞,io阻塞线程等; 本文部分内容转自:这篇博文写的非常好 Thread的中断机制(interrupt) - 寂静沙滩 - 博客园先看收集了别人的文章&#xff0c…

WEB API系列(一):WEB API的适用场景、第一个实例

在我前一篇博客《WebAPI前置知识:HTTP与RestfulAPI》中已经给各位简单介绍了HTTP协议与RestFul API的关系,以及一些基本的HTTP协议知识,在这些知识的铺垫下,今天,我们一起来讨论一下WEB API的适用场景,然后写我们第一个…

rpa文件怎么提取内容_怎么编辑pdf文件内容?有什么软件可以编辑pdf文件吗?

怎么编辑pdf文件内容?我是2020年大学新生,选择学习的专业是财务管理。为了更快、更深入地了解更多专业知识,我上网查找、下载了很多相关资料。不过,从网上保存下来的资料文件大多是pdf格式的,想要编辑它还得先转word。…

Future取消线程执行

【README】 本文总结于 《java并发编程实战》 page121,非常棒的一本书; 【1】Future 1,介绍:future 用于管理任务的生命周期,处理异常,以及实现取消; 2,future.cancel() 取消方法…

Nancy之结合tinyfox给我们的应用提供简单的数据服务

说到提供数据服务给我们的一些应用,估计用的最多的也就是json和xml这两种数据格式 实现的方法也是多种多样,web api,mvc的jsonresult和contentresult...等等 本文是结合Nancy、TInyFox、Owin等来实现的 一、前提工作 新建一个空的web应用程序 添加相应的…

javaweb调用python算法_请教怎么用java远程调用python? 多谢

请问如何用java远程调用python? 谢谢!本帖最后由 blackkettle 于 2015-05-07 13:00:41 编辑比如有一台机器 A上安装了python, 另一台机器B要用java 调用A 上的python的某个函数,输入数据在B机器上,所有的计算在A机器完成,结果返回…

(转)如何查看java本地方法

在线查看本地代码, refer2 http://hg.openjdk.java.net/jdk8/jdk8/hotspot/file/tip/src/os/linux/vm/os_linux.cpp 我们知道在java中查看java源码时看到native方法在java层面上就到头的,如果还想继续往下看就需要看jdk是如何实现的,今天就分…

统一配置中心的设计方案

转载自 统一配置中心的设计方案对于配置文件,我们不陌生,它提供我们可以动态修改程序运行能力。引用别人的一句话就是:系统运行时(runtime)飞行姿态的动态调整。我可以把我们的工作称之为在快速飞行的飞机上修理零件。我们人类总是无法掌控和…

微软CEO纳德拉恢弘计划:让开发者始终忘不了微软

BI中文站 4月11日 报道 当微软前CEO史蒂夫•鲍尔默(Steve Ballmer)在2000年喊出“开发者,开发者,开发者”的口号时,他可能有点儿激动,但是他的观点是对的。 30年前当Windows 1.0推出的时候,这种…

python scratch unity_Unity3D研究院之2D游戏开发制作原理(二十一)

经过了4个月不懈的努力,我和图灵教育合作的这本3D游戏开发书预计下个月就要出版了。这里MOMO先打一下广告,图灵的出版社编辑成员都非常给力,尤其是编辑小花为这本书付出了很大的努力,还有杨海玲老师,不然我也无法完成这…

原码补码与反码

【README】 1.本文内容总结自“哈工大刘宏伟”老师的mooc视频《计算机组成原理》on bilibili; 2.为了便于理解,本文引入了逗号分割符号部分和数值部分,计算机存储数据的时候没有逗号; 【1】原码表示法 原码定义: 原…