gpt4 book ai didi

wpf - 跨平台开发 - 使用跨平台 UI 工具包还是在多个平台上使用 native ?

转载 作者:行者123 更新时间:2023-12-03 16:16:02 26 4
gpt4 key购买 nike

我正在寻找一些论据来向我的老板和其他开发人员推销。

我们目前正在完成初步的 UI 模型,并准备进入下一阶段的开发。与此同时,我一直在深入研究 Carbon、Win32 和 wxWidgets API,试图使某些控件在 Mac 和 Windows 平台上具有更原生的外观和感觉。

我越深入研究 Win32 和 Carbon API 来实现我们项目 UI 中我们想要的东西,它们就越过时,我越开始认为我们应该按照最后一段here

我们正在为当前的项目使用 wxWidgets。 wxWidgets 即将在 wxCocoa 端口上出现,但在我们开始对新应用程序进行重大开发工作之前,它看起来还没有准备好迎接黄金时段。在 Windows 方面,它包装了 Win32 API,而不是 WinForms 或 WPF(可能是由于 native 代码与托管代码)。

我们已经在设计系统时考虑到了 MVC 模式,因此除了必须编写两个 native UI 之外,它应该是非常可行的,而且,恕我直言,使用 Cocoa 等现代 API 更容易获得所需的 UI 效果和 WPF。

我一直在努力巧妙地插入这些要点,但重大开发即将开始。对于如何在我们的下一个应用程序中使用 native UI 工具包而不是坚持使用 wxWidgets,有人有任何建议吗?

提前致谢。

最佳答案

使用标准 C++ 创建核心代码,并使用 Objective-C++ 和 Cocoa 来创建 Mac 上的用户体验,使用 C++/CLI 加上 C# 和 WPF 来创建 Windows 上的用户体验。在您的 Mac 版本中遵循适用于 Mac 的平台指南,在您的 Windows 版本中遵循适用于 Windows 的平台指南,甚至不必考虑尝试共享用户界面代码。

管理此问题的一个好方法是,遵循模型-模型 Controller - View Controller - View 架构,而不仅仅是模型- View - Controller 。您的模型 Controller 独立于平台并管理应用程序的更高级别功能。 (例如,文档、文件格式、作业队列等的整个概念。)您的 View Controller 依赖于平台,并在模型 Controller 和用户体验之间发挥中介作用。

当然,您可能还需要模型级别的一些依赖于平台的代码;例如在Mac上使用NSOperation和在Windows上使用线程池来实现作业队列。只需为此类事情创建您自己的轻量级抽象即可。

关于wpf - 跨平台开发 - 使用跨平台 UI 工具包还是在多个平台上使用 native ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/633537/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com