代码之家  ›  专栏  ›  技术社区  ›  Brian R. Bondy

针对不同平台单独开发,有人推荐吗?[关闭]

  •  3
  • Brian R. Bondy  · 技术社区  · 16 年前

    我知道推荐几个跨平台库很容易。

    但是,为您的产品单独处理每个平台是否有好处?

    是的,在所有平台中都会用到一些基础库,但是在每个平台上,UI和其他一些东西是不同的。

    我没有任何限制,即每个平台上的产品必须100%相同。

    Mac、Linux和Windows是目标平台。

    沉重的win32 api,mfc已经用于Windows版本。

    我之所以不完全支持跨平台库,是因为我觉得最终产品在尝试将其推广到所有平台时会受到一些影响。

    6 回复  |  直到 16 年前
        1
  •  14
  •   Rodyland    16 年前

    我想说,每个平台的个人开发的好处是:

    -本土化的外观和感觉

    -开发人员获得的平台知识

    -…我没主意了

    说真的,如果不小心的话,开发和维护3个单独的应用程序副本的成本可能会很高。

    如果您担心的仅仅是GUI代码,那么无论如何,将GUI部分划分为每个平台的开发工作,但是您会后悔没有保持核心“业务逻辑”类型代码的通用性。

    考虑到将您的GUI与逻辑分开通常被认为是一个好主意,这将迫使您的开发人员在将“一点点”业务逻辑放入表示层的诱惑不可避免时保持这种分离。

        2
  •  2
  •   Vinko Vrsalovic    16 年前

    我认为好处是

    • 能够在所有平台中获得完全本地的行为,这对最终用户来说是件好事。

    风险在于

    • 最终你可能会编写三个应用程序,而不是一个有一些差异的应用程序(也就是说,更容易陷入让我们以不同的方式做x!)
    • 您将在不同的操作系统版本之间创建轻微的不兼容性,而不会注意到它。
    • 维护成本将与您拥有的不同代码的数量成比例地受到影响。

    因此,通过考虑风险,您可以开发出优秀的本地行为应用程序,尽可能使用最大的通用核心(抵御风险1的诱惑),对所有平台进行大量集成测试(将风险降至最低2),并设计减少获得本地行为所需的代码数量(注意风险3)。

        3
  •  1
  •   Mark Bessey    16 年前

    是的,跨平台的UI库总是会使您的程序在至少一个平台上看起来和/或表现得有点“怪异”。

    如果在UI代码和内部构件之间有良好的分离,那么重新使用非UI代码并为每个平台创建一个优化的用户界面并不难。很多高预算的跨平台应用程序就是这样开发的。

        4
  •  1
  •   SmacL    16 年前

    它还取决于您的平台有多不同,以及一个平台上的所有功能是否在另一个平台上可用。我开发的工具具有可用于Win32平台、Windows CE和Mobile以及各种嵌入式平台的版本。产品的某些方面与没有匹配硬件的平台不相关。 例如,我目前正在研究一种基于实地的土地调查产品。 1 它与各种测量设备(如GPS和全站仪)一起工作,在各种平台上使用各种通信媒体,如蓝牙、RS232和无线电调制解调器。我目前正在研究的具体版本将托管在一个测量设备上,这个测量设备的屏幕和键盘相对较小,内存和存储空间非常有限。没有必要包括与其他设备相关的功能,用户尽可能保持界面的简单和流线型,这是非常有益的。

    流线型的用户界面、小的可执行文件和对bloatware的零容忍在某些领域仍然是最重要的。当然有很多公共源,但也有很多特定于目标的源和条件编译。

        5
  •  1
  •   John Millikin    16 年前

    我不能否认这很有吸引力,但它的确提出了一个中间立场的问题。显然,您将共享一些后端代码,但是在设计和代码方面,您可以共享多少,在UI端共享什么?

    我认为这是一个个案问题。通常,它可能不值得,但某些特定平台上的某些特定应用程序应该针对该操作系统的具体情况。

        6
  •  0
  •   Jim In Texas    16 年前

    对于客户端程序(即非Web服务器程序),很难找到优秀的Mac和Linux开发人员,也很难找到优秀的Windows开发人员。

    您拥有的独立于平台的代码越多,在所有三个平台上完成项目就越容易和更快。

    维护三个代码库既昂贵又危险。使用跨平台工具的竞争对手每次都会在市场上击败你。