繁体   English   中英

在Mac上移植WinForms应用程序还是只是重新开发?

[英]Porting WinForms app on mac or just develop it again?

我已经在Windows的Visual Studio中使用C#开发了WinForms应用程序,并且我需要macOS的版本,但是我不知道哪种方法是最好的。 我也有Mac机器,因此编译器没有问题:我已经使用VS2017和集成的Xamarin将Mac作为必需的构建服务器来开发iOS应用,但没有找到用于开发Mac桌面应用的任何此类方法。 NET核心仅适用于控制台应用程序,甚至Visual Studio for Mac与Windows的Visual Studio也有所不同,并且不提供任何视觉设计器。 我是否被迫使用Apple产品重做整个应用程序?

使用.NET构建针对Mac的桌面应用程序有多种解决方案。

Mono是.NET Framework的替代实现,可重新实现Win Forms进行的基础Windows API调用。 这可能是将现有Win Forms应用程序移植到Mac的最直接的方法。

ElectronNETElectron和.NET的组合。 Electron提供了一个结合Chromium渲染引擎和NodeJS的桌面开发框架。 最好是您对Web开发非常熟悉。 值得注意的是,想要构建跨平台应用程序的主要公司正在使用Electron(Visual Studio Code,Slack,Atom等),因此那些有时间投入精力研究如何开发跨平台应用程序的公司似乎选择了此选项。

Avalonia是一个受WPF启发的.NET桌面框架,但它是跨平台的。

所以不,您没有被迫重做您的应用程序。 希望您已经很好地完成了将UI逻辑与业务逻辑分离的工作,这将使使用这些其他技术之一更加容易。

请注意,即使.NET Core 3(跨平台)支持Win Forms和WPF,该功能也只能在Windows上使用。 Win Forms仍然取决于基础的Windows API,而WPF仍然取决于DirectX。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM