美国当地时间12月4日,微软正式举行 Microsoft Connect(); 2018 开发者大会,本次大会的 slogan 是"Build the apps of tomorrow, today."。在今年的大会上,看得出来微软不是憋了一个 —— 而是憋了一波大招。不妨先看一下这次大会微软宣布的重要消息:
Visual Studio 2019 Preview
.NET Core 3 Preview 1
.NET Framework 4.8
ASP.NET Core 2.2
ML.NET 0.8
WPF, Windows Forms 和 WinUI 框架宣布开源
宣布 .NET 基金会开放接受会员加入
微软和 Docker 宣布了一个新的联合开源项目,即 Cloud Native Application Bundle,它可以更轻松地打包和运行云原生应用程序
Visual Studio 2019 Preview
>>> 戳我进入 VS 2019 Preview 下载地址 <<<
Visual Studio 2019 的主打亮点是提升开发者的开发效率。
大会上,Scott Guthrie 宣布推出 Visual Studio 2019 Preview 1。这是 Visual Studio 下一个主要版本的首次预览版。在该预览版中,主要专注于几个关键领域,例如使其更快地打开并使用存储在 git 仓库中的项目、使用人工智能(AI)(官方称之为 Visual Studio IntelliCode 功能)以改进 IntelliSense,以及通过集成 Live Share,可更轻松地与团队成员进行协作。
Visual Studio 2019 新版启动窗口
WPF, Windows Forms 和 WinUI 框架宣布开源
这是另外一个重磅消息,尤其是 .NET 开发者的福音。在大会上,微软宣布开源三种主要的 Windows UX 技术,分别是 Windows Presentation Foundation (WPF), Windows Forms 和 Windows UI XAML 库 (WinUI)。
这三个框架可以算是 .NET Core 3 框架对 WPF, Windows Forms 和 Universal Windows Platform (UWP) XAML 支持的后续,现有的和新的 Windows 应用程序都可以在 .NET Core 上运行。
WPF 是用于构建桌面客户端应用程序的 UI 框架,具有应用程序模型、控件、图形、布局、数据绑定和安全性等功能。WPF 的核心是一个利用现代图形硬件的渲染引擎。
Windows Forms 用于支持开发“智能客户端(smart clients)”,微软对其的描述为易于部署和更新的应用程序。无论这些应用程序是否连接到 Internet,它们都可以正常工作。Windows Forms 中的表单是用于向用户显示信息的可视界面。WinUI 具有 Windows 10 默认 UWP XAML UI 平台的向后兼容实现。
更多内容请保持关注……
我用WPF写了3年的客户端(但不是C#出身),给我的感受就是:整个框架看上去很美,但实则坑非常多。界面上稍微有点追求,就要在xaml里写一大堆自定义样式和脚本,甚至比业务都多和难维护。虽说有第三方界面库,但样式也都是定死的,很多还要自己各种补丁。跨语言接口交互更是坑的一笔,什么都要搞点特殊扩展扩展,跟别人不一样。还默认不兼容,需要各种配置。性能也一般般,启动速度和渲染性能都偏下。
对Windows API的支持同理,虽然managed code写着爽,但时常会有莫名其妙的bug,找都找不到原因,到头来还得自己编译个c++dll或者unmanaged code开写!真不如直接qt或者c++ + 脚本语言来的痛快。
再者,发布也是个大问题!vs上各种缺失,默认没有代码混淆,反编译比Java还简单;没有官方打包工具,第三方的打包工具要不收费贵,要不写个打包脚本比写个小工具还难!
而且更重要的是:在动态更新动态部署方案满天飞的今天,“打包-发布-安装”这种部署方案也太落后了点。而且在无网环境里,还要打包各种redistributable和framework ,简直麻烦的要死。
以后的桌面客户端应该就是electron和react native这类天生跨平台方案的天下了——直接用脚本写界面,像更新html页面那样更新界面,调用硬件就qt写个本地rpc服务,一切网络化。
winform和wpf这些现在才想起来开源,与其说是借助开源东山再起,倒不如说是微软对这些技术已经不视为宝贝,扔出去自生自灭了。
引用来自“iman123”的评论
微软拥抱开源了,难得啊,WPF这个东西可以在其他平台上的.net core上运行么引用来自“mymbrooks”的评论
不支持 依然是 Windows Only引用来自“kidfruit”的评论
WPF开源代表着未来跨平台的可能性极大,微软真的是在从骨子里开始变化了。引用来自“mymbrooks”的评论
是的 Java 再这么搞要被超越了