1995年,Java之父JamesGosling和Sun公司科学办公室主任JohnGage去蒙特雷参加TED大会,他们要在会上展示一项划时代的技术,声称能够让枯燥的静态网页变得生动漂亮。不知道詹姆斯高斯林当时的心情是怎样的。不安吗?还是信心满满?在C++统治的时代,Java要想杀出一条血路,就必须一炮而红。演示开始了。JamesGosling将鼠标指向浏览器中的一个3D分子模型并来回旋转。实现这么“美”的效果!(注:这是后面用AppletViewer看到的效果)Java火了!本演示中使用的技术是Applet。1我对Applet有着特殊的感情,因为在学习了Java的HelloWorld之后,第一个项目就用到了Applet技术。我有个同事觉得Applet这个词很奇怪,总叫它“小苹果”:你的“小苹果”发展的怎么样了?其实Sun是这样命名的:Application+let,也有Servlet,指的是Server+let。这让我印象非常深刻。后来当神曲《小苹果》红遍大江南北时,总让我想起Applet。之前在C/S架构下做过一点桌面GUI程序开发,后来转为B/S架构,发现当时的HTML页面太简单了,但是B/S结构还有一个天然的优势:应用不需要分发安装,只需要一个浏览器就可以了。这时候接触到了Applet,不由得看了一眼:无需安装即可在网页上运行,还可以显示桌面GUI的效果,相当于结合了Applet的优点C/S和B/S,简直太爽了。向上。但是为什么这么酷的技术没有流行起来呢?稍微深入一点的开发就会发现Applet在当时的环境下有几处致命伤:1.AWT/Swing写的界面丑。Applet的GUI界面需要用JavaAWT和后来用Swing来写,这两种技术确实不太好,写出来的GUI很丑,没有本地应用的感觉。2、运行速度太慢。90年代的PC还很弱,CPU弱,内存更弱。32MB的内存非常好。Java一开始也很弱。直到JDK1.2才有了JIT技术。在此之前,在单机上独立运行Java非常慢,一直被C++嘲笑。更不用说在浏览器中运行一个插件了!3、网速太慢在拨号上网的时代,网速只有56Kbit/s,一个稍大的Applet程序就要等上半天,确实显示了一个极其丑陋的大白板:如果一个Applet需要特定版本的JRE,需要从网上下载,估计要一个多小时才能下载下来。还有一些安全问题。简而言之,Applet是一个外观漂亮的解决方案,但它也是一个重型解决方案。也是Sun家族控制的封闭解决方案,对于开放的互联网来说是无法容忍的。后来的事情大家都知道了。AJAX夺权,彻底统治了浏览器。前端界面可以用HTML+CSS+JavaScript做的很漂亮,比桌面应用更漂亮。Applet的优势消失了,只剩下一些遗留系统在使用。2随着时间的推移,各大浏览器开始反感Applet,不再支持。然后连JDK都不需要了。从JDK9开始,Applet就宣告“被抛弃”了。从JDK11开始,浏览器的Java插件也从JDK中移除。如果你还想在生产环境中使用Applet,只能继续向Oracle购买JDK8订阅和更新服务。Applet,这个让Java流行起来的技术,彻底死了。技术的发展就是这样,一个个领先四五年,很多看起来很酷的技术都消失在了IT时代的短河中。有技术原因,有标准原因,也有时代原因,但有一点是可以肯定的:一定要走开放的道路,这样成功的可能性会更大。许多年后,出现了一种叫做Webassembly的技术,它定义了一套类Java的字节码,可以用各种语言(C/C++/Rust/Java)开发,像Applet一样编译后放在服务器端。浏览不同于Applet,不再需要插件。执行WebAssembly的程序是浏览器的内置功能!从某种意义上说,Applet可以算是一个继承者!原创稿件请通过作者微信获取授权公众号coderising】点此查看作者更多好文
