OpenJX is an interpreter software for developers to create Java Swing Applications or Applets. It provides the platform and tools necessary to build and run Java applications on different operating systems.
The backstory of OpenJX is quite interesting; it was based on the Purple programming language that was developed solely to test the developer's abilities to write their own compiler. This language integrated XML and PERL and then translated the code into C, which it then compiled. However, as with many "for fun" programming languages, the Purple project soon became a dead project.
The need for rich internet and client application languages has become more prevalent in recent years. While reviewing different RIA and RCA technologies, I came across Adobe's Flex language, which allowed me to create Flash-based applications. However, I still felt that it lacked some of the robust features of Java and processing power. After searching for a Flex-like Java project, I realized that no equivalent solutions existed. This led me to believe that a re-implementation of the Purple language could be useful and necessary.
The OpenJX project's results have exceeded my expectations since it is very similar to Flex, but at its core, it is Java. It has a comparable style to Flex, but its end result is a Java Swing. OpenJX applications are also unlike Flex in various ways.
First, it has 100% support for all Java Components in Javascript. Second, it has a Distributed Plugin System, which allows developers to integrate plugins hosted across networks. Third, it has full XML validation, which ensures the quality of your code. Fourth, it is interpreted, which means that it is more lightweight and dynamic than compiled programs. Fifth, XML may be run as Applet or Application with no change to the JX XML file. Finally, OpenJX's scripting language is JavaScript, unlike Flex's ActionScript.
There are many other differences, but if you know how to develop in one, it is easy to develop in the other. Overall, I highly recommend the OpenJX project to any developer looking for an efficient, lightweight, and robust solution for creating Java Swing Applications and Applets.
Version 1.13: N/A