OpenStep
This article needs additional citations for verification. (March 2023) |
Application programming interface | |
Website | www |
---|
OpenStep is an
OpenStep was principally developed by NeXT and
History
Workstations from
Sun then began looking for other options.
The basic concept was to take a cut-down version of the NeXTSTEP
Steve Jobs said "We are ahead today, but the race is far from over. ... [In 1996,] Cairo will be very close behind, and Taligent will be very far behind." Sun's CEO Scott McNealy said, "We have no insurance policy. We have made a firm one-company, one-architecture decision, not like Taligent getting a trophy spouse by signing up HP."[2]: 13
The first draft of the API was published by NeXT in mid 1994. Later that year they released an OpenStep compliant version of NeXTSTEP as OPENSTEP, supported on several of their platforms as well as Sun SPARC systems. NeXT submitted the OpenStep specification to the industry's object standards bodies. is also a descendant of OPENSTEP, but targeted at touch devices.
Sun originally adopted the OpenStep environment with the intent of complementing Sun's
The OpenStep and CORBA parts of the products were later split, and NEO was released in late 1995 without the OpenStep environment. In March 1996, Sun announced Joe, a product to integrate NEO with Java. Sun shipped a beta release of the OpenStep environment for Solaris on July 22, 1996,[4] and made it freely available for download in August 1996 for non-commercial use, and for sale in September 1996. OpenStep/Solaris was shipped only for the SPARC architecture.
Description
OpenStep differs from NeXTSTEP in various ways:
- NeXTSTEP is an operating system, whereas OpenStep is an API.
- Unlike NeXTSTEP, OpenStep does not require the Mach kernel.
- Each version of NeXTSTEP has a specific little endian for x86processors, for example. OpenStep is "endian-free".
- OpenStep introduces new classes and memory management capabilities.
The OpenStep API specification defines three major components: Foundation Kit, the
Building on OpenStep
The standardization on OpenStep also allowed for the creation of several new library packages that were delivered on the OPENSTEP platform. Unlike the operating system as a whole, these packages were designed to run
Primary among these packages was
In the mid-1990s, NeXT staff took to writing in solutions to various CORBA magazine articles in a few lines of code, whereas the original article would fill several pages. Even though using PDO required the installation of a considerable amount of supporting code (Objective-C and the libraries), PDO applications were nevertheless considerably smaller than similar CORBA solutions, typically about one-half to one-third the size.
The similar D'OLE provided the same types of services, but presented the resulting objects as COM objects, with the goal of allowing programmers to create COM services running on high-powered platforms, called from Microsoft Windows applications. For instance one could develop a high-powered financial modeling application using D'OLE, and then call it directly from within Microsoft Excel. When D'OLE was first released, OLE by itself only communicated between applications running on a single machine. PDO enabled NeXT to demonstrate Excel talking to other Microsoft applications across a network before Microsoft themselves were able to implement this functionality (DCOM).
Another package developed on OpenStep was
Implementations
OPENSTEP for Mach
NeXT's first operating system was
NeXT completed an implementation of OpenStep on their existing Mach-based OS and called it OPENSTEP for Mach 4.0 (July, 1996), 4.1 (December, 1996), and 4.2 (January, 1997). It was, for all intents, NeXTSTEP 4.0, and still retained flagship NeXTSTEP technologies (such as
OPENSTEP for Mach supported Intel x86-based PC's, Sun's SPARC workstations, and NeXT's own 68k-based architectures, while the HP PA-RISC version was dropped. These versions continued to run on the underlying Mach-based OS used in NeXTSTEP. OPENSTEP for Mach became NeXT's primary OS from 1995 on, and was used mainly on the Intel platform. In addition to being a complete OpenStep implementation, the system was delivered with a complete set of NeXTSTEP libraries for backward compatibility. This was an easy thing to do in OpenStep due to library versioning, and OPENSTEP did not suffer in bloat because of it.
Solaris OpenStep
In addition to the OPENSTEP for Mach port for SPARC, Sun and NeXT developed an OpenStep compliant set of frameworks to run on Sun's
OPENSTEP Enterprise
NeXT also delivered an implementation running on top of Windows NT 4.0 called OPENSTEP Enterprise (often abbreviated OSE). This was an unintentional demonstration on the true nature of the portability of programs created under the OpenStep specification. Programs for OPENSTEP for Mach could be ported to OSE with little difficulty. This allowed their existing customer base to continue using their tools and applications, but running them on Windows, to which many of them were in the process of switching. Never a clean match from the UI perspective, probably due to OPENSTEP's routing of window graphics through the Display Postscript server—which was also ported to Windows—OSE nevertheless managed to work fairly well and extended OpenStep's commercial lifespan.
OPENSTEP and OSE had two revisions (and one major one that was never released) before NeXT was purchased by Apple in 1997.
Rhapsody, Mac OS X Server 1.0
After acquiring NeXT, Apple intended to ship Rhapsody as a reworked version of OPENSTEP for Mach for both the Mac and standard PCs. Rhapsody was OPENSTEP for Mach with a Copland appearance from Mac OS 8 and support for Java and Apple's own technologies, including ColorSync and QuickTime; it could be regarded as OPENSTEP 5. Two developer versions of Rhapsody were released, known as Developer Preview 1 and 2; these ran on a limited subset of both Intel and PowerPC hardware. Mac OS X Server 1.0 was the first commercial release of this operating system, and was delivered exclusively for PowerPC Mac hardware.
Darwin, Mac OS X 10.0 and later
After replacing the Display Postscript WindowServer with
macOS's primary programming environment is essentially OpenStep (with certain additions such as XML property lists and URL classes for Internet connections) with macOS ports of the development libraries and tools, now called Cocoa.
macOS has since become the single most popular desktop Unix-like operating system in the world, although macOS is no longer an OpenStep compliant operating system.[citation needed]
GNUstep
GNUstep, a free software implementation of the NeXT libraries, began at the time of NeXTSTEP, predating OPENSTEP. While OPENSTEP and OSE were purchased by Apple, who effectively ended the commercial development of implementing OpenStep for other platforms, GNUstep is an ongoing open source project aiming to create a portable, free software implementation of the Cocoa/OPENSTEP libraries.
GNUstep also features a fully functional development environment, reimplementations of some of the newer innovations from macOS's Cocoa framework, as well as its own extensions to the API.
See also
- NeXT character set
- Multi-architecture binary
References
- ^ Lineback, Nathan. "OPENSTEP 4.2, Intel version. Screen shots". Toastytech.com.
- ^ a b c d Tribble, Bud (February 1994). "Bud Tribble Explains It All". NeXTWORLD (Interview). Interviewed by NeXTWORLD. p. 23–24. Retrieved February 10, 2019.
- ^ Cocoa Fundamentals Guide: A Bit of History
- ^ "Sun announces availability of Solaris OpenStep and Workshop OpenStep Beta" (Press release). Sun Microsystems, Inc. Retrieved 2006-10-25.
- ^ "OpenStep Development Tools - 1 Introduction". docs.sun.com. Archived from the original on 27 Apr 2005. Retrieved 21 May 2023.
- ^ McGirr, Lili (22 Jul 1996). "Sun Announces Availability of Solaris OpenStep and Workshop OpenStep Beta; Meets Customer Demand For Operating System and Object-based Development Environment". thefreelibrary.com. Business Wire. Archived from the original on 23 Oct 2012. Retrieved 21 May 2023.