3

我以前多次遇到这个问题,并且再次看到这些术语并且不知道它们在计算机工程中的真正概念。

平台和框架指的是什么?

我看到了很多术语,例如平台无关和开发平台,框架也一样,但我不能安静地理解它们。他们指的是图书馆吗?它们是指不同类型的操作系统吗?

4

5 回答 5

4

框架一词的定义非常明确:框架与库非常相似,只是 Control 是 Inverted。(控制反转是构成框架的定义特征。) IOW:调用库,但框架调用您。

另一种思考方式是,编写一个应用程序,但将所有不感兴趣的细节留空并使用库来填充它们。OTOH 框架一个应用程序。它是一个应用程序,所有有趣的细节都留空供填写。(当然,在您用来填写空白的代码中,您可以自己调用库。另外,框架本身会调用库来实现它的内部工作原理。而且,框架通常与一组丰富的库捆绑在一起,这些库与框架紧密集成。但是,区别仍然很明显。仅仅因为框架和库一起提供在一个包中并不意味着存在没有区别。)

然而,平台这个词的定义不是很好。它也严重超载。在移植原生应用的上下文中,通常是指CPU ISA(如x86、AMD64、IA-64、POWER、MIPS、ARMv9、Sparc)、硬件架构(PC、CHRP、PReP、Mac)、内核( Linux、NT)和基础库(POSIX、Win32、Core Foundation)。

在更广泛的软件开发环境中,“平台”通常字面意思是“您的代码所在的平台”。对于本机应用程序,这可能与上述基本相同,对于 JVM 应用程序,它可能是 JVM 加上 JRE 加上 OSGI。

基本上,你可以把这个比喻看得很直白:一个平台允许你(即你的代码)比没有它的你站在更高的地方。

于 2010-10-11T01:46:44.847 回答
3

平台是一个无定形的术语,它可能意味着:

  • 硬件(通常是 CPU/架构),例如 x86、Alpha 等。
  • 操作系统,例如 Unix、Windows、Linux、Mac OS X 等。
  • 虚拟机,例如 Java JVM、FlashPlayer AVM

另一方面,框架通常是工具的集合:它们可能是基于软件、硬件、方法论/模式的(尽管不一定是任何特定框架中的所有这些),它们结合起来提供了一种构建应用程序的方法(或特定层应用)

一些框架的例子是:

软件

  • Java 摇摆
  • 微软 WPF
  • Adobe Flex
  • Ruby on Rails
  • Python 上的 Django

硬件软件

  • 阿杜诺(有争议)
  • 值得信赖的 ILLIAC

方法/模式(或过程)

  • SCRUM
  • IBM Rational 统一流程
于 2010-10-10T21:29:59.513 回答
2

平台通常意味着与软件运行的环境有关。所以它通常意味着操作系统(例如 windows 或 Linux),但有时也意味着架构(x86 可能是一个平台,或者 java 虚拟机)。框架通常是函数或类的集合,因此通常与库相同,或者可以以相同的方式大致理解。

于 2010-10-10T21:26:03.127 回答
1

我将尝试平台部分:平台用于谈论您“构建”的事物,或者您可以将其视为“站立”,以进行字面类比以完成某事。我使用过“电话平台”——它由支持开发交互式语音响应系统的软件和硬件组件组成。

于 2010-10-10T21:34:51.453 回答
0

您可以在此处阅读有关平台和软件框架的信息: 链接文本

于 2010-10-10T21:31:23.037 回答