JavaFX 现已推出:Applet 和 Java 桌面正式死亡/垂死吗?
JavaFX 现已推出,并且承诺 Swing 将与 JavaFX 一起改进。 丑陋的默认 UI 的日子将一去不复返,我们终于可以创建在质量方面可与 Flash、Air 和 Silverlight 相媲美的引人入胜的应用程序。
这是否意味着 1990 年代的 Java Applet 已经消亡,不值得再使用?
与Java Desktop相同:什么会吸引我们Java开发人员使用它而不是JavaFX?
JavaFX is now out, and there are promises that Swing will improve along with JavaFX. Gone will be the days of ugly default UI, and at long last we can create engaging applications that are comparable to Flash, Air, and Silverlight in terms of quality.
Will this mean that Java Applets that hail from 1990's are dead and not worth going back to?
Same with Java Desktop: What will be compelling for us Java Developers to use it rather than JavaFX?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
在我看来,Java Applet 已经消亡多年了。 我在 90 年代末写了一些 - 例如在实习期间在 40MHz ARM Acorn 机顶盒上演示的俄罗斯方块游戏。 当然,我敢打赌,有些休闲游戏网站仍然有大量此类游戏,因此它将继续受到支持,但积极的开发将会/已经减少。
在我看来,Java Web Start 是一项方便的技术。 这仍然适用于 JavaFX,它只是该系统的另一个库。
JavaFX 将为 Java 提供超越技术工具(如 SQL Developer)、内部业务应用程序和服务器应用程序(它擅长的地方)的机会。 我认为它是任何 Java 开发人员都值得学习的库之一(如果他们有时间的话)。 毫无疑问,多年来 Java 的用户界面库一直严重缺乏或过于复杂。
然而,那里有很多竞争,而且它非常新(这意味着与 Flash 和 Silverlight 相比,开发工具支持非常原始)。 此外,人们也不喜欢下载大量的运行时环境,尽管宽带使许多人的痛苦比 5 年前减轻了!
In my opinion Java Applets have been dead for years. I wrote some in the late 90s - a Tetris game during an internship to demonstrate on a 40MHz ARM Acorn Set Top Box for example. Of course I bet there are some casual game sites that have tonnes of them still, and thus it will remain supported, but active development will/has dropped off.
Java Web Start is a handy technology in my opinion. That will still work with JavaFX, it's just another library for that system.
JavaFX will give Java opportunities beyond technical tools (like SQL Developer), in-house business applications and server applications (where it excels). I think it's one of those libraries that is worth learning for any Java developer, if they can get the time. There's no arguing that user interface libraries for Java have been sorely lacking, or overly complex, for many a year.
However there's a lot of competition out there, and it is very new (which means the development tool support is very raw, compared to Flash and Silverlight). Also people don't like downloading massive runtime environments, although broadband makes it less painful than 5 years ago for many!
我认为这个讨论有些误导。 我也不喜欢小程序技术(JavaFX 也让我印象深刻)。 但这个线程缺少的一点是,除非我弄错了,JavaFX 是建立在小程序技术之上的。 它们并不相互竞争或相互排斥。 请参阅此处和此处。
这种混淆可能是 Sun 故意的,因为他们不希望在同一句话中提及 JavaFX 和 applet,因为 Applet 存在很多问题。
I think this discussion is somewhat misleading. I an no fan of applet technology either (and I have been underwhelmed by JavaFX). But the point that this thread is missing is that, unless I am mistaken, JavaFX is built on top of applet technology. They are not competing or mutually exclusive. See these articles here and here.
It could be that the confusion is somewhat intentional on Sun's part as they do not want JavaFX and applets to be mentioned in the same sentence, since Applets had so many problems.
Java Applet 并没有消亡。
它们有着糟糕的历史,原因如下:
带来的改进也给Applet带来了改进(它们是一回事)。 虚拟机可以共享,缓存也比以前更好。 此外,较高的平均用户带宽甚至可以帮助设计不良的小程序部署快速启动。 如果你沿着安装基数和平台能力的轴来看,在我看来,Applet 即使不是最顶级的,也仍然处于相当高的位置。
JavaFX 很酷,但它需要额外的运行时,而且它的许多部分只是 Applet 平台之上的语法糖。 由于这个原因,今天 Applet 遇到的几乎所有问题都被 JavaFX 所解决
Java Applets are not dead.
They had a bad history, for several reasons:
The improvements which bring JavaFX also bring improvements to the Applet (they are one and the same). VMs can be shared and caching is better than before. In addition, higher average user bandwidth can help even poorly designed applet deployments startup quickly. If you look along the axes of install base and platform power, the Applet is still pretty high up, if not the top, in my opinion.
JavaFX is cool, but it requires an additional runtime, and for many parts of it is just syntactic sugar on top of the Applet platform. Almost any problems Applets have today are shared by JavaFX for this reason
Java Applet 的消亡并不是因为 applet 的概念,而是因为 Web 浏览器的 JRE 插件非常糟糕。
事实上,Flash 证明了内联交互内容的作用。
JavaFX 是一种富互联网应用程序编程的新方法 - 本质上相当于 Java 小程序或 Flash 内容。 新的 JRE 运行时(1.6.0_10,又名“Update 10”)包含许多功能,使在浏览器上下文中运行 Java 变得更加容易。
JavaFX!= Java 桌面。 两者有很大不同,并且各自在开发人员的工具箱中占有一席之地。
Java Applets died not because of the concept of an applet, but because the JRE plugin for web browsers was abyssmal.
In fact, Flash proved that there is a role for in-line interactive content.
JavaFX is a new way of programming rich internet applications - essentially equivalent to Java applets or Flash content. The new JRE runtime (1.6.0_10, aka "Update 10") includes lots of features that make running Java in the context of a browser much more palatable.
JavaFX != Java Desktop. The two are quite different, and each have a place in a developer's toolbox.
事实上,Java applet 是一项很好的技术,如果 Sun 没有输掉与 Microsoft 的公关和技术战争的话,它可能会像 Flash 一样普遍存在。
微软当时正在推动 DirectX 控件,并利用 IE 市场份额来对抗小程序。 我记得当时做了一些基准测试:3 MB 的 Java 小程序(很大),从本地磁盘加载(以消除网络加载时间),在 Opera 中启动大约需要 5 秒。 同样的小程序在 IE 中启动大约需要 2 分钟。
所以,并不是技术很糟糕;而是技术很糟糕。 小程序速度慢并不是因为它们太大;而是因为它们太大了。 它们很慢,因为当时的主流浏览器故意让它们变慢。 :)
我想 JavaFX 是 Sun 在不同的时间和不同的市场上复兴小程序中的许多想法的尝试。
Actually, Java applets are a nice technology which could have been as ubiquitous as Flash, if only Sun didn't lose the PR and technology war with Microsoft.
Microsoft was pushing DirectX controls at a time, and leveraging IE market share against applets. I remember doing some benchmarks then: Java applet of 3 MB (which was large), loaded from local disk (to take network load times out of equation), took around 5 seconds to start in Opera. The same applet somehow took about 2 minutes to start in IE.
So, it wasn't that technology sucked; it wasn't that applets were slow because they were too big; they were slow because the dominant browser at the time deliberately made them slow. :)
I guess that JavaFX is Sun's attempt to revive a lot of ideas from applets, at a different time and in a different market.
尽管这最终可能是真的,但目前 JavaFX 缺乏控件、不支持移动设备以及其他缺陷,这使得它“尚未实现”
Though this might eventually be true , currently JavaFX lacks controls , no mobile devices support and other lacunae which makes it 'not there yet'
JavaFX 和相关的变化是振兴小程序空间的尝试 - 小程序总是受到糟糕的插件实现和浏览器中不稳定的桥梁的困扰。 这已经得到了改进——尽管仍然需要更多的工作——但最终Sun 认识到它需要工作并且已经采取了一些措施。 小程序的定位比以往任何时候都更好。 在您提到的竞争中 - Flash、Air 和 Silverlight - 我认为您错过了主要竞争对手 - 浏览器/javascript - 浏览器制造商也在解决关键平台弱点 - javascript 性能、任意绘图的能力(即画布等) 。 对于低端需求,我认为纯粹的浏览器方法将会胜出 - 对于更高端的图形 - JavaFX 有机会。
作为 Java 桌面应用程序的大型开发人员,缺少的东西之一是一套像样的基本小部件和玩的时间! 它需要一个杀手级的表实现——你可以嵌入 swing,但这有什么意义。 现在我可以自己写了,但这并不是我在我的工作中真正增加价值的地方。
JavaFX and associated changes are an attempt to revitalize the applet space - applets were always dogged by poor plugin implementations and flakeu`y bridges into the browser. That's been improved - though still needs more work - but at last Sun has recognized it needed work and has done something about it. Applets are better positioned than they have ever been. Of the competition you mention - Flash, Air, and Silverlight - I think you missed out the key competitor - the browser/javascript - the browser makers are also addressing key platform weaknesses - javascript performance, ability to do arbitrary drawing ( ie canvas etc ). For low-end requirements I think a pure play browser approach is going to win out - for higher end graphics - JavaFX has a chance.
As a big developer of Java Desktop apps, one of the things that's missing is a decent set of basic widgets and the time to play! It needs a killer table implementation - you can embedded swing but kinda what's the point. Now I could write my own by that's not really where I'm adding value in my kinda of job.
1 - 这是否意味着 1990 年代的 Java Applet 已经消亡,不值得再使用?
通过 Java 插件的更新,所有小程序(而不仅仅是基于 JavaFX 的小程序)都获得了改进的用户体验和性能。 话虽这么说,我不认为有很多(如果有的话)杀手级小程序。 如果有的话,就永远不需要 JavaFX。
2 - 与 Java Desktop 相同:对于我们 Java 开发人员来说,使用它而不是 JavaFX 有何吸引力?
如果您正在构建 GUI 应用程序并希望在 Java 中运行它 - 特别是跨多个平台(例如桌面、小程序和移动设备)并希望更轻松地与具有实际 Photoshop/GIMP 技能的人合作 - JavaFX 是您的最佳选择因为它是专门为此类流程而设计的。 但是,请记住 JavaFX 可以调用 Java 代码,也可以进行远程调用(返回 XML 或 JSON)。 我认为最可能的集成点是使用 JavaFX 进行 UI 和结果缓存,但所有繁重的编码逻辑都将位于服务器上。 如果您可以让您的汇编器发出 XML 或 JSON,则可以用 Java 或 .NET 或汇编器编写它:)。
1 - Will this mean that Java Applets that hail from 1990's are dead and not worth going back to?
With the update to the Java plug-in - all applets, not just JavaFX-based applets get the improved user experience and performance. That being said - I don't think there are many (if any) killer applets out there. If there were - JavaFX would never have been needed.
2 - Same with Java Desktop: What will be compelling for us Java Developers to use it rather than JavaFX?
If you are building GUI applications and want to run it in Java - in particular across multiple platforms (e.g. desktop, applets and mobile) as well as make it easier to work with someone who has actual Photoshop/GIMP skills - JavaFX is your best choice because it was designed explicitly for that type of process. However, remember JavaFX can call Java code and it can also make remote calls (either getting back XML or JSON). I think the most likely integration point will be to use JavaFX for UI and caching of results but all of the heavy coding logic will be on the server. Where it can be written in Java or .NET or assembler if you can get your assembler to emit XML or JSON :).
我同意其他人的观点,Java Applet 已经死了。 JavaFX 可能会填补这一空白。 然而,我并不认为它会很快取代 Java Desktop。 这就像说网络应用程序将取代所有桌面应用程序一样。 有些人确实相信这一点,而且我同意网络应用程序将会越来越受欢迎,但是桌面应用程序将在相当长的一段时间内继续占有一席之地。
I agree with the others, Java Applets already died. JavaFX could possibly fill that void. However, I just don't see it replacing Java Desktop any time soon. It's the same thing as saying web apps will replace all desktop apps. Some people do believe that, and I agree that web apps will grow in popularity, however, desktop apps will continue to have a place for quite awhile.
我们不能轻易地写下小程序,因为网络上有太多好的代码。 其中很多内容是由不是软件开发专家、而是各个高端领域的专家的人编写的,他们试图借助当时最顶尖的技术 Java 小程序来解释和说明。 他们可能没有时间学习新语言并重写他们的任何工作。 许多人已经多年不活跃了。
我还认为 Java 小程序更适合基于服务器端构建和代码审查的社区项目。 各种精美的用户友好工具可以使 Web 组件的开发变得快速而简单,但结果要么根本不可读,要么很难审查。
我们最近启动了 Ultrastudio.org 项目,该项目仍然依赖于 Java applet 技术。 我考虑了很多关于添加更多语言和平台的问题,但最后被迫得出这样的结论:要么不太安全,要么做起来更复杂。
We cannot easily write applets down as there are way too many good code on a web. Lots of it was written by people who are not specialists in software development but are specialists in various high end areas that they tried to explain and illustrate with the help of Java applets, the top technology at that time. They may not have time to learn new language and rewrite they work any. Many are not active for years.
I also see Java applets as more appropriate for community projects that are based on server side builds and code reviewing. Various fancy user friendly tools can make development of web components fast and easy but the result is either not human readable at all or very difficult to review.
We have recently launched the Ultrastudio.org project that still relies on Java applet technology. I was thinking a lot about putting more languages and platforms but at the end was forced to conclude that it is either less secure or otherwise way more complex to do.