不知不觉,运营独具.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网关落地。微软也是非常的支持社区的开源项目,大家都看到了微软和我们的团队一起拍摄的宣传视频:
大家看到的视频不到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:
结语
2017年围绕着.NET Core的开源前进,开源让我们和世界更加同步,我们不再区分微软阵营,开源阵营。2018年我们继续拥抱开源,世界大同。