December 2003 Miguel The purpose of this brief memo is to outline the differences between Jmol, the JmolApplet, and the JmolViewer.
Summary ======= Fundamentally, Jmol exists in three forms. 1. standalone application 2. web browser applet 3. java classes for integration into other applications/applets The standalone Jmol application is for people who want to use Jmol as a molecular visualization tool installed on their system. The JmolApplet is for building and deploying web sites, most often used for developing educational courseware. The JmolViewer classes are for professional Java developers who want or need to integration Jmol into their own Java application or applet. Each of these Jmol variants has a different purpose. But the vast majority of the code is shared. Detail ====== Jmol is written as a core set of Java classes. The core set of classes for molecule rendering is collectively called the JmolViewer. A small wrapper is placed around the JmolViewer classes to package them up as a web browser applet called the JmolApplet. These classes are also bundled up as a standalone application, generally called the Jmol application. Jmol application ---------------- The Jmol application is a standalone application. The entire application is bundled into a single .jar file called Jmol.jar The Jmol application consists of the core JmolViewer classes plus additional classes to construct the user interface. The user interface is constructed using the standard Swing Java classes. In addition, the Jmol application includes some additional functionality, such as a plug-in architecture to facilitate extensions to the application. (The Jmol developers do all of their development and testing within the context of the Jmol application. This environment is much more forgiving and debugging is much easier than trying to work directly on the JmolApplet.) JmolApplet ---------- The JmolApplet allows web authors to embed Jmol into web browser pages. If you want to build web pages that display molecular models then you should use the JmolApplet. The JmolApplet is an 'untrusted' applet, meaning that the applet will load and display without requiring confirmation. Untrusted web browser applets must live within a rather restricted environment in order to protect the end-user from potentially malicious applets. For example, an untrusted applet cannot access or store any files on the client's file system. Additionally, the browser can only load other URLs which originate on the same web server from which the applet was loaded. If you are going to develop web content then you may want to develop long scripts to demonstrate molecular characteristics. Generally, it is a good idea to develop and test these scripts within the Jmol application. Later, you can deploy the same scripts within the JmolApplet. JmolViewer ---------- Jmol has a set of core classes which we refer to as the JmolViewer. The JmolViewer classes are included in both the Jmol application and the JmolApplet. The JmolViewer is intended for serious/professional Java software developers. Therefore, most Jmol users will never use the JmolViewer directly. If you are developing a Java application or applet and are capable of using Java classes, then you can use the JmolViewer to display your molecular models. Both the Jmol application and the JmolApplet are written on top of the JmolViewer, so direct use of the JmolViewer gives you complete control over Jmol behavior and functionality. At some level, you can think of the JmolViewer as the rendering engine that generates the contents of the window that is displayed on the screen. It does not include any menus, buttons, or pop-up menus. If you wish, you can have it handle mouse events. Interestingly, the JmolViewer does not include any file IO. The JmolViewer uses the JmolModelAdapter interface to retrieve atom coordinates and bond information. This design should allow one to use the JmolViewer with any library. Note that Jmol is still undergoing a large number of changes and enhancements. Therefore, the JmolViewer API is still somewhat fluid and subject to change. However, we believe that the overall structure and philosophy of design are generally stable. A small sample program can be found in the Jmol source tree under samples/Integration.java Additional questions about direct use of the JmolViewer should be directed to the [EMAIL PROTECTED] mailing list. The End! ------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click _______________________________________________ Jmol-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jmol-users

