Java Community hot discussion of performance in the Java Desktop Field

Source: Internet
Author: User

A few days ago, javalobby came up with another article about Java. What's your biggest idea this year? . Antonio sorrentini elaborated on his point of view: He hoped that Java could make more technological advances on the desktop. In fact, the author elaborated on this wish last year, but this point of view has not aroused resonance in the Java Community for a year. Antonio sorrentini is puzzled. Why is the poor performance of Java on the desktop not attracting developers' attention. Let's look at the original article:

I admit that even before the emergence of javafx, Java has made some significant improvements in the desktop field, such as the upgrade in swing; we now have a great OpenGL; directX has also been greatly improved; the startup time has also been significantly improved. That's right. Java did a lot of significant and effective work last year.

However, what I have to say is that other things are still a mess. For example, Java sound is actually not easy to use. What about the abandoned Java3D? Recently, even jogl has been abandoned by Sun, including swinglab, which was a long time ago. Jai (used for image processing) has not been actually upgraded for many years and seems to have not been used anywhere, it urgently needs a huge performance improvement to adapt to the advent of the multi-core GPU era, all these Java products used in the desktop field are either abandoned or become a chicken ribs.

The key point is that although we can use Java to create a desktop application, however, as long as we want to develop truly rich desktop applications, we will not be able to actually use Java and use JNI, C/C ++, and libraries on which the platform depends.

It is more difficult and troublesome to build a desktop application using Java. For example, it is difficult to create an efficient and excellent web browser in a Java application. There is no image processing application written in Java, no pure Java Web browser, no digital audio application, no 3D modeler, no vector graphics editor, without the advanced raster Editor, Java can only meet the requirements of those server developers today on the desktop, because they only need to use the simple interface on the desktop of the computer during remote service.

We have always said that this is because Java is too slow to develop such complex applications on a slow platform. But we are wrong. There are two reasons: First, Java has never been slow. Even if some parts have been slow, no one doubts that it will be quickly improved when it needs to be used on the server side, such as Jits, GCS. This is also an excellent place for Java. 2. Due to the natural features of the Java platform, Java applications are always the first to use new hardware and new operating systems on the market. Once the JVM is configured in a new system, Java applications can run at full speed without any edits or debugging. For example, if you develop an application on a 32-bit operating system, it can run on Windows 7 or Solaris 64-bit JVM at full speed. So the so-called Java is too slow to be an excuse for Java to be idle on the desktop.

Moreover, if you are an end user and you do not even need to re-download the application from the website, this means that not only end users and developers are getting faster, even the front of the application's execution performance has been improved. Today, JIT has done a great job in optimizing code for local operations at runtime, which means you can explore all the capabilities of the hardware you run, this is a performance that static compilation language can never compete for, but it would be nice if it could be applied to the desktop and gaming fields.

We always say: Because sun is always a server company, Java has never had a real chance on the desktop. The acquisition of Oracle makes this situation seemingly unchanged. We hope this will not continue. For the benefit of sun, Oracle, and Java, well-known people in Oracle should remind the company to let them know: if there is a lack of desktop capabilities and efficiency, it will inevitably affect Java penetration rate and even its share on the server side.

We have always been used to Sun's major server services, so we imagine that more processing capabilities will still appear on the server in the future, while the client is just a simple service that connects to the server. This has proved to be an absolute error. In the future, desktop applications will combine services, applications, and all the computing capabilities of hardware, and a large amount of data and decoding, sound, images, and videos will be processed by developers, in addition, it is implemented by means of parallel programming, which ensures both rich performance and speed. For developers, the future services require both processing on the client and on the server: the execution of complex search, images, videos, and virtual 3D environments requires server-side technologies, remote services, such as medical analysis, distance education, and remote conference, require client capabilities.

What we are disappointed with is that history repeats again, because so far there is no major action in Java.

Armin Ehrenreich said in his reply: Well, I totally agree.

Cross-platform desktop application technology is really urgently needed, and I don't think C ++ combining QT is a good choice. The reason why you have not raised a lot of resonance is that it is a cultural issue. Many people in the Java Community, including Sun's internal owners, cannot understand what you said, so I assert that Oracle will not make any major changes to Java.

The client is now basically contracted by Microsoft and Apple. In the cocoa forum, we will find that they are talking about GUI availability, responsiveness, and how terminal users handle desktop applications. In our forum, most people think that the future of applications is on the server side. This is a cultural difference.

However, the desktop technology requires a lot of work, and swing is very slow and slow to evolve, along with the netbeans platform, Java3D, jogl and other applications barely become a desktop choice. However, Sun ignores this situation and only imitates flash to release a new scripting language. However, those APIs are only available when javafx is used.

Jeff Martin replied: correct, but I am a little different. Sun's real problem is that he should eat his own meals and use his own strength to write some real desktop applications using Java, which proves their commitment to Java on the desktop, prove that they can write applications, improve frameworks and tools. I don't think another framework will help Java.

James Sugrue replied: I agree with the author's point of view. I also support desktop development. Check out some projects in eclipse. E4 that are currently under development. They provide a solution for the desktop and browser, so I think there are still some hopes. However, I don't think we need to focus too much on the desktop. javafx is a step in the right direction, but we cannot see application improvements in swing and Java3D/jogl.

Osvaldo doederlein replied: I think the support for jogl is not that bad. After all, it is a dependency of javafx desktop runtime. In fact, we can write a non-javafx Applet and configure it without the need to request the permission of local code.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.