Dynamic App:

DynamicApp is a program to test the functionality of a Class that I have written called the DynamicApplication Class.  The actual application was designed not to be of any real use, but it is hoped that with it, you can get an idea of what the Dynamic Application class can do.

I wrote DynamicApplication to give myself an easy way to dynamically load class descriptions at runtime.  By subclassing Application I make it possible for any object to load a Class simply by sending a message to NXApp. 

Why would I need to dynamically load anything?  If you want to leave your program wide open for future enhancement, then this Class is for you.  A good example of a current program that supports dynamic loading would be Interface Builder.  The ability to load palettes, is a perfect example of dynamic loading.  Anyone who has used palettes in there work will testify to its usefulness.

Writing a program that has the ability to load new Classes, takes a great burden off of the original programmer.  The programmer doesn't have to try to cram in every last bit of functionality to his/her program.  He/She can leave the added functionality up to the user.

Adding the DynamicApplication Class to existing code very simple.  Just include the DynamicApplication.[hm] files to your project.  Subclass Application, and name your subclass "DynamicApplication".  Finally change the File's Owner to DynamicApplication rather than just Application.

There are a few things to consider when loading class descriptions at runtime.

	1) Don't load any classes that are already included in the running version of your program.
	
	2) Don't load any classes that require objects or functions that are not included in your 
	     program.

	3) Don't load any classes that contain functions that are already included in the running 	     version of your program.
	
If you abide by these 3 simple rules, you should have no problems using this Class to assist you in your open end development.

For a more complete description of the DynamicApplication class, see the "DynamicApplication.rtf" file that should be included in this directory.

-Ed Hill
edhill@shumun.weeg.uiowa.edu
NeXT Campus Consultant
University of Iowa