再见了,感谢所有的Applet
内容提要
从JDK 26开始,java.applet包将被移除,JDK 25是最后一个包含该API的版本。由于现代浏览器不再支持插件模型,Applet的使用大幅减少。移除工作自2016年开始,预计对应用影响甚微。开发者应使用jpackage工具部署Java应用。
关键要点
-
从JDK 26开始,java.applet包将被移除,JDK 25是最后一个包含该API的版本。
-
Applet曾是Java平台的基础类,自JDK 1.0起便随附发布,主要用于在浏览器中运行小程序。
-
由于现代浏览器不再支持插件模型,Applet的使用大幅减少,java.applet API在用户应用中几乎没有意义。
-
JDK从未提供运行Applet的方式,Applet API的移除经过了长达10年的准备和警告。
-
开发者应使用jpackage工具来部署Java应用,创建本地平台安装程序。
-
大多数独立的AWT/Swing应用程序可以轻松迁移,java.applet.Applet类是java.awt.Panel的子类。
-
JDK 25引入了javax.sound.SoundClip作为java.applet.AudioClip的替代品。
-
java.desktop模块的其他部分(如AWT、Swing、Java 2D)功能不受影响,继续得到支持和增强。
延伸解读
Applet的历史与影响
Applet类自JDK 1.0起便是Java平台的重要组成部分,曾广泛用于增强网页用户体验。然而,随着现代浏览器对插件模型的放弃,Applet的使用逐渐减少,最终导致其API的移除。这一变化标志着Java在技术演进中的一次重大转型,开发者需适应新的开发模式。
迁移至新工具的必要性
随着java.applet API的移除,开发者应转向使用jpackage工具来部署Java应用。jpackage能够创建本地平台安装程序,使得Java应用的安装与其他应用无异。这一转变不仅提高了用户体验,也符合现代软件开发的趋势。
对现有应用的影响
虽然Applet API的移除经过了长时间的准备,但对大多数独立AWT/Swing应用程序的影响有限。这些应用程序可以相对容易地迁移,因为Applet类只是java.awt.Panel的子类,开发者应关注迁移过程中可能遇到的特定方法问题。
延伸问答
为什么java.applet包会被移除?
因为现代浏览器不再支持插件模型,Applet的使用大幅减少,且java.applet API在用户应用中几乎没有意义。
JDK 26的发布对开发者有什么影响?
JDK 26发布后,开发者需要使用jpackage工具来部署Java应用,创建本地平台安装程序。
Applet在Java历史上有什么重要性?
Applet是Java平台的基础类,自JDK 1.0起便随附发布,曾用于在浏览器中运行小程序,增强用户体验。
如何迁移现有的AWT/Swing应用程序?
大多数独立的AWT/Swing应用程序可以轻松迁移,因为java.applet.Applet类是java.awt.Panel的子类。
JDK 25引入了什么替代品?
JDK 25引入了javax.sound.SoundClip作为java.applet.AudioClip的替代品。
Applet API的移除经过了怎样的准备过程?
Applet API的移除经过了长达10年的准备,从JDK 9开始逐步弃用,JDK 17时正式标记为待移除。