2017年,我的身边发生了那些事?

不知不觉,运营独具.NET跨平台特色的微信公众号:dotNet跨平台至今已经整整三年光景了,这三年里微软开源.NET也满三周年了。三年时间说长不长,说短也不短了,然而我还是保持着每天三篇的更新 ,或有感而原创,或节选社区文章。但更多时候确实在琢磨着内容,向大家推送.NET开源社区中的精髓,希翼在其中推动社区多多采纳.NET Core。那么我们在这个阳历年即将过去的时候,不妨来总结下,2017年在身边都发生了什么有趣的事情。

1、微软成为GitHub企业排名榜首。提起微软公司,不少人第一反应是老牌巨头专注于私有化软件盈利模式,这大抵是源于微软前CEO Steve Ballmer曾经宣称“Linux是颗毒瘤(Linux is a cancer)”,并曾经偏执地认为所有开源软件都不值一提。但是,这是2001年的事情了,是时候更新大家对微软的刻板印象。2014年10月,出任微软首席执行官的萨提亚? 纳德拉,第一次公开宣布“微软爱Linux”。同年,微软首次发布.NET Core并将其开源;众所周知,微软核心的技术栈长期以来基于.NET和Windows绑定。在重写标准库之后,2016年6月.NET Core 1.0实现跨平台(Windows、Linux和Mac),2017年8月.NET 2.0发布 ,新版本的 .NET 已经从 .NET Standard 1.6 中的 13,000 个应用程序编程接口(API)跃迁到了 .NET Standard 2.0 中的 32,000 个。大多数新的 API 是 .NET Framework API。这意味着开发者可以更容易地将现有的 .NET Framework 代码移植到 .NET Standard。简而言之,微软的主要编程语言现在比以往任何时候都更加跨平台。GitHub 贡献第一的微软开源软件列表 , 社区将继续在 .NET 开源项目上进行投资,这对所有 .NET 开发人员都有好处。

2、使用.NET Core开发的项目成功上线运行。 今年使用.NET Core开发的项目已经成功上线运行半年有余,.NET Core的高性能和架构以及活跃的开源社区让我如虎添翼,基于ASP.NET Core打造可扩展的高性能企业级API网关,以开源的API网关Ocelot为基础结合自己的业务特性打造的财付通清算网关,在整个项目的开发过程中,参与社区开源项目的开发,以及借助社区的力量,将微服务的重要组件API网关落地。微软也是非常的支持社区的开源项目,大家都看到了微软和我们的团队一起拍摄的宣传视频: frameborder="0" class="video_iframe" data-vidtype="-1" data-ratio="1.7647058823529411" data-w="480" data-src="http://v.qq.com/iframe/player.html?vid=z0505atdyg2&width=670&height=376.875&auto=0" style="display: block; width: 670px !important; height: 376.875px !important;" width="670" height="376.875" data-vh="376.875" data-vw="670" src="http://v.qq.com/iframe/player.html?vid=z0505atdyg2&width=670&height=376.875&auto=0"/>

大家看到的视频不到2分钟的长度,分别在北京微软Tech Summit 2017和Connect(); 2017 开发者大会上亮相,我为了拍这个视频,投入了2天时间,微软的同事就更辛苦,她们3人从西雅图飞到深圳,借助香港的本地团队一共7人参与进来拍摄,还有后期的制作,最后浓缩的只有不到2分钟,这就像我们的软件开发过程中的所有努力你看不到,你看到的是完美的结果。同样的开源 .NET 框架并不总是一帆风顺的,可以肯定的说,总是会遇到一些困难。你所看到的是.NET生态的完美结果,比如.NET Core 和 Mono 之间已经有了更深层次的整合,.NET Core的性能得到了显着提升。所以对于2017年还在犹豫要不要转型到.NET Core平台的你来说,2018年肯定可以开始行动了。 你也可以看看 从ThoughtWorks 2017技术雷达看微软技术,作为一个开源的跨平台软件开发框架,.NET Core被越 来越多地运用到实际项目中。该框架令 .NET 应用能在 Windows、macOS 以及 Linux 进行开发和部署。.NET Standard 2.0 的发布增加了跨多个 .NET 平台的标准 API 的 数量,这使得往 .NET Core 迁移的路径变得更为清晰。有关 .NET Core 对其上类库的支持性问题正在逐渐减少。一流的 跨平台工具已经涌现出来,用于在非 Windows 平台上进行 高效的开发工作。运用 Docker 镜像,能让 .NET Core 服务可 以轻松地集成到容器环境中。其社区发展的积极方向以及 来自我们实际项目的反馈,都表明 .NET Core 现在已经可以广泛地运用了。

3、 推广开源项目Ocelot。项目中成功落地微服务架构,其中的关键组件API网关项目Ocelot 也得到了社区的认可,很多同学已经把它应用到项目中。 从事开源项目并不是把它开源就完事,这里借助一位微信群里的同学说:”特别是不能像有些国内公司的开源项目,小算盘打着很精,自己内部一套版本,跑了100公里,拿出自己10公里地方的代码开源,没诚意“。我们要看清形势,开足马力。一个项目经常会有一个围绕着它的社区,这个社区由各个承担不同角色的用户组成:

项目的拥有者:在他们账号中创建项目并拥有它的用户或者组织。

维护者和合作者:主要做项目相关的工作和推动项目发展,通常情况下拥有者和维护者是同一个人,他们拥有仓库的写入权限。

贡献者:发起拉取请求 (pull request) 并且被合并到项目里面的人。

社区成员:对项目非常关心,并且在关于项目的特性以及 pull requests 的讨论中非常活跃的人。

如果你在使用项目中发现了一个 bug,而且你不知道怎么解决这个 bug。或者使用文档时遇到了麻烦,或者有关于这个项目的问题,你可以创建一个 issue。不管你有什么 bug,你提出 bug 后,会对那些和你有同样 bug 的人提供帮助。 Ocelot 项目目前已经有贡献者13人,项目的Star也已经895个。通过博客,公众号,还有社区活动在中国的社区中推广Ocelot,让中国区的更多人一起来推动项目的发展。这里以我在微软Tech Summit 2017 的课程内容来让大家再次认识下Ocelot:

frameborder="0" class="video_iframe" data-vidtype="-1" data-ratio="1.7647058823529411" data-w="480" data-src="http://v.qq.com/iframe/player.html?vid=c0508ti8mxo&width=670&height=376.875&auto=0" style="display: block; width: 670px !important; height: 376.875px !important;" width="670" height="376.875" data-vh="376.875" data-vw="670" src="http://v.qq.com/iframe/player.html?vid=c0508ti8mxo&width=670&height=376.875&auto=0"/>

结语

2017年围绕着.NET Core的开源前进,开源让我们和世界更加同步,我们不再区分微软阵营,开源阵营。2018年我们继续拥抱开源,世界大同。

原文地址:http://www.cnblogs.com/shanyou/p/8151206.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com


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

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

相关文章

ABP .Net Core Entity Framework迁移使用MySql数据库

一、迁移说明ABP模板项目Entity Framework Core默认使用的是Sql Server,也很容易将数据库迁移到MySQL,步骤如下。二、迁移MySQL步骤1、 下载项目请到 http://aspnetboilerplate.com/Templates 下载一个新的项目,选择ASP.NET Core 2.x标签&…

(四)十大经典排序算法(动画图解,代码完全)

排序算法是《数据结构与算法》中最基本的算法之一 1. 冒泡排序 1.1 算法步骤 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。…

(五)SpringBoot 能挣钱的几个项目!!!

不得不佩服 Spring Boot 的生态如此强大,今天给大家推荐几款 Gitee 上优秀的后台开源版本的管理系统,小伙伴们再也不用从头到尾撸一个项目了,简直就是接私活,挣钱的利器啊。SmartAdmin我们开源一套漂亮的代码和一套整洁的代码规范…

手把手引进门之 ASP.NET Core Entity Framework Core(官方教程翻译版 版本3.2.5)

以下是手把手引进门教程,基于 ASP.NET Core, Entity Framework Core ,ABP 框架 创建Web 应用, PS: 自带自动的测试模块哦。样例下载 (上 github 的请自便)介绍这是系列文章的第一部分&#xff1…

图像识别:微信跳一跳机器人

准备IDE:VisualStudioLanguage:VB.NET/C#GitHub:AutoJump.NET本文将向你介绍一种通过图像识别实现“跳一跳”机器人的方法。 第一节 图像识别文中提到的所有方法和步骤均仅涉及简单的向量计算。需要哪些计算?比较像素点的颜色求向…

(七)HTML和CSS 、JavaScript 和Java到底有什么区别,今天终于明白了!!!

有人曾经问过,“HTML CSS 和 JavaScript 以及 Java有什么区别” TCP VS UDP Java VS C 功能先上了再说 高级开发人员作为一个团队进行编程 调试CSS 高级开发人员重构代码 能一个手指完成的绝不用两只手 看实习生编码的时候,我的表情…… 当我尝试进入B…

基于Accord.Audio和百度语言识别

目标需求使用录音形式,模拟微信语音聊天。按住录音,松开发送语音,并完成语音识别。ps:百度的语言识别有60秒长度限制,需要自己做好控制。实现方案采用C# winform 程序实现桌面版,采用Accord 实现语音录制停…

(八)Spring与MyBatis整合

持久层 目录 Mybatis 开发步骤回顾Mybatis 开发中存在的问题Spring 与 Mybatis 整合思路Spring 与 Mybatis 整合的开发步骤Spring 与 Mybatis 整合的编码搭建开发环境 pom.xmlSpring 配置文件的配置编码Spring 与 Mybatis 整合细节持久层整合总述 1、Spring 框架为什么要与持…

Git 企业开发者教程

为什么要写这样一个面向企业开发者的Git教程?这个问题也困扰我自己很久。其实我使用git的时间也不短了,但是就和正在阅读本文的每一位一样,常用的基本就是那么几个(git clone, git push)等等。然而git其实有着非常强大的功能,如果…

基于百度理解与交互技术实现机器问答

一、前言我们都知道现在聊天对话机器是一个很有意思的东西,比如说苹果siri,比如说微软的小冰。聊天对话机器的应用场景也很广泛,比如说:银行的自助办卡机器人、展会讲解解说等等。我们对机器人说句话,机器人从听取&…

(十)Spring 与 MVC 框架整合

Spring 整合 MVC 目录 MVC 框架整合思想为什么要整合 MVC 框架搭建 Web 运行环境Spring 整合 MVC 框架的核心思路1. 准备工厂2. 代码整合Spring 整合 Struts2MVC 框架整合思想 为什么要整合 MVC 框架 MVC 框架提供了控制器(Controller)调用 Servlet …

利用VSTS跟Kubernetes整合进行CI/CD

为什么VSTS要搭配Kubernetes?通常我们在开发管理软件项目的时候都会碰到一个很头痛的问题,就是开发、测试、生产环境不一致,导致开发人员和测试人员甚至和运维吵架。因为常见的物理环境甚至云环境中,这些部署环境都是由运维人员提…

(十一)Spring 基础注解(对象创建相关注解、注入相关注解)

注解编程 目录 注解基础概念注解的作用Spring 注解的发展历程Spring 基础注解(Spring 2.x)对象创建相关注解ComponentRepository、Service、ContollerScopeLazy生命周期注解 PostConstruct、PreDestroy注入相关注解用户自定义类型 AutowiredJDK 类型注…

使用 ASP.NET Core, Entity Framework Core 和 ABP 创建N层Web应用 第二篇

介绍这是“使用 ASP.NET Core ,Entity Framework Core 和 ASP.NET Boilerplate 创建N层 Web 应用”系列文章的第二篇。以下可以看其他篇目:使用 ASP.NET Core ,Entity Framework Core 和 ASP.NET Boilerplate 创建N层 Web 应用 第一篇 &…

揭秘微软6万工程师DevOps成功转型的技术「武器」

在微软,通过其自身数年的 DevOps 转型, 6 万名工程师实现了更好的软件平台创新和快速迭代。微软有庞大的技术产品矩阵,同时也具有每天发布的能力,其中,微软研发云是支撑整个开发过程与运维最重要的基础平台。微软研发云…

Flowable学习笔记(一、入门)

转载自 Flowable学习笔记(一、入门) 一、Flowable简介 1、Flowable是什么 Flowable是一个使用Java编写的轻量级业务流程引擎。Flowable流程引擎可用于部署BPMN 2.0流程定义(用于定义流程的行业XML标准), 创建这些流…

01-MyBatis入门程序

MyBatis入门程序 目录 1. 下载 Mybatis 核心包2. 创建工程,引入 MyBatis 核心包及依赖包3. 创建 customer 表,建立与表对应的 domain使用 lombok,开启注解创建 Customer 类4. 创建 MyBatis 核心配置文件 SqlMappingConfig.xml5. 创建表对象…

角落的开发工具集之Vs(Visual Studio)2017插件推荐

“ 工具善其事,必先利其器!装好这些插件让vs更上一层楼”因为最近录制视频的缘故,很多朋友都在QQ群留言,或者微信公众号私信我,问我一些工具和一些插件啊,怎么使用的啊?那么今天我忙里偷闲整理一…

02-MyBatis配置SQL打印

MyBatis 配置SQL打印 在 SqlMappingConfig.xml 中配置以下代码&#xff1a; <!--配置sql打印--> <settings><setting name"logImpl" value"STDOUT_LOGGING"/> </settings>运行效果&#xff1a;会显示 SQL 语句&#xff0c;查询结…

Flowable学习笔记(二、BPMN 2.0-基础 )

转载自 Flowable学习笔记&#xff08;二、BPMN 2.0-基础 &#xff09; 1、BPMN简介 业务流程模型和标记法&#xff08;BPMN, Business Process Model and Notation&#xff09;是一套图形化表示法&#xff0c;用于以业务流程模型详细说明各种业务流程。 它最初由业务流程管理…