home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1995 August / NEBULA.mdf / Documents / FAQ / Objective-C-faq / classes < prev    next >
Encoding:
Internet Message Format  |  1993-08-17  |  18.3 KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!spool.mu.edu!howland.reston.ans.net!europa.eng.gtefsd.com!uunet!mcsun!sun4nl!tuegate.tue.nl!krait.es.ele.tue.nl!tiggr
  2. From: tiggr@es.ele.tue.nl (Tiggr)
  3. Newsgroups: comp.lang.objective-c,comp.answers,news.answers
  4. Subject: comp.lang.objective-c FAQ, part 2/3: ClassWare Listing
  5. Supersedes: <classes_743346495@es.ele.tue.nl>
  6. Followup-To: comp.lang.objective-c
  7. Date: 17 Aug 1993 10:09:55 GMT
  8. Organization: Eindhoven University of Technology, the Netherlands
  9. Lines: 491
  10. Approved: news-answers-request@mit.edu
  11. Expires: 26 Sep 1993 10:09:52 GMT
  12. Message-ID: <classes_745582192@es.ele.tue.nl>
  13. Reply-To: tiggr@es.ele.tue.nl (Tiggr)
  14. NNTP-Posting-Host: krait.es.ele.tue.nl
  15. Summary: This second part of the comp.lang.objective-c FAQ postings
  16.         gives an overview of available class libraries.
  17. Originator: tiggr@krait.es.ele.tue.nl
  18. Xref: senator-bedfellow.mit.edu comp.lang.objective-c:1504 comp.answers:1639 news.answers:11485
  19.  
  20. Archive-name: Objective-C/classes
  21. Version: $Id: classes,v 1.7 1993/08/17 10:05:56 tiggr Exp $
  22.  
  23.  
  24.  
  25.                 Objective-C
  26.  
  27.                  ClassWare Listing
  28.  
  29.  
  30.  
  31. This is the second of three FAQ postings for comp.lang.objective-c.  This
  32. posting lists available kits and classes, to aid the reader in answering the
  33. question `to re-use or to re-invent?'.  In order to keep this list up to date
  34. and as interesting and diverse as possible, send your additions, deletions
  35. and suggestions to tiggr@es.ele.tue.nl.
  36.  
  37. The available classes and kits are categorized as follows:
  38.  
  39.     Stepstone    Stepstone libraries,
  40.             for use with Stepstone's environment
  41.     NeXT        NeXT kits, for use with NEXTSTEP
  42.     FSF        FSF maintained/released classes
  43.             for use with GNU CC
  44.     Third Party    commercial classes
  45.     GNU        classes released under the GPL
  46.     Public Domain    public domain classes---!GPL
  47.  
  48.  
  49. Stepstone
  50.  
  51.     Bundled with the compiler is ICpak 101---Foundation Class Library.
  52.     Available separately for most systems are: ICpak 201---Graphical User
  53.     Interface and ICpak 301---GRAPHpak
  54.  
  55.     Contact
  56.     
  57.     The Stepstone Corporation
  58.     75 Glen Road
  59.     Sandy Hook, CT 06482
  60.     tel: (203) 426-1875
  61.     fax: (203) 270-0106
  62.     telex: 506127
  63.  
  64. NeXT
  65.  
  66.     Common Classes
  67.  
  68.     Several classes provided with NeXTSTEP do not belong to a specific
  69.     kit: Object (core of the runtime system, root of the general class
  70.     hierarchy), Storage, List (an abstract array), HashTable (to store
  71.     (key, object) associations), StreamTable (to write data to streams)
  72.     and NXStringTable (to store (key, string) associations).
  73.  
  74.     Application Kit
  75.  
  76.     The Application Kit defines a set of Objective-C classes and
  77.     protocols, C functions, and assorted constants and data types that
  78.     are used by virtually every NeXTSTEP application.  The pith of the
  79.     Kit are the tools it provides for implementing a graphical,
  80.     event-driven user interface:
  81.  
  82.         The Application Kit provides classes---most notably Window and
  83.         View---that make drawing on the screen exquisitely succinct.
  84.         Much of the unromantic work that's involved in
  85.         drawing---communicating with hardware devices and screen
  86.         buffers, clearing areas of the screen before drawing,
  87.         coordinating overlapping drawing areas---is taken care of for
  88.         you, letting you concentrate on the much more gratifying task of
  89.         supplying code that simply draws.  And even this task is
  90.         assisted by many of the other classes and a number of C
  91.         functions that provide drawing code for you.
  92.  
  93.         The Application Kit makes event handling extremely simple.  The
  94.         Responder class, from which many of the Kit's classes inherit,
  95.         defines a mechanism by which the user's actions are passed to
  96.         the objects in your application that can best respond to them.
  97.         The Application class, which inherits from Responder,
  98.         establishes the low-level connections that makes this system
  99.         possible.  It provides methods that inform your application of
  100.         watershed events, such as when the user makes the application
  101.         active and inactive, and when the user logs out or turns off the
  102.         computer.
  103.  
  104.     By using these tools, you bless your application with a look and
  105.     feel that's similar to other applications, making it easier for the
  106.     user to recognize and use.
  107.  
  108.     (Introduction from the NeXTSTEP General Reference, "Application Kit"
  109.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  110.     All rights reserved.)
  111.  
  112.     Database Kit
  113.  
  114.     The Database Kit provides a comprehensive set of tools, classes, and
  115.     protocols for building applications that use a high-level
  116.     entity-relationship model to manipulate database servers such as
  117.     those provided by Oracle or Sybase.  The kit provides services that
  118.     include:
  119.  
  120.         Communication with client-server databases.
  121.  
  122.         Modeling properties (attributes and relationships) of each
  123.         database.
  124.  
  125.         Record management and buffering.
  126.  
  127.         Data flow between record managers and the application user
  128.         interface.
  129.  
  130.         User interface objects for display and editing.
  131.  
  132.     (Introduction from the NeXTSTEP General Reference, "Database Kit"
  133.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  134.     All rights reserved.)
  135.  
  136.     Distributed Objects
  137.  
  138.     The Distributed Objects system provides a relatively simple way for
  139.     applications to communicate with one another by allowing them to
  140.     share Objective-C objects, even amongst applications running on
  141.     different machines across a network.  They are useful for
  142.     implementing client-server and cooperative applications.  The
  143.     Distributed Objects system subsumes the network aspects of typical
  144.     remote procedure call (RPC) programming, and allow an application to
  145.     send messages to remote objects using ordinary Objective-C syntax.
  146.  
  147.     The Distributed Objects system takes the form of two classes,
  148.     NXConnection and NXProxy.  NXConnection objects are primarily
  149.     bookkeepers that manage resources passed between applications.
  150.     NXProxy objects are local objects that represent remote objects.
  151.     When a remote object is passed to your application, it is passed in
  152.     the form of a proxy that stands in for the remote object; messages
  153.     to the proxy are forwarded to the remote object, so for most intents
  154.     and purposes the proxy can be treated as though it were the object
  155.     itself.  Note that direct access to instance variables of the remote
  156.     object isn't available through the proxy.
  157.  
  158.     (Introduction from the NeXTSTEP General Reference, "Distributed Objects"
  159.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  160.     All rights reserved.)
  161.  
  162.     Indexing Kit
  163.  
  164.     The Indexing Kit is a set of programmatic tools for managing data,
  165.     especially the large amounts of data characteristic of information
  166.     intensive applications.  Much as the Application Kit provides a
  167.     framework for a graphical interface, the Indexing Kit provides a
  168.     framework for data management.
  169.  
  170.     The Indexing Kit supplies facilities for building custom databases
  171.     and for searching the UNIX file system.  Key benefits include
  172.     guaranteed data integrity, excellent performance, thread-safe
  173.     operation, tight integration with the NeXTSTEP programming
  174.     environment, and the ability to efficiently store and retrieve
  175.     Objective-C objects and unstructured data like text, sound, and
  176.     images.
  177.  
  178.     The Indexing Kit consists of:
  179.  
  180.         A transaction-oriented foundation for storing and retrieving
  181.         persistent data, using virtual memory mapping for efficient
  182.         random access to parts of a file without reading or writing the
  183.         entire file. Transactions guarantee data integrity on persistent
  184.         storage media, and are also used to manage concurrent access to
  185.         shared data.
  186.  
  187.         Fast sequential and associative access to stored data.
  188.         Associative access is untyped, in that the programmer defines
  189.         the data types of keys and their ordering by means of a
  190.         comparison function or a format string.
  191.  
  192.         A simple data management capability based on the Objective-C
  193.         run-time system.  Records can be moved efficiently between
  194.         working memory and the storage substrate in the form of
  195.         Objective-C objects.  Multiple indexes can be built over
  196.         programmer-defined attributes, so that records can be ordered
  197.         and retrieved by the values of their indexed attributes.
  198.  
  199.         A general query processing facility, including a declarative
  200.         query language and its interpreter.  Queries can be applied to
  201.         individual objects, to collections of objects, or to the
  202.         attribute/value lists produced by Indexing Kit's customizable
  203.         text processing tools.
  204.  
  205.         High-level file system searching facilities based on the
  206.         supporting layers described above, including fast literal
  207.         searching of file contents.
  208.  
  209.     (Introduction from the NeXTSTEP General Reference, "Indexing Kit"
  210.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  211.     All rights reserved.)
  212.  
  213.     Mach Kit
  214.  
  215.     The Mach Kit provides an object-oriented interface to some of the
  216.     features of the Mach operating system.  At this time, it is most
  217.     useful to applications that make use of the Distributed Objects
  218.     system, since these applications rely upon Mach's message sending
  219.     abilities to transport objects, ports, and data between processes.
  220.     The Mach Kit may also be useful for drivers and multithreaded
  221.     applications.  The Mach Kit provides several classes and protocols,
  222.     listed below.
  223.  
  224.     (Introduction from the NeXTSTEP General Reference, "Mach Kit"
  225.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  226.     All rights reserved.)
  227.  
  228.     NextInfo Kit
  229.  
  230.     The NetInfo Kit is a collection of classes and a single function
  231.     used to provide a connection to and interface with NetInfo domains.
  232.     The NetInfo Kit provides classes for basic interface with a domain
  233.     as well as specialized panels.
  234.  
  235.     (Introduction from the NeXTSTEP General Reference, "NetInfo Kit"
  236.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  237.     All rights reserved.)
  238.  
  239.     3D Kit
  240.  
  241.     The 3D Graphics Kit enables NeXTSTEP applications to model and
  242.     render 3-dimensional scenes.  Much as the Application Kit's 2D
  243.     graphics capabilities are based on the Display PostScript
  244.     interpreter, the 3D Kit's capabilities are based on the Interactive
  245.     RenderMan renderer.  There are both similarities and differences in
  246.     the inner workings of the two implementations.
  247.  
  248.     One similarity is that both are implemented with a client-server
  249.     model, in which client applications send drawing code to the Window
  250.     Server, which does the actual drawing.  Another similarity is that
  251.     N3DCamera---the 3D Kit's View---generates all drawing code, both 2D
  252.     and 3D, when its drawSelf: method is invoked.  This keeps the
  253.     Application Kit's display mechanism intact for both PostScript and
  254.     RenderMan drawing.
  255.  
  256.     One difference in the implementations is in the code generated for
  257.     drawing. For 2D drawing, a View sends PostScript code to the Window
  258.     Server's Display PostScript interpreter.  For 3D drawing, a View
  259.     sends RenderMan Interface Bytestream (RIB) code to the Window
  260.     Server's Interactive RenderMan renderer.
  261.  
  262.     (Introduction from the NeXTSTEP General Reference, "3D Graphics Kit"
  263.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  264.     All rights reserved.)
  265.  
  266.     Sound Kit
  267.  
  268.     XXX
  269.  
  270.     NXLiveVideoView
  271.  
  272.     The NXLiveVideoView class provides API for interactive display of
  273.     live video on the screen of a NeXTdimension Computer.  The
  274.     NXLiveVideoView class specification provides a complete discussion
  275.     of the NeXTdimension Computer's video capabilities and the API
  276.     provided by NXLiveVideoView.
  277.  
  278.     (Introduction from the NeXTSTEP General Reference, "Video"
  279.     reprinted with permission.  Copyright (c) 1993 NeXT Computer, Inc.
  280.     All rights reserved.)
  281.  
  282.     Applications
  283.  
  284.     There are several classes which solely exist to enable the
  285.     programmer to add functionality to specific existing NEXTSTEP
  286.     applications:
  287.  
  288.         IBPalette, IBInspector
  289.  
  290.         These classes allow developers to expand the functionality
  291.         of the Interface Builder application, creating their own
  292.         palettes of objects that can be dragged into an interface,
  293.         and inspectors to set and view the attributes of those
  294.         objects.
  295.  
  296.         Layout
  297.  
  298.         This class allows developers to add their own modules to the
  299.         Preferences application.
  300.         
  301.         WMInspector
  302.  
  303.         This class allows developers to add their own file contents
  304.         inspectors to the Workspace Manager application.
  305.  
  306.     Other
  307.  
  308.     Before NeXTSTEP 3.0, MusicKit was distributed as part of NEXTSTEP.
  309.     MusicKit is now maintained and made available by CCRMA (see the
  310.     entry under `Public Domain Kits').  Also until the advent of
  311.     NeXTSTEP 3.0, PhoneKit was part of NeXTSTEP.  PhoneKit classes
  312.     provided easy to ISDN connections.
  313.  
  314.     Contact
  315.  
  316.     NeXT Computer Inc.
  317.     XXX
  318.  
  319.  
  320. FSF
  321.  
  322.     Object
  323.  
  324.     Currently, Object is the only class available from the FSF.  It
  325.     comes as part of the Objective-C runtime library provided with the
  326.     GNU CC compiler.
  327.  
  328.     Contact
  329.  
  330.     Free Software Foundation
  331.     675 Massachusetts Avenue
  332.     Cambridge, MA  02139
  333.     +1-617-876-3296
  334.  
  335.  
  336. Third Party Kits
  337.  
  338.     Berkeley Productivity Group
  339.  
  340.     BPG BLOCKS
  341.  
  342.         BPG BLOCKS is an open extensible manufacturing framework which
  343.         supports a variety of applications including factory definition,
  344.         real-time tracking, real-time scheduling, short-term planning,
  345.         shift scheduling, production planning and capacity analysis.
  346.         BPG BLOCKS creates a virtual reality which represents the real
  347.         factory including the people, machines, material, processes,
  348.         their dynamics and interactions.  BPG BLOCKS is based on an easy
  349.         to understand design where every software object represents
  350.         either a real-world entity, or an important concept in the
  351.         manufacturing domain.  BPG BLOCKS' object-oriented manufacturing
  352.         model mirrors the real world, captures numerous manufacturing
  353.         details accurately, supports commonly used abstractions, and
  354.         allows decisions to be made based on aggregate information.  BPG
  355.         BLOCKS forms the basis for building custom applications which
  356.         meet the unique needs of your particular manufacturing
  357.         facility.
  358.  
  359.     Contact
  360.  
  361.         Christopher Lozinski
  362.             BPG
  363.             35032 Maidstone Court
  364.             Newark, CA 94560
  365.             tel: (510) 795-6086
  366.             fax: (510) 795-8077
  367.             email: lozinski@cup.portal.com
  368.  
  369.  
  370.     M. Onyschuk and Associates Inc.
  371.  
  372.     OBJECT:Math
  373.  
  374.         OBJECT:Math is a comprehensive set of tools and 23 Objective-C
  375.         classes used to add extensible math and string handling to your
  376.         custom and commercial applications:
  377.  
  378.         Compiler---The OBJECT:Math Compiler converts math and string
  379.         expressions (as might be typed into a spreadsheet cell,
  380.         plotting package, etc.) into Objective-C objects.
  381.     
  382.         Unbundler---The OBJECT:Math Unbundler object allows
  383.         end-users to extend their OBJECT:Math applications with
  384.         custom-built or third-party OBJECT:Math function bundles.
  385.  
  386.         User Interface Objects---OBJECT:Math comes complete with a
  387.         Lotus Improv (TM) style function picker, a variable editor,
  388.         and objects used to display OBJECT:Math expression trees and
  389.         other tree structures.
  390.  
  391.         As product sources are available the product may even be of
  392.         interest to non-NeXT Objective-C programmers
  393.  
  394.     Contact
  395.  
  396.         Mark Onyschuk
  397.         M. Onyschuk and Associates Inc.
  398.         tel: (416) 462 3954
  399.         email: ask-oa@plexus.guild.org
  400.  
  401.  
  402.     Stream Technologies Inc.
  403.  
  404.     Store
  405.  
  406.         Store is an Object Oriented User Level Virtual File System.
  407.         It is described extensively in `Store - Object Oriented Virtual
  408.         File System' by Timo Lehtinen, which is available by anonymous
  409.         FTP to ftp.sti.fi as /pub/sti/doc/papers/store.ps.
  410.  
  411.     Contact
  412.  
  413.         Stream Technologies Inc.
  414.         Valkj\"arventie 2
  415.         SF-02130 Espoo
  416.         Finland
  417.         tel: +358 (0) 4357 7348
  418.         fax: +358 (0) 4357 7340
  419.         email: info@sti.fi
  420.  
  421.  
  422. Third Party Classes
  423.  
  424.     no information yet
  425.  
  426.  
  427. GNU Kits
  428.  
  429.     no information yet
  430.  
  431.  
  432. GNU Classes
  433.  
  434.     no information yet
  435.  
  436.  
  437. Public Domain Kits
  438.  
  439.     CCRMA
  440.  
  441.     MusicKit
  442.  
  443.         The Music Kit3 provides tools for designing music
  444.         applications. These tools address three topics: music
  445.         representation, performance, and synthesis (digital sound
  446.         generation and processing).  The Objective-C classes defined in
  447.         the Music Kit fall neatly into these three areas.
  448.  
  449.         The design goal of the Music Kit is to combine the interactive
  450.         gestural control of MIDI with the precise timbral control of
  451.         MUSIC 5-type systems in an extensible, object-oriented
  452.         environment. To this end, the Music Kit is capable of fully
  453.         representing MIDI.  The Music Kit accepts MIDI in and can send
  454.         MIDI out through the two serial ports at the back of the
  455.         computer. Nonetheless, the Music Kit isn't limited by the MIDI
  456.         specification; for example, its resolution of frequency and
  457.         amplitude is much finer than MIDI's highly quantized values.
  458.  
  459.         The Music Kit generates sounds by sending synthesis instructions
  460.         to the DSP.  The generality of the synthesis software far
  461.         surpasses that of commercial synthesizers.  While most
  462.         synthesizers employ only one type of synthesis-the Yamaha DX-7
  463.         uses only frequency modulation, for example-the Music Kit can
  464.         implement virtually any sound synthesis strategy.  And since the
  465.         synthesis engine (the DSP) and the control stream are brought
  466.         together in a single high-performance computer, the Music Kit
  467.         makes possible an unprecedented level of expressive control.
  468.         (from Documentation/MusicKit+DSP/General/SoundMusicDSP.rtfd)
  469.  
  470.         MusicKit used to be supplied by NeXT as part of NeXTSTEP (pre
  471.         3.0).  It is now maintained by CCRMA and available by FTP from
  472.         ccrma-ftp.stanford.edu.  There are two packages:
  473.  
  474.         pub/MusicKit_3.1.pkg.tar
  475.  
  476.             Class library, header files, documentation, programming
  477.             examples, and a suite of applications (size = 7.38MB).
  478.  
  479.         pub/MusicKitSource_3.1.pkg.tar
  480.             Source of the MusicKit class library (size = 5.5MB).
  481.  
  482.         and some other related files:
  483.  
  484.         22333 May 27  1993 MusicKit-NWExpo93.rtf
  485.          2379 Feb 14  1993 MusicKit.README
  486.         60293 Dec  8  1992 MusicKit_3.1_KnownBugs
  487.  
  488.     Contact
  489.  
  490.         email: musickit@ccrma.stanford.edu
  491.  
  492.  
  493. Public Domain Classes
  494.  
  495.     no information yet
  496.  
  497.  
  498. ADMINISTRATIVIA
  499.  
  500.     The information in this file comes AS IS, WITHOUT ANY WARRANTY.  You may
  501.     use the information contained in this file or distribute this file, as
  502.     long as you do not modify it, make money out of it or take the credits.
  503.  
  504. The first version of this FAQ was written by Bill Shirly, helped by the
  505. feedback and information given to him by a lot of people.  The current
  506. version is maintained by Tiggr, supported by feedback from Glen Diener,
  507. Christopher Lozinski and a lot of other people.  Mail your bug reports,
  508. comments, suggestions and additions to tiggr@es.ele.tue.nl.
  509. -- 
  510. --Tiggr
  511.