技术、产品、交流、思考 - 微软技术暨生态大会 2018

微软技术暨生态大会 2018(Microsoft Tech Summit 2018)已于 2018 年 10 月 25-27 日在上海世博中心召开。本文记录我们参会后的一些知识和思考。


2018 年 10 月 23 日中午,我和林德熙踏上了前往上海的旅程。这是德熙第一次进行如此长途的旅行,之前几乎一直待在家里。

微软技术暨生态大会 - 上海世博中心

微软技术暨生态大会是从 10 月 25 日到 10 月 27 日,而 10 月 24 日是微软合作伙伴会议。我们当初在制定行程时,并没有意识到微软合作伙伴会议与微软技术暨生态大会是分开的,所以我们其实多准备了一天的行程。不过这也正好可以有额外充足的时间了解世博中心和微软合作伙伴展示的产品。

我们是乘坐高铁往返的,平均单程 8 个小时。这是非常久的时间,除了高铁噪声之外很安静。我们可以做非常多的阅读、思考、交流、准备。当然,我还利用这样的时间修改分会场课程的课件,然后预演,为课程 预编译框架 - 开发高性能应用 做准备。

高铁

产品

产品展厅自 24 日起就开始展示。合作商覆盖微软推广的各个方向 —— 云、人工智能、DevOps 开发者套件、现代化的工作模式……作为开发者,由于这部分的合作涉及到较多商务上的沟通,所以我们并没有进行深入的交流。

现场为所有的参会人员准备了午餐盒饭,在 微软粉丝之夜:IT之家读者捕捉铺路集团董事长玄隐 - 微软,粉丝之夜,技术暨生态大会 - IT之家 中你能找到 MVP 保哥MVP 林德熙的午餐图片。

现场的午餐

只有我一个人觉得这份午餐的分量很足还能吃剩吗?为什么大家都说吃不饱?

额外的,在粉丝之夜有简餐,是一些西餐甜点,都是凉的。由于我来之前的几天闹肚子,所以虽然饿但只吃了一点点。而林德熙也饿,吃了很多,结果第二天开始闹肚子😂。

所以我们竟然四个晚上都光顾了附近外卖的一家粥铺。

技术

Visual Studio 协同开发

第一天整天都不像是一个技术交流,不过这一切在 26 号起有了变化。由于我早上去分会场进行 27 号分会场课程彩排,所以错过了一开始的主会场内容。

据小伙伴林德熙的描述,第一个是令人振奋的是 Visual Studio 的协作功能。在现场演示中,工程师通过分享一个 Visual Studio 的协同编辑链接,另一位工程师可以协同编写前者的代码。在此过程中,编写和调试都和在另一台电脑上无异。

这无疑是团队进行开发协作的一项重大功能!结对编程在软件工程中不止是共同完成某项功能,减少 Bug,更能让不同的开发者之间互相学习对方的技术、开发手法以及以及高效习惯。而 Visual Studio 的协同开发功能无疑让结对编程的成本突然间减小了许多。

当然,不止是协同编辑,还能协同调试。不止在 Visual Studio 中能够使用,在 Visual Studio Code 中也一样可以使用。

AppCenter 在一处管理你所有的应用发布

接下来是开源与跨平台相关的技术演讲。

在介绍 Xamarin 的时候,提到了 Xamarin.Forms。如果使用 Xamarin 的原生控件开发方式,那么开发者需要了解各个平台的界面布局规则。在有了 Xamarin.Forms 的情况下,开发者可以无需了解各个平台的布局即可开发出适用于各个平台的应用。当然,这其实引入了一个 UI 间接层,在 UI 的实现中绕了一下,可能不适用于开发稍微复杂一点的应用。当然这些都是以前就有的内容了。

令人兴奋的是,随着 Xamarin,也推出了 AppCenter 服务!你再也不需要针对每一个应用市场走不同的发布流程了,你可以在只在 AppCenter 中完成 App Store 以及 Google Play 或者其他市场的发布流程。

Visual Studio App Center

.NET Core 3 与桌面应用

今年五月的 Microsoft Build 大会上就已经发布了重磅消息 .NET Core 3 将为桌面应用带来支持。不过主会场上与 .NET Core 3 相关的演示依然令人兴奋。

演讲者使用 .NET Framework 版本的应用进行磁盘文件扫描,得出所有文件目录的百分比占用的时候用时 7109 毫秒。而相同的代码使用 .NET Core 3 编译,进行同样的操作,耗时是 1763 毫秒!

不止如此,.NET Core 3 还提供了一种编译方式,将所有的第三方依赖通通发布成一个 exe,这样,你能直接带走一个什么依赖都不需要的单个 exe 文件进行分发;相比于此前 .NET Core 3 发布时一大堆第三方依赖包,或者 .NET Framework 时需要的 .NET Framework 环境依赖来说,简直是方便!

思考方式

大会带来的不止是产品和商务的碰撞,不止是技术和推广和交流,更有思考方式上的改变。

No problems can be solved from the same level of consciousness that created it.

在“万物重构”分会场课程中,韦青老师将云比喻成电,将公有云比喻成电网,将私有云比喻成发电机。曾经在电网不那么稳定,是不是会停电的日子里,可能每家大院都会有一台发电机,为自家大院供电。不过共有电网因为雄厚的实力,其发展速度是非常快的,无论从稳定性、速度、可用性还有安全性上都好的太多,私有发电机渐渐会失去其作用。私有云就像发电机一样,是公有云发展过程中的中间方案。

技术是一种赋能,其应用不止是在技术本身。例如电,早期对电的用途就在于发挥它的能源和光属性;很容易地就用电来驱动点灯。可能早期怎么都不能想到可以使用电来做现代计算机这样如此复杂和精密的任务。云,如此,不止用来存储和计算。这是一种赋能,是一种再创造。

大佬

Edi Wang

https://edi.wang/

Edi Wang

Edi Wang 是我们第一个遇到的大佬,一直活跃于 Windows 应用开发 UWP 方向。当然后面也在做 Asp.NET Core。

Edi Wang 是个 100% 资深的软粉,所有的产品都是用微软的。歌单中还有“软狗之歌”……

文轩

https://www.ithome.com/

蓝衣是玄隐,皮卡丘是文轩
▲ 图片来自 IT 之家 微软粉丝之夜:IT之家读者捕捉铺路集团董事长玄隐 - 微软,粉丝之夜,技术暨生态大会,蓝衣是玄隐,皮卡丘是文轩

文轩的实名是白天宝,是 IT 之家的编辑。擅长写深度文章而不是资讯,做微软产品评测。在青岛 IT 之家,快讯一天需要三十篇,而深度文章则不需要那么多。

文轩对对质量的要求很高。不止是自己的文章,还有形象,还有周围的环境以及给大家的体验。出发之前理了一个奇妙的发型,于是买了一只耳朵会动的皮卡丘帽子。在 MVP 之夜之前,将酒吧背景音乐换成微软在各大会场曾经播放过的音乐;将酒吧中所有的显示器图案换成 Microsoft Logo;将酒吧灯光换成与 Microsoft Logo 搭配的主题蓝色,并搭配一些让人舒适的暖色。他仔细校准每一个灯光,显示器中的显示效果,以求达到最佳的微软酒吧氛围。

IT 之家的读者更多的是粉丝群体,学生很多。如果文章内容过于偏技术,那么不会有多少读者。所以可能一些非技术性或半技术性文章可以在 IT 之家发布和推广呢!

梁桐铭

微信公众号:角落的白板报

梁桐铭是一位 90 后,频繁活跃于 .NET 社区和成都 .NET 线下。他和张善友一起不断尽自己的努力改善国内的 .NET 生态环境。

在课程《打造开源的 .NET Core 微服务解决方案》课程中,他介绍了 52ABP.com 微服务框架,可以用在你的 Web 应用上。

红薯

红薯是开源中国创始人,码云创始人。拥抱开源,专治 GitHub 在中国的各种水土不服。

码云为个人开发者提供免费的 git 仓库服务,为企业开发者提供付费的私有仓库服务。企业可以通过签署合同的方式来保证企业私有仓库的安全。

期望码云能够与开发工具有更多的集成,或者可以提供 API,让社区来帮助完成这样的集成。

吴波

http://blog.vichamp.com/

吴波是 PowerShell 方向的 MVP,在福建。对 .NET Framework 和 .NET Core 的迁移也是很感兴趣的。他推荐我们可以尝试使用 Turbo Studio 对 .NET Framework 环境进行虚拟化,这样应用在部署之后可以不需要系统中安装的 .NET Framework 环境。

他告诉我们,一般企业会非常支持这种对外的技术交流的,因为对公司来说:

  1. 可以提高团队对外的技术影响力;
  2. 可以为团队塑造一个有应诉待查的 Leader,这样在团队中进行一些决策时大家更能够信服,容易推动一些技术方案的执行;
  3. 可以吸引技术人才,了解前沿技术。

项斌

http://www.cnblogs.com/BeanHsiang/

在 MVP 展台一直循环播放的视频中,有一段是校宝在线的。正好我们发现项斌就职于校宝在线。

更多阅读:鬼才项斌,用人工智能推动教育服务创新

邵猛

https://www.cnblogs.com/shaomeng/

邵猛

深圳来画科技的 UWP 版本开发者,在技术和商务上都是领导者。

水歌

水歌的名字是石垚(yáo),做 FCC 培训内容。FCC 全称 Free Code Campus。

FCC 为学员免费提供各种语言的学习资料,可以在线从零开始学习编程语言。他为此提供一些课程内容。

领英在没有与 FCC 有过任何沟通的情况下,把 FCC 认证作为大学认证同级别对待。

张善友

微信公众号:dotNET跨平台

张善友(右)和梁桐铭(左)
▲ 张善友(右)和梁桐铭(左)

张善友的名气已经不需要介绍了……

Dino

http://www.cnblogs.com/dino623/default.html

Windows 应用圈

微软主推的 Windows 桌面应用的开发框架是 UWP / WPF / Windows Forms,随后是原生 Win32 API。

Windows 桌面应用的开发者在国内是真的少,传说中的后 PC 时代。27 号上午我的课程预编译框架,开发高性能应用还有很多人参加。虽然说主要适用于桌面应用,不过在思想上也能用于其他 .NET 领域(当然开源社区的小伙伴如果能多多支持也能都支持的)。而邵猛下午的课程利用 Windows 新特性开发出更好的手绘视频应用听众就寥寥无几了。虽说那个时间已经有不少参会者走了,不过这与国内目前的 UWP(或者说推广到 Windows 桌面应用)生态不无关系。

Windows 应用 UI 框架的未来发展方向

虽然微软会持续发力,但 UWP 在未来很长一段时间之内可能只会成为小众,除非找到下一个爆发点。这真的得益于微软在 Windows 应用分发平台上的各种失误(比如各种商店无法下载……)。

在微软推广 UWP 的过程中,WPF 一直作为 UWP 的上一个遗落的版本而存在着,只会处于维护状态。微软会为其添加安全更新、添加 .NET Core 迁移相关的支持,而不会再在性能或者一些低概率的 Bug 上耗费太多精力。WPF 会在此状态下持续很长一段时间,因为微软必须考虑到自家内部产品中也存在大量基于 .NET Framework 的 WPF 和 Windows Forms 应用,比如 Visual Studio。在未来一两年内,WPF 和 Windows Forms 最大的变化要属其 .NET Core 化了,估计 Visual Studio 这种重磅的应用可能面临着两种不同的进化路线:

  1. 向 .NET Core 方向迁移。
    • 如果这种事情发生,那么至少 WPF 会在未来一个较短的数年之内获得不那么少的维护支持。至少必须确保 Visual Studio 这种大级别的 WPF 应用能够顺利完成迁移而不会产生大量明显的 Bug。
  2. 向跨平台方向迁移。
    • 这几乎相当于对 Visual Studio 的界面代码进行一次彻头彻尾的重构。不过考虑到插件的兼容性,也许未来一段时间之内这种跨平台迁移会采用混合界面框架。

Visual Studio 几乎不会往 UWP 的方向发展。

未来的 Windows UI 框架选择

从对微软内部工具的迁移策略可以对我们的技术栈变化带来一些可能发展方向的思考。首先,如果是 WPF / Windows Forms,那么向 .NET Core 的迁移几乎成了一个 100% 要做的事情。无论未来 WPF / Windows Forms 产品要向哪个方向发展,只要不是整个团队的开发人员换掉,整个技术栈换掉,.NET Core 迁移都是必然的一步。这一步不止能带来大量的性能提升,还能让应用不再与操作系统产生大量的耦合,减少 .NET Framework 部署到操作系统中产生的一堆环境问题。

那么可以采用的 UI 框架是什么呢?

  1. Xamarin 方向
  2. UWP 方向
  3. 混合 UI 框架方向

对于希望团队充分进行技术复用,那么几乎可以考虑迁移到以上 UI 框架,否则可以考虑其他 UI 框架。当然我更推荐使用混合 UI 框架,这样利于未来 UI 框架的演进,并充分利用到新 UI 框架带来的 Windows 新特性支持和高性能。

再见 Tech Summit 2018
▲ 再见 Tech Summit 2018

高铁上的夜色

回家的时候,高铁上。再次进入了夜色……

本文会经常更新,请阅读原文: https://walterlv.com/post/tech-summit-2018.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 (walter.lv@qq.com)