Object-Oriented Applications Development with Nextstep Large and Medium-Sized Enterprise
Total Page:16
File Type:pdf, Size:1020Kb
Object-Oriented Applications Development With NeXTstep large and medium-sized enterprise. But building Object-Oriented custom applications is proving to be very difficult. The demand for graphical user interfaces has risen Applications sharply, placing greater demands on developers. And even without the demand for friendlier appli- Development cations, MIS groups are faced with a three-to seven- year backlog of new applications to build and old With NeXTstep applications to maintain. One response has been to port applications from Executive Summary mainframes to workstations. A related response has Rapid development and deployment of mis- been to upgrade to machines with faster processors. sion-critical custom software applications But neither downsizing nor increasing the raw are key to success in the 1990’s. This paper horsepower available to programmers has produced describes the advantages of developing those applications more rapidly or with appreciably more applications using NeXTstep, the industry’s functionality than older mainframe software. most extensive object-oriented systems soft- ware. NeXTstep’s advantages include its Why? While desktop computing has made great thorough object orientation and its inte- leaps in performance, doubling in power every two grated set of development tools. years, improvements in the way software is written Programmers can develop applications five to ten times faster since they need to write have occurred at a snail's pace. The porting of cor- less code. Benefits also include reduced learn- porate applications from mainframes to networks of ing time, improved maintainability and workstations has not remedied the problem, since reliability, code reusability, increased pro- downsizing has often meant simply using old devel- gramming flexibility, and the ability to opment tools and methods on faster workstations. manage more complex applications. For users, NeXTstep applications can be To improve productivity, programmers will have to developed and implemented more quickly. modernize their development methods and tools. NeXTstep applications have professional- Software must become more maintainable and code quality interfaces making them easier to use, more modular and reusable. But most importantly, and which integrate well with the productiv- programmers must use tools that require them to ity applications needed by users. This paper write less code. also describes the tools available to NeXT- step programmers, including NeXTstep’s Developers need a new method of writing soft- support for client-server computing and ware–and that new method is object-oriented industry standards. programming (OOP). Developers need a rich and complete set of object-oriented tools–and that set of I. Introduction: Building Mission-Critical tools is NeXTstep. Custom Applications with NeXTstep “The other workstation vendor to watch is II. NeXTstep NeXT. Developers positively love it. Every NeXTstation comes with a complete NeXTstep is object-oriented system software set of development tools, and there is simply (OOSS) for workstations, designed to help organi- no better environment for building graphi- zations close the applications gap by making cal applications. People who are now programmers more productive. NeXTstep using the NeXTs are nothing short of gaga improves programmer productivity in two ways. over it, and their lust is justified.” First, NeXTstep is a thoroughly object-oriented software architecture. Providing a rich set of preb- – Byte, Outlook ‘92 issue, p. 164 uilt objects for common functionality, NeXTstep Mission-critical custom applications are key to suc- allows programmers to write less code. Second, cess in the '90's for organizations of all kinds. NeXTstep provides a complete set of development Custom applications are needed by virtually every tools which have been crafted to work together. 2 NeXTstep Is Thoroughly Object-Oriented Being an object-oriented development platform, NeXTstep simplifies program development, makes Object-oriented programming is the first significant cooperation among programmers easier and main- revolution in software technology since the devel- opment of the graphical user interface. The entire tenance simpler, and gives the programmer a more architecture of NeXTstep is designed to support comprehensive view of a program’s architecture. object orientation. NeXTstep Provides A Complete Set of Tools Objects are the key to understanding object orienta- tion. They are self-contained chunks of code To its object-oriented programming language, containing data and associated behavior (proce- Objective-C, NeXT has added object-oriented sys- dures). Objects send messages to each other tem software, tools for developing interfaces and requesting information and services. Together, managing objects, and a complete object frame- these objects and the messages they send comprise work for adding sophisticated functionality without a complete software application. requiring programmers to write additional code. A software object represents something in the real world such as a user interface button or window, a NeXTstep provides an extensive set of fundamental data entry form, a business graphic, an employee building blocks, an Application Kit of more than record, or an information browser. Objects allow one hundred objects. This Kit reduces substantially programmers to break a problem into small man- the amount of code that needs to be written. ageable components, modules of code, making it simpler for the programmer to design a logical NeXTstep’s Applications Kit supplies all of the fea- structure. This process has two main benefits: tures of a consistent user interface. NeXTstep makes all applications easier to create, enhancing • Other engineers can design additional programmer productivity. By providing complete objects that implement features and treat tools to build and modify user interfaces, NeXTstep the rest as a “black box” and allows developers to focus on their application’s • Ramp-up time is shortened when a differ- unique features and encourages and enables them to ent engineer takes over maintenance of the develop custom applications with the look and feel software of quality commercial software. And by furnishing user interface construction tools which encourage Objects can be reused. Organizations can construct consistency, NeXT makes every application easier libraries, for example, of common analysis, forms, to use. By programming in NeXTstep, it is simple and report objects which can be used across many to create applications that are not only friendly but kinds of applications. are also tailored to meet each organization’s unique Object-oriented programming helps developers requirements. manage complex applications because they only need to understand the messages that objects send With NeXTstep, programmers can reduce develop- to each other to understand how a program works. ment time significantly, a valuable productivity gain for any business that relies on a mission-criti- Sending a message to an object only requires cal custom application. requesting what needs to be done, without needing to understand how the task will actually be done. “NeXT is really making a splash in launch- Object-oriented programs hide the details from ing SBC’s [Swiss Bank Corporation] busi- everyone but the programmer of that object. Pro- ness in interest-rate derivatives. Solo’s grammers focus on the architecture of the system: team wrote the application in three months, how the application is modularized into real-world which is half the time it would have taken on objects offering specific kinds of functionality and a Sun workstation, he says. ‘I’ve never how the application manages this functionality by developed something so substantive in so passing messages between objects. Developers can little time.’” operate on a higher level of abstraction and can ignore implementation details subject to revision as – Wall Street Computer Review, Volume 9, No. 1 the software matures. (1991), p. 46. 3 Recognized by the Industry faces, and interfaces which can be localized for different foreign languages Given these advantages, it is no surprise that NeXT- without additional coding. step has received the Software Publishers’ Association’s Fluegelman Award for innovative • The development environment should be software as well as Computer Language maga- well supported by the operating system. zine’s Productivity Award for interactive An object-oriented architecture should be application development environments. complemented by an optimized messaging architecture which enables efficient object-oriented applications. III. NeXTstep: A Consistent Philosophy • Custom applications, because of hooks NeXTstep is the first desktop computing operating into the operating system, should integrate system environment designed for the developer of well with commercial productivity tools. software applications. At NeXT we believe that these principles should be NeXTstep was created to enable developers to used to judge the adequacy of any development reduce development time dramatically, by making platform. Table 1 compares NeXTstep develop- common things easy to implement and difficult ment tools and their capabilities to the tools things possible and maintainable. available on another popular workstation develop- In creating NeXTstep, NeXT was guided by the fol- ment platform, Sun Microsystems. lowing principles: IV. How NeXTstep Increases Programmer • Developers for the 1990’s need an