“运行时环境”和“软件框架”的含义?

Posted

技术标签:

【中文标题】“运行时环境”和“软件框架”的含义?【英文标题】:Meaning of "Runtime Environment" and of "Software framework"? 【发布时间】:2011-07-19 08:59:13 【问题描述】:

我听说过几件事,引自***:

    "Java Runtime Environment",

    一个 JVM 与一个集合一起分布 的标准类库 实现 Java 应用程序 编程接口(API)。 适当的 API 捆绑在一起形成 Java 运行时环境 (JRE)。

    "Adobe Integrated Runtime"

    Adobe Integrated Runtime,也称为 作为 Adob​​e AIR,是一个跨平台的 Adobe 开发的运行时环境 构建富互联网的系统 使用 Adob​​e Flash 的应用程序 (RIA), Adobe Flex、html 和 Ajax,可以 作为桌面应用程序运行。

    ".NET Framework"

    .NET 框架(发音为点 net) 是一个软件框架 微软视窗操作系统。 它包括一个大型图书馆,它 支持多种编程语言 允许语言互操作性 (每种语言都可以使用编写的代码 其他语言)。 .NET 库是 可用于所有编程 .NET 支持的语言。

如上所述,如果我理解正确的话,前两个似乎与“运行时环境”有关,但没有相关的***解释什么是“运行时环境”。

第三个据说是“软件框架”,a Wikipedia article为:

软件框架是一种抽象 其中提供通用代码的通用代码 功能可以有选择地 被用户覆盖或专门化 代码,从而提供特定的 功能。框架是一个 软件库的特例 它们是可重用的抽象 代码包装在一个定义明确的 应用程序接口 (API),但它们包含一些密钥 区别特征 它们来自普通库。

所以我的问题是:

    是“运行时环境”和 “软件框架”同理 事物?如果不是,它们有何不同, 它们是否属于一些常见的 类别? 他们都在编程吗 可以使用的库/API 程序员自己开发 软件? 这三个例子经常 安装一些时需要 软件。他们是否属于 virtual machine 的概念?如果 不是,它们属于什么类别 到?该类别有何不同 来自虚拟机?

感谢和问候!

PS:我不知道这个帖子更适合超级用户还是***,因为安装一些软件时经常需要这三个示例,而且它们似乎也提供API面向软件开发人员。

【问题讨论】:

这非常适合***。 【参考方案1】:

    没有。运行时环境基本上是在机器之上运行的虚拟机——提供机器抽象。它通常比图书馆低。框架可以包含运行时环境,但通常与库相关联。

    Java、AIR 和 .NET(在本例中为公共语言运行时)在操作系统之上运行的特定字节码中都有自己的运行时。它允许代码非常便携,无需重新编译即可这样做。

    库和 API 用于制作新程序。运行时环境是程序运行的地方。

    运行时环境确实与虚拟机的概念相吻合,尽管它不像 VMWare 或其他方面那么复杂。他们都有共同的目标,即将底层系统抽象到其他软件可以在其上运行的程度。

【讨论】:

"JRE 是容器,JVM 是内容。JRE 为 JVM 提供环境,使其可以在任何平台上运行。"来自programmingbulls.com/difference-between-jre-and-jvm 所以运行时环境不一定是虚拟机,正如文章所说,在 Java 中,JRE 包含 JVM,它们不是一回事。【参考方案2】:

“运行时环境”和“软件框架”是一回事吗?如果不是,它们有何不同,它们是否属于某个共同的类别?

不,不是真的。 “运行时环境”通常是指实际执行代码本身的核心技术。在 Java 中,这将是 JVM - 在 .NET 中,CLR。 “框架”通常是指默认分发的一套库。

它们都是程序员可以用来开发自己的软件的编程库/API吗?

这更多的是“框架”——“框架”提供了默认可用的 API。

安装某些软件时,经常需要这三个示例。它们属于虚拟机的概念吗?如果不是,它们属于什么类别?该类别与虚拟机有何不同?

虚拟机是“运行时环境”的一种形式 - 这是 Java 和 C# 用于其运行时环境的一种形式。

由于您通常将这两个东西安装在一起,因此出现了混淆 - 因为没有一些基本库(框架),运行时环境几乎没有用处,而没有运行时环境,框架什么也不做(因为后者需要执行基于代码的在框架上)。

【讨论】:

谢谢!我刚刚在我的帖子中添加了我的问题的第 3 部分。感谢您检查。

以上是关于“运行时环境”和“软件框架”的含义?的主要内容,如果未能解决你的问题,请参考以下文章

软件框架和软件架构的区别?

架构和框架的区别

架构和框架的区别

杂项:软件框架

Mindjet MindManager 思维导图软件-使用思维导图跟踪调用流程,绘制软件框架

如何构建软件框架 [关闭]