Tim*_*Tim 16 frameworks terminology
我听过维基百科引用的一些内容:
JVM与一组实现Java应用程序编程接口(API)的标准类库一起分发.捆绑在一起的适当API构成Java运行时环境(JRE).
Adobe Integrated Runtime,也称为Adobe AIR,是Adobe Systems开发的跨平台运行时环境,用于使用Adobe Flash,Adobe Flex,HTML和Ajax构建富Internet应用程序(RIA),可以作为桌面应用程序运行.
.NET Framework(发音为dot net)是Microsoft Windows操作系统的软件框架.它包括一个大型库,它支持多种编程语言,允许语言互操作性(每种语言都可以使用其他语言编写的代码)..NET库可供.NET支持的所有编程语言使用.
如上所述,如果我理解正确,前两个似乎与"运行时环境"有关,但没有相关的维基百科来解释什么是"运行时环境".
第三个被称为"软件框架",其维基百科文章如下:
软件框架是一种抽象,其中提供通用功能的公共代码可以被用户代码选择性地覆盖或专用,从而提供特定的功能.框架是软件库的一个特例,它们是包含在定义良好的应用程序编程接口(API)中的可重用的代码抽象,但它们包含一些将它们与普通库分开的关键区别特征.
所以我的问题是:
感谢致敬!
PS:我不知道这篇文章是否更适合超级用户或stackoverflow,因为在安装某些软件时经常需要这三个例子,而且他们似乎也在为软件开发人员提供API.
Dan*_*ite 10
不是.运行时环境基本上是在机器顶部运行的虚拟机 - 提供机器抽象.它通常比图书馆低.框架可以包含运行时环境,但通常绑定到库.
Java,AIR和.NET(在本例中为公共语言运行时)在运行在操作系统之上的某个字节代码中各有自己的运行时.它允许代码非常便携,无需重新编译就可以这样做.
库和API用于制作新程序.运行时环境是程序运行的地方.
运行时环境确实与虚拟机的概念一致,虽然没有VMWare或其他方面那么复杂.它们都共享将底层系统抽象到其他软件可以在其上运行的目标.
"运行时环境"和"软件框架"是一回事吗?如果没有,它们如何不同,它们属于某种常见类别?
不,不是真的."运行时环境"通常指的是实际执行代码本身的核心技术.在Java中,这将是JVM - 在.NET中,CLR."框架"通常是指默认分发的库套件.
它们都是编程库/ API,程序员可以使用它们来开发自己的软件吗?
这更像是"框架" - "框架"默认提供API.
安装某些软件时经常需要这三个示例.它们属于虚拟机的概念吗?如果不是,它们属于哪个类别?该类别与虚拟机有何不同?
虚拟机是"运行时环境"的一种形式 - 这是Java和C#用于其运行时环境的形式.
所以产生了困惑,因为你通常安装这两个东西放在一起 - 作为一个运行环境是没有多大用处没有一些基本的库(框架),和框架做什么没有一个运行时环境(因为后者需要的框架基础上执行代码).