Developing Web-aware Hypermedia Applications with Hush
Anton Eliëns
Nowadays there is a wealth of technology availabe to
develop applications that have hypermedia functionality
and Web-access integrated.
The hush hypermedia toolkit combines many
of these technologies in a unified fashion.
It allows beginners to develop state-of-the-art
applications quickly,
yet it does not limit experienced programmers
who wish to make full use of the underlying technology.
The hush toolkit supports a multi-paradigm approach,
allowing software developers to build applications out of
components written in C++, the scripting language Tcl/Tk,
the distributed logic programming language DLP
as well as Java.
Applications can be developed as stand-alone programs,
distributed objects in a CORBA environment
or as Netscape plugins.
This books presents a hands-on introduction to programming
in hush, and provides a wealth of examples of hush applications,
including games, (discrete) event simulations, process models,
multimedia, and computer music programs.
It also provides an introduction to the technologies
on which it is based, including programming in Tcl/Tk,
GUI programming in C++, knowledge-based programming
in DLP, the construction of Web browser applets
and the development of Netscape plugins.
In addition, the basic concepts and patterns underlying
the architecture of object-oriented frameworks as
applied in the hush toolkit are explained in detail.
This book addresses software developers that employ
GUI-related and Web-based technology in their daily practice.
It provides students of Computer Science with a step-by-step
introduction to the area of GUI programming in Tcl/Tk
and C++ along with a toolkit that has been well-tested
in class exercises.
It provides teachers of Computer Science with material
for practical courses.
It is a source of information for software engineers
developing large multi-paradigm software frameworks.
And finally, it presents the interested reader a
detailed account of the development of a toolkit
that is rich in functionality and fun to use.
The toolkit is the result of a mixture of serious
research in applications of object-oriented technology
and exploratory development in the hypermedia domain,
with some excursions to Computer Music.
The development of the hush toolkit has been driven
by the curiosity and excitement of students and research
assistents at the Vrije Universiteit, collectively called
the DejaVu team.
The development of hush has also been motivated by the frustration
that many of the available technologies were often much more
difficult to use than expected.
The hush toolkit combines the functionality of
existing technologies with an original non-pedantic approach
of which the Leitmotiv may be phrased as
"easy to use for beginners, yet not limiting for the
expert programmer."
About the Form:
The book will be available both in a paper
version as well as on CDROM and on the Web.
The CDROM and Web versions will give access to related
material, including software, manuals, tutorials and articles.
The source code of the toolkit and of the examples in the book
will be available.
Note: The author will do the typesetting. Programming
assistence financed by the Publisher is welcome.
About the Contents:
The book is based on the work done in the DejaVu project
under supervision by the author. See references below.
It will include material from tutorials written
for the Practicum Software Engineering and Object-Oriented
Programming. The hush toolkit has been in use for the past
three years for the Practicum Software Engineering which
is a CS2 level course with yearly approx. 100 students.
About the Author:
The author has previously written two books:
- DLP -- A language for distributed logic programming, Wiley 1992
- Principles of Object-Oriented Software Development, Addison-Wesley 1995
The present book will use material from those books where appropriate.
Provisional Contents:
Part I: Multi-paradigm software development
1. Introduction -- multiparadigm software development
2. A gentle introduction to Tcl/Tk and C++ GUI programming
3. Crossing the logic barrier -- Distributed Logic Programming
4. Additional tools and techniques for application development
Part II: The hush hypermedia framework
5. Basic concepts and patterns underlying hush
6. Connecting to the Web
7. Simulation and process modeling
8. Computer music support
Part III: Applications with hush
9. Games and other serious business
10. IDA - an interior design assistant
11. Distributed applications with CORBA
12. Netscape plugin applications
References
Appendix:
A System configuration for Solaris
B Resources
References articles:
Hush -- a C++ API for Tcl/Tk,
Technology, Tools and Applications,
April 10-14, 1995, Darmstadt
Bradford, 17-18 April 1996, Britisch Computer Society
The Web revolution,
World Wide Web Journal, O'Reilly and Assoc., Inc., pp. 309-314,
Also at
www.w3.org/pub/Conferences/WWW4/Papers/143/
Also at www.cs.vu.nl/~martijn/chatting.html