Review: Teikade 1.7 beta 6
This is not a review of a RAD development environment. This is a review of a normal development environment along the lines of using the JDK, Emacs, and Make.
Like Java Workshop, Teikade is written in Java and thus will run on a wide variety of systems. This reviewer is using a laptop running Windows 95. To install the system, you download the archive, extract its contents, add the classes directory to your classpath and execute 'java Setup'. Yep, even the setup is in Java. It then proceeds to copy the source of the JDK from your Java home directory. This is used in its database of classes that assist the class browser.
Because this is not really a graphical user-interface design tool the steps to create a new applet are much more fine-grained. This tool is not for someone not willing to really know Java. For instance, lets walk through the steps I went through to create the sample applet I have been using as an example. First, I create a new project called TClient with an appropiate directory location. It creates the directory and returns to the main message area. Now, I spawn TClient and it presents an extremely effective class browser. Currently my project has no classes or projects so only @TClient (the name of the project) is displayed. Going to the class menu I request a new class, it will be public and extend from Applet. Once I make this selection Teikade then determines that I am extending java.awt.Applet and makes some notes in its database. I then request some methods. Teikade provides prototypes for init() and action(), so I select them. I also create a new method send() that is public and void. Now I get down to the business of creating the interface. The details of interface are in the source file.
Now I need to add some functionality so I use Explorer to copy modified versions of my SpawnClient and ClientHandleConnection classes. I then ask the project to rebuild the database and it automagically reads those files and gives me a breakdown of the methods available. Some slight modifications of the send() method are made and I ask it to compile. Once compiled, I test, and amazingly enough I still remember how to use the AWT by hand :) So, what do we get in the end? Here is the applet I generated along with the source code:
As you can see, it was a straight-forward implementation. Makes me want to dump the IDEs all together. Did I mentions that the editor only updates your code when you are done making all your changes to a method, that it emulates Emacs, and that it formats better than all the rest of the editors? Did I mention that the class browser goes directly to the source for the method you select without the source around it to distract you? How about the compiler wrapper that interprets the error messages and goes to the source line? The authors of this package did an excellent job.
There are some bugs though. One of the annoying problems I had is that Teikade does not tell you a compile is successful, it only says something when it fails. No harm done, just needs to be fixed. I also crashed Teikade once while I was attempting to 'spawn changes'.
So, are you looking for a development environment and have no problem writing your own AWT code? Then look no further. Teikade does the job. However, if you are not up to learning a new development tool pattern, don't bother. The interface is sufficiently different from other evironments as to frustrate the impatient that are not willing to make a little effort to climb the learning curve on this excellent tool.
Sam Pullara
spullara@suba.com