Applet 是一种软件,旨在在大型程序(通常是 Web 浏览器)的上下文中执行,提供核心程序本身不提供的丰富交互功能。Applet 用 Java 编程语言编写,主要用于网络计算。它们可以响应用户输入,例如鼠标点击或键盘输入,还可以与同一网页上的其他 Applet 交互。
Applet的历史背景
小程序的历史可以追溯到 20 世纪 90 年代中期,当时 Java 编程语言首次由 Sun Microsystems 开发。“小程序”一词首次使用是在 1995 年,当时 Java 作为一种专为互联网设计的新编程语言被引入世界。其概念是提供一个可以嵌入 HTML 页面并在 Web 浏览器中运行的小型应用程序(因此称为“小程序”)。
扩展小程序
如上所述,Applet 是小型 Java 程序,可以集成到 HTML 页面中,在客户端运行,并由 Java 虚拟机 (JVM) 执行。小程序可以在任何支持 JVM 的 Web 浏览器中运行。它们用于使网页更加动态和有趣。例如,它们可以显示交互式图形,或根据用户输入执行计算。
Applet 的生命周期由浏览器和 JVM 控制。生命周期包括四个阶段:初始化、启动、停止和销毁。当 JVM 加载并实例化小程序时,它的生命就开始了。然后它被初始化、启动并显示在网页上。当用户离开页面时,小程序将停止,然后被 JVM 销毁。
Applet 的内部工作原理
Applet 由 Java 字节码组成,它是程序的独立于平台的表示形式,并且在安装在浏览器中的 JVM 内运行。当加载包含applet的网页时,浏览器的Java插件会下载applet的字节码,启动JVM,然后在JVM中加载并执行applet。
小程序通过文档对象模型 (DOM) 与网页交互,还可以通过 HTTP 或其他 Internet 协议与加载它的服务器进行通信。然而,出于安全原因,它通常被沙箱化并限制访问本地文件或某些系统资源。
小程序的主要特点
- 平台独立性: Applet 是用 Java 编写的,它与平台无关。它们可以在任何具有支持 JVM 的浏览器的设备上运行。
- 网络连接: Applet 可以通过网络进行通信,使它们成为网络应用程序的一部分。
- 沙盒安全: 它们在安全沙箱内运行,以防止对系统资源的未经授权的访问,从而确保用户安全。
- 丰富的用户界面: 小程序可以创建复杂的图形用户界面 (GUI) 并制作流畅的动画,使其适合创建交互式应用程序。
小程序的类型
小程序主要有两种类型:
-
本地小程序: 这些小程序下载后不需要连接到互联网。它们在用户的浏览器中运行并执行功能,而无需连接到服务器。
-
远程小程序: 这些小程序需要持续的互联网连接。它们与服务器通信以执行其功能。
Applet 的使用及相关问题
小程序通常用于在网页上提供交互功能,例如游戏、计算器、动画和交互式地图。它们还可以用于更复杂的任务,例如在线投票、电子商务和远程桌面应用程序。
然而,由于以下几个问题,小程序的使用多年来一直在下降:
- 安全问题: 尽管小程序在沙箱中运行,但过去曾被用于恶意目的,这使许多用户和组织对它们保持警惕。
- 表现: 由于小程序在客户端运行,因此其加载速度可能很慢并且会消耗大量系统资源。
- 对Java的依赖: 用户必须在浏览器中安装并正确配置 Java 运行时环境 (JRE),这对于非技术用户来说可能是一项复杂的任务。
小程序与类似术语的比较
以下是具有类似概念的小程序的比较:
学期 | 定义 | 执行 |
---|---|---|
小程序 | 嵌入 HTML 页面的小型应用程序,由 JVM 在 Web 浏览器中运行 | 客户端 |
服务程序 | 在服务器上运行的 Java 程序,通常用于生成动态 Web 内容 | 服务器端 |
JavaScript | 一种网页脚本语言,由浏览器的 JavaScript 引擎运行 | 客户端 |
Applet相关的未来展望和技术
由于 HTML5、CSS3 和 JavaScript 等现代 Web 技术的兴起,Applet 的未来是不确定的,这些技术提供了类似的功能,而不需要用户安装 JVM 或处理 Java 的安全问题。
然而,Applet 仍然在某些领域占据上风,例如需要 Java 全部功能的复杂应用程序。此外,Java Web Start技术允许直接从Web浏览器启动全功能Java应用程序,这可能会带来类似applet的功能的复兴。
小程序和代理服务器
虽然小程序和代理服务器是不同的技术,但它们可以在某些情况下进行交互。代理服务器可以调解 applet 与其通信的服务器之间的连接,从而提供缓存、过滤和增强安全性等优势。但是,需要注意的是,小程序必须设计为支持代理服务器,并且用户的浏览器必须配置为使用代理服务器。
相关链接
有关 Applet 的更多信息,请考虑以下资源: