gpt4 book ai didi

跨平台桌面应用程序——一种方法?

转载 作者:行者123 更新时间:2023-12-04 01:48:19 27 4
gpt4 key购买 nike

我有一个我认为是应用程序的杀手锏。根据定义,这将是一个桌面应用程序,它与我编写它的平台(Windows 搜索服务、Mac OS X Spotlight 服务器)提供的一些相当低级的服务相关联。

我的意图是 Mac OS X 和 Windows 版本。绝对意图实际上是不共享代码——主要是因为它很少(如果有的话)可以通用。正因为如此,我打算使用完全不同的框架(Mac 上的 Cocoa/Obj-C,Windows 上的 C#/WPF/PInvoke)并让两者都感觉“原生”于他们的平台,如果你愿意的话,它们是一流的应用程序公民。

我的问题是:尝试“同时”构建它们是否更好,也就是说,即使在整个开发周期中也尽量保持它们的功能相同;还是让一个“正确”然后跟进另一个更好?

保持平价的优点似乎是:

  • 更容易保持算法对齐,因为我用一种语言实现,我只是移植到另一种语言
  • 更容易确保在发布时,两个应用程序都立即可用

  • 保持平价的缺点似乎是:
  • 更难做;不断的语言切换可能会让我头晕目眩(每当我工作 C# 4 天时,我已经在工作中经历过这个,然后突然不得不维护我们旧的 VB.NET 解决方案之一)

  • 一个的优点,然后另一个,似乎是:
  • 没有恒定的语言切换
  • 一个平台可以在测试中,而另一个正在构建中

  • 一个的缺点,然后另一个,似乎是:
  • 回到“旧”代码来移植算法
  • 可能对“重做”我已经做过的事情失去兴趣

  • 诚然,这是非常雄心勃勃的......而且我只是一个人,在“空闲”时间做这件事(哈哈)。如果您在同一条船上,并且熟悉这两种技术,您将如何处理?

    更新

    回答下面的一些问题:

    是的,一个通用的 API 是可行的,但是调用约定不会——或者至少,不容易。我确实打算定义相同的类,但使用特定于平台的代码。 (这似乎相当关键,因为 Windows Search Service 和 Spotlight 的工作方式完全不同。)

    我可以使用 Java 之类的东西,但我选择不这样做有几个原因:(1)我没有永远使用 Java,现在很危险地不合格。 :) (2) 其中一部分是通过在我熟悉的技术中“基本上”使用相同的应用程序来学习 Objective-C 的练习; (3) 虽然 Swing 可以在 OS X 上提供大部分原生外观,但它的 Windows UI 感觉并不完全正确,我真的希望这两个应用程序都感觉它们属于各自的系统。

    上市时间不是一个重要的考虑因素。我觉得应用程序的想法本身将是相当安全的。比 TTM 更重要的是让应用程序感觉正确并提供功能......

    最佳答案

    我会首先为拥有最大目标受众的平台(如你的杀手级应用程序)进行开发,然后使用我在此过程中学到的不可避免的类(class)来改进我为其他人开发的方式。

    关于跨平台桌面应用程序——一种方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/367121/

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