Cocoa Fundamentals Guide

Total Page:16

File Type:pdf, Size:1020Kb

Cocoa Fundamentals Guide Cocoa Fundamentals Guide 2006-10-03 registered in the United States and other Apple Computer, Inc. countries. © 2006 Apple Computer, Inc. Adobe, Acrobat, and PostScript are All rights reserved. trademarks or registered trademarks of Adobe Systems Incorporated in the U.S. No part of this publication may be and/or other countries. reproduced, stored in a retrieval system, or transmitted, in any form or by any means, Intel and Intel Core are registered mechanical, electronic, photocopying, trademarks of Intel Corportation or its recording, or otherwise, without prior subsidiaries in the United States and other written permission of Apple Computer, Inc., countries. with the following exceptions: Any person Java and all Java-based trademarks are is hereby authorized to store documentation trademarks or registered trademarks of Sun on a single computer for personal use only Microsystems, Inc. in the U.S. and other and to print copies of documentation for countries. personal use provided that the OpenGL is a registered trademark of Silicon documentation contains Apple’s copyright Graphics, Inc. notice. Simultaneously published in the United The Apple logo is a trademark of Apple States and Canada. Computer, Inc. Even though Apple has reviewed this document, Use of the “keyboard” Apple logo APPLE MAKES NO WARRANTY OR (Option-Shift-K) for commercial purposes REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THIS without the prior written consent of Apple DOCUMENT, ITS QUALITY, ACCURACY, may constitute trademark infringement and MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. AS A RESULT, THIS unfair competition in violation of federal DOCUMENT IS PROVIDED “AS IS,” AND and state laws. YOU, THE READER, ARE ASSUMING THE ENTIRE RISK AS TO ITS QUALITY AND No licenses, express or implied, are granted ACCURACY. with respect to any of the technology IN NO EVENT WILL APPLE BE LIABLE FOR described in this document. Apple retains DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES all intellectual property rights associated RESULTING FROM ANY DEFECT OR with the technology described in this INACCURACY IN THIS DOCUMENT, even if advised of the possibility of such damages. document. This document is intended to THE WARRANTY AND REMEDIES SET assist application developers to develop FORTH ABOVE ARE EXCLUSIVE AND IN applications only for Apple-labeled or LIEU OF ALL OTHERS, ORAL OR WRITTEN, Apple-licensed computers. EXPRESS OR IMPLIED. No Apple dealer, agent, or employee is authorized to make any Every effort has been made to ensure that modification, extension, or addition to this warranty. the information in this document is Some states do not allow the exclusion or accurate. Apple is not responsible for limitation of implied warranties or liability for typographical errors. incidental or consequential damages, so the above limitation or exclusion may not apply to Apple Computer, Inc. you. This warranty gives you specific legal rights, and you may also have other rights which 1 Infinite Loop vary from state to state. Cupertino, CA 95014 408-996-1010 Apple, the Apple logo, AppleScript, AppleScript Studio, Aqua, Bonjour, Carbon, Cocoa, iPhoto, Mac, Mac OS, Macintosh, OpenDoc, Quartz, QuickDraw, QuickTime, and Xcode are trademarks of Apple Computer, Inc., registered in the United States and other countries. Finder, Safari, and Spotlight are trademarks of Apple Computer, Inc. NeXT, NeXTSTEP, and Objective-C are trademarks of NeXT Software, Inc., Contents Introduction Introduction to Cocoa Fundamentals Guide 13 Organization of This Document 13 See Also 14 Chapter 1 What Is Cocoa? 15 The Cocoa Environment 15 Introducing Cocoa 15 How Cocoa Fits Into Mac OS X 16 Features of a Cocoa Application 19 The Development Environment 21 Xcode 21 Interface Builder 23 AppleScript Studio 25 Other Development Tools 26 The Cocoa Frameworks 27 Foundation 28 Application Kit 34 Other Frameworks With Cocoa API 40 A Bit of History 41 Chapter 2 Cocoa Objects 43 A Simple Cocoa Command-Line Tool 43 Object-Oriented Programming With Objective-C 44 The Objective-C Advantage 45 Using Objective-C 49 The Root Class 52 NSObject 52 Root Class—and Protocol 53 Overview of Root-Class Methods 53 Interface Conventions 55 Instance and Class Methods 55 The Life Cycle of a Cocoa Object 55 Object Creation 60 Allocating an Object 60 Initializing an Object 61 3 2006-10-03 | © 2006 Apple Computer, Inc. All Rights Reserved. CONTENTS The dealloc Method 68 Class Factory Methods 68 Introspection 69 Evaluating Inheritance Relationships 69 Method Implementation and Protocol Conformance 70 Object Comparison 71 Object Mutability 72 Why Mutable and Immutable Object Variants? 72 Programming With Mutable Objects 74 Class Clusters 77 Simple Concept, Complex Interface 77 Simple Concept, Simple Interface 78 Creating Instances 78 Class Clusters With Multiple Public Superclasses 79 Creating Subclasses Within a Class Cluster 80 Creating a Singleton Instance 85 Chapter 3 Adding Behavior to a Cocoa Program 87 Starting Up 87 What Happens in the main Function 87 Using a Cocoa Framework 89 Inheriting From a Cocoa Class 90 When to Override a Method 91 When to Make a Subclass 93 Basic Subclass Design 95 The Form of a Subclass Definition 95 Overriding Superclass Methods 97 Instance Variables 97 Entry and Exit Points 99 Initialize or Decode? 100 Accessor Methods 101 Key-Value Mechanisms 103 Object Infrastructure 104 Error Handling 105 Resource Management and Other Efficiencies 106 Functions, Constants, and Other C Types 107 When the Class Is Public 107 Chapter 4 Cocoa Design Patterns 109 What Is a Design Pattern? 109 A Solution to a Problem in a Context 109 An Example: The Command Pattern 110 How Cocoa Adapts Design Patterns 111 Abstract Factory 112 4 2006-10-03 | © 2006 Apple Computer, Inc. All Rights Reserved. CONTENTS Adapter 112 Chain of Responsibility 113 Command 114 Composite 115 Decorator 117 Facade 119 Iterator 120 Mediator 120 Memento 122 Observer 123 Proxy 125 Singleton 126 Template Method 126 The Model-View-Controller Design Pattern 128 Roles and Relationships of MVC Objects 128 Types of Cocoa Controller Objects 130 MVC as a Compound Design Pattern 131 Design Guidelines for MVC Applications 134 Model-View-Controller in Cocoa 135 Object Modeling 136 Entities 136 Attributes 137 Relationships 137 Accessing Properties 139 Chapter 5 Communicating With Objects 143 Communication in Object-Oriented Programs 143 Outlets 144 Delegates and Data Sources 145 How Delegation Works 145 The Form of Delegation Messages 146 Delegation and the Application Kit 148 Data Sources 148 Implementing a Delegate for a Custom Class 149 The Target-Action Mechanism 150 Controls, Cells, and Menu Items 150 The Target 151 The Action 152 Actions Defined by the Application Kit 153 Setting the Target and Action 153 Bindings 155 How Bindings Work 155 How You Establish Bindings 156 Notifications 158 When and How to Use Notifications 159 5 2006-10-03 | © 2006 Apple Computer, Inc. All Rights Reserved. CONTENTS The Notification Object 161 Notification Centers 161 Notification Queues 162 Ownership of Delegates, Observers, and Targets 165 Chapter 6 The Core Application Architecture 167 The Event-Drawing Cycle, Revisited 167 The Global Application Object 168 The Main Event Loop 168 More About Event Dispatch 170 Window Management 170 Handling Apple Events 171 Windows 172 The Windows of an Application 172 NSWindow and the Window Server 173 Window Buffering 173 Window Z-Order and Levels 174 Parts of a Window 176 Window Coordinates 177 Windows and Drawing 178 Window Status 179 Windows and Event Handling 180 Panels 181 Views 181 Varieties of Views 181 The View Hierarchy 182 View Geometry and Coordinates 184 How Views Get Drawn 188 Views and Printing 192 Views and Events 192 Responders and the Responder Chain 193 Controls and Menus 195 Control and Cell Architecture 195 Menu Characteristics and Architecture 198 Represented Objects 199 Nib Files and Other Application Resources 200 Object Archives 200 Nib Files 201 Loading Application Resources 203 Chapter 7 Other Cocoa Architectures 205 Document Architecture 205 Application Scriptability 207 Core Data 209 6 2006-10-03 | © 2006 Apple Computer, Inc. All Rights Reserved. CONTENTS Document Revision History 211 Index 213 7 2006-10-03 | © 2006 Apple Computer, Inc. All Rights Reserved. CONTENTS 8 2006-10-03 | © 2006 Apple Computer, Inc. All Rights Reserved. Figures, Tables, and Listings Chapter 1 What Is Cocoa? 15 Figure 1-1 Mac OS X architecture—simplified perspective 16 Figure 1-2 Cocoa in the architecture of Mac OS X 17 Figure 1-3 Zooming in on the Cocoa architecture—some major dependencies 17 Figure 1-4 The TextEdit example project in Xcode 22 Figure 1-5 TextEdit’s Preferences window in Interface Builder 24 Figure 1-6 The Foundation class hierarchy—Objective-C (part one) 30 Figure 1-7 Foundation class hierarchy—Objective-C (part two) 31 Figure 1-8 Foundation class hierarchy—Objective-C (part three) 32 Figure 1-9 Application Kit class hierarchy—Objective-C (part one) 35 Figure 1-10 Application Kit class hierarchy—Objective-C (part two) 36 Figure 1-11 Application Kit class hierarchy in 1988 42 Chapter 2 Cocoa Objects 43 Figure 2-1 An object’s isa pointer 45 Figure 2-2 Message terminology 51 Figure 2-3 The life cycle of an object—simplified view 57 Figure 2-4 Retaining a received object 57 Figure 2-5 Copying a received object 58 Figure 2-6 An autorelease pool 59 Figure 2-7 Initialization up the inheritance chain 65 Figure 2-8 Interactions of secondary and designated initializers 67 Figure
Recommended publications
  • Working with System Frameworks in Python and Objective-C
    Working with System Frameworks in Python and Objective-C by James Barclay Feedback :) j.mp/psumac2015-62 2 Dude, Where’s My Source Code? CODE https://github.com/futureimperfect/psu-pyobjc-demo https://github.com/futureimperfect/PSUDemo SLIDES https://github.com/futureimperfect/slides 3 Dude, Where’s My Source Code? CODE https://github.com/futureimperfect/psu-pyobjc-demo https://github.com/futureimperfect/PSUDemo SLIDES https://github.com/futureimperfect/slides 3 Dude, Where’s My Source Code? CODE https://github.com/futureimperfect/psu-pyobjc-demo https://github.com/futureimperfect/PSUDemo SLIDES https://github.com/futureimperfect/slides 3 Agenda 1. What are system frameworks, and why should you care? 2. Brief overview of the frameworks, classes, and APIs that will be demonstrated. 3. Demo 1: PyObjC 4. Demo 2: Objective-C 5. Wrap up and questions. 4 What’s a System Framework? …and why should you care? (OS X) system frameworks provide interfaces you need to write software for the Mac. Many of these are useful for Mac admins creating: • scripts • GUI applications • command-line tools Learning about system frameworks will teach you more about OS X, which will probably make you a better admin. 5 Frameworks, Classes, and APIs oh my! Cocoa CoreFoundation • Foundation • CFPreferences - NSFileManager CoreGraphics - NSTask • Quartz - NSURLSession - NSUserDefaults • AppKit - NSApplication 6 CoreFoundation CoreFoundation is a C framework that knows about Objective-C objects. Some parts of CoreFoundation are written in Objective-C. • Other parts are written in C. CoreFoundation uses the CF class prefix, and it provides CFString, CFDictionary, CFPreferences, and the like. Some Objective-C objects are really CF types behind the scenes.
    [Show full text]
  • Macspeechx.Py MODULE and ITS USE in an ACCELERATOR CONTROL SYSTEM Noboru Yamamoto*, J-PARC Cener, KEK and JAEA, Ibaraki, JAPAN
    Proceedings of ICALEPCS2013, San Francisco, CA, USA TUPPC109 MacspeechX.py MODULE AND ITS USE IN AN ACCELERATOR CONTROL SYSTEM Noboru Yamamoto*, J-PARC cener, KEK and JAEA, Ibaraki, JAPAN Abstract With additional functionality such as user interface or macspeechX.py[1] is a Python module to accels speech selection of voices for specified UDP ports, this program synthesis library on MacOSX. This module have been can fit one or two pages of the paper used in the vocal alert system in KEKB[2] and J- While this system running without serious problem PARC[3] accelerator control system. Recent upgrade of until MacOSX came to the market. In Python on this module allow us to handle non-English lanugage, MacOSX does not includes macspeech.py as a its such as Japanese, through this module. Implementation components. It means we need to develop our own detail will be presented as an example of Python program solution before old Mac hardware would be replaced by accessing system library. new hardware which just runs MacOSX. SPEECH SYNTHESIS IN CONTROL In the next section, we will see several ways to write SYSTEMS Python module which bridges C/C++ library. In some control system, alerts to the operators can be sent as vocal messages. It used be require the special hardware or software to generate vocal message from computers in the system. When we started commissioning of KEKB accelerator, such an alert system was requested. We picked up: • speech synthesis library includes as one of standard libraries on Macintosh OS from Apple. • Macspeech.py module distributed as one of standard module with Python programming Langauge Figure 1: Software overview of KEKB/J-PARC vocal With these two components, we could build a very low alert system.
    [Show full text]
  • Programming Java for OS X
    Programming Java for OS X hat’s so different about Java on a Mac? Pure Java applica- tions run on any operating system that supports Java. W Popular Java tools run on OS X. From the developer’s point of view, Java is Java, no matter where it runs. Users do not agree. To an OS X user, pure Java applications that ignore the feel and features of OS X are less desirable, meaning the customers will take their money elsewhere. Fewer sales translates into unhappy managers and all the awkwardness that follows. In this book, I show how to build GUIs that feel and behave like OS X users expect them to behave. I explain development tools and libraries found on the Mac. I explore bundling of Java applications for deployment on OS X. I also discuss interfacing Java with other languages commonly used on the Mac. This chapter is about the background and basics of Java develop- ment on OS X. I explain the history of Java development. I show you around Apple’s developer Web site. Finally, I go over the IDEs commonly used for Java development on the Mac. In This Chapter Reviewing Apple Java History Exploring the history of Apple embraced Java technologies long before the first version of Java on Apple computers OS X graced a blue and white Mac tower. Refugees from the old Installing developer tan Macs of the 1990s may vaguely remember using what was tools on OS X called the MRJ when their PC counterparts were busy using JVMs. Looking at the MRJ stands for Mac OS Runtime for Java.
    [Show full text]
  • Python for the C# Developer
    {SDD} 2014 Software Design & Development Python for the C# developer Michael Kennedy @mkennedy http://blog.michaelckennedy.net Objectives • Introduce the basics of the Python language • Review what is awesome about C# and .NET • Explore Python's version of each C# / .NET feature DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net What is Python? • High-level programming language • Interpreted (sometimes JIT compiled) • Object-oriented (especially Python 3) • Strongly-typed with dynamic semantics • Syntax emphasizes readability • Supports modules and packages • Batteries included (large standard library [1]) DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net The ‘shape’ of a Python program • Python defines code blocks (known as suites in Python) using whitespace and colons. Things to note: def somemethod(name): • No semicolons if name == "Michael": print("Hi old friend") • Code blocks start with ‘:’ else: • Whitespace really really matters print("Nice to meet you") • There are no braces print("My name is … ") • There are no parentheses • Tabs are not your friend def main(): somemethod() Code suites DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net Python language demo DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net What's awesome about C# and .NET? System.Object: Everything is an object. LINQ IEnumerable + foreach loops Visual Studio / IDEs Class properties ( int Age {get; set;} ) Side-by-side execution (isolation) Anonymous types Iterator methods / yield return
    [Show full text]
  • Openstep User Interface Guidelines
    OpenStep User Interface Guidelines 2550 Garcia Avenue Mountain View, CA 94043 U.S.A. Part No: 802-2109-10 A Sun Microsystems, Inc. Business Revision A, September 1996 1996 Sun Microsystems, Inc. 2550 Garcia Avenue, Mountain View, California 94043-1100 U.S.A. All rights reserved. Portions Copyright 1995 NeXT Computer, Inc. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Portions of this product may be derived from the UNIX® system, licensed from UNIX System Laboratories, Inc., a wholly owned subsidiary of Novell, Inc., and from the Berkeley 4.3 BSD system, licensed from the University of California. Third-party font software, including font technology in this product, is protected by copyright and licensed from Sun's suppliers. This product incorporates technology licensed from Object Design, Inc. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR 52.227-19. The product described in this manual may be protected by one or more U.S. patents, foreign patents, or pending applications. TRADEMARKS Sun, Sun Microsystems, the Sun logo, SunSoft, the SunSoft logo, Solaris, SunOS, and OpenWindows are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
    [Show full text]
  • Development Production Line the Short Story
    Development Production Line The Short Story Jene Jasper Copyright © 2007-2018 freedumbytes.dev.net (Free Dumb Bytes) Published 3 July 2018 4.0-beta Edition While every precaution has been taken in the preparation of this installation manual, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. To get an idea of the Development Production Line take a look at the following Application Integration overview and Maven vs SonarQube Quality Assurance reports comparison. 1. Operating System ......................................................................................................... 1 1.1. Windows ........................................................................................................... 1 1.1.1. Resources ................................................................................................ 1 1.1.2. Desktop .................................................................................................. 1 1.1.3. Explorer .................................................................................................. 1 1.1.4. Windows 7 Start Menu ................................................................................ 2 1.1.5. Task Manager replacement ........................................................................... 3 1.1.6. Resource Monitor .....................................................................................
    [Show full text]
  • Bleak Documentation Release 0.12.1
    bleak Documentation Release 0.12.1 Henrik Blidh Jul 07, 2021 Contents 1 Features 3 1.1 Installation................................................3 1.2 Scan/Discover..............................................4 1.3 Usage...................................................6 1.4 Bleak backends..............................................6 1.5 Interfaces, exceptions and utils......................................8 1.6 Troubleshooting............................................. 24 1.7 Contributing............................................... 28 1.8 Credits.................................................. 29 1.9 Changelog................................................ 30 2 Indices and tables 43 Python Module Index 45 Index 47 i ii bleak Documentation, Release 0.12.1 Bleak is an acronym for Bluetooth Low Energy platform Agnostic Klient. • Free software: MIT license • Documentation: https://bleak.readthedocs.io. Bleak is a GATT client software, capable of connecting to BLE devices acting as GATT servers. It is designed to provide a asynchronous, cross-platform Python API to connect and communicate with e.g. sensors. Contents 1 bleak Documentation, Release 0.12.1 2 Contents CHAPTER 1 Features • Supports Windows 10, version 16299 (Fall Creators Update) or greater • Supports Linux distributions with BlueZ >= 5.43 (See Linux backend for more details) • OS X/macOS support via Core Bluetooth API, from at least OS X version 10.11 Bleak supports reading, writing and getting notifications from GATT servers, as well as a function for discovering BLE devices. Contents: 1.1 Installation 1.1.1 Stable release To install bleak, run this command in your terminal: $ pip install bleak This is the preferred method to install bleak, as it will always install the most recent stable release. If you don’t have pip installed, this Python installation guide can guide you through the process. 1.1.2 From sources The sources for bleak can be downloaded from the Github repo.
    [Show full text]
  • Python Guide Documentation 0.0.1
    Python Guide Documentation 0.0.1 Kenneth Reitz 2015 09 13 Contents 1 Getting Started 3 1.1 Picking an Interpreter..........................................3 1.2 Installing Python on Mac OS X.....................................5 1.3 Installing Python on Windows......................................6 1.4 Installing Python on Linux........................................7 2 Writing Great Code 9 2.1 Structuring Your Project.........................................9 2.2 Code Style................................................ 15 2.3 Reading Great Code........................................... 24 2.4 Documentation.............................................. 24 2.5 Testing Your Code............................................ 26 2.6 Common Gotchas............................................ 30 2.7 Choosing a License............................................ 33 3 Scenario Guide 35 3.1 Network Applications.......................................... 35 3.2 Web Applications............................................ 36 3.3 HTML Scraping............................................. 41 3.4 Command Line Applications....................................... 42 3.5 GUI Applications............................................. 43 3.6 Databases................................................. 45 3.7 Networking................................................ 45 3.8 Systems Administration......................................... 46 3.9 Continuous Integration.......................................... 49 3.10 Speed..................................................
    [Show full text]
  • DISCOVERING OPENSTEP: a Developer Tutorial
    DISCOVERING OPENSTEP: A Developer Tutorial Rhapsody Developer Release Apple Computer, Inc. User Interface Tips copyright © 1997 Apple Computer, Inc. All rights reserved. [6467.00] No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, mechanical, electronic, photocopying, recording, or otherwise, without prior written permission of Apple Computer, Inc., except to make a backup copy of any documentation provided on CD-ROM. Printed in the United States of America. The Apple logo is a trademark of Apple Computer, Inc. Use of the “keyboard” Apple logo (Option-Shift-K) for commercial purposes without the prior written consent of Apple may constitute trademark infringement and unfair competition in violation of federal and state laws. No licenses, express or implied, are granted with respect to any of the technology described in this book. Apple retains all intellectual property rights associated with the technology described in this book. This book is intended to assist application developers to develop applications only for Apple-labeled or Apple-licensed computers. Every effort has been made to ensure that the information in this manual is accurate. Apple is not responsible for printing or clerical errors. Apple Computer, Inc. 1 Infinite Loop Cupertino, CA 95014 408-996-1010 Apple, and the Apple logo are trademarks of Apple Computer, Inc., registered in the United States and other countries. NeXT, the NeXT logo, NEXTSTEP, the NEXTSTEP logo, Digital Librarian, NeXTmail, and
    [Show full text]
  • Building Python Modules on Circleci OS X Instances
    Building Python modules on CircleCI OS X instances Recently I've been building a couple of supplimental build tools in Python for enhancing the development process of the iOS application I work on. I've been trying to make these tools to be appealing for other developers to use and integrate into their systems as well. I see having CI and unit tests as a core part of this goal. I started using CircleCI for my continuous integration environment for these projects. This was working out very well until I started working on some code that relies on a couple of OS X specific APIs. Due to that requirement I was unable to continue using the Linux platform for testing this code. Luckily CircleCI provides OS X instances for open source Mac and iOS projects. I put in a request and was granted access to using OS X instances for building this Python tool. However, I immediately ran into issues with getting the tool to be installed and have my tests run. CircleCI doesn't provide engineering support for free accounts, so I had to work all this out on my own, hopefully you can use this as a guide to also be able to support building Python on OS X build instances on CircleCI. Background The Python tool I am writing relies on the pyobjc framework. This allows Python to make calls into Cocoa and the various other frameworks provided by Apple on OS X. This comes pre-installed on OS X with the system Python version, 2.7.10.
    [Show full text]
  • Python Setup and Usage Release 3.3.3
    Python Setup and Usage Release 3.3.3 Guido van Rossum Fred L. Drake, Jr., editor November 17, 2013 Python Software Foundation Email: [email protected] CONTENTS 1 Command line and environment3 1.1 Command line............................................3 1.2 Environment variables........................................7 2 Using Python on Unix platforms 11 2.1 Getting and installing the latest version of Python.......................... 11 2.2 Building Python........................................... 12 2.3 Python-related paths and files.................................... 12 2.4 Miscellaneous............................................ 12 2.5 Editors................................................ 12 3 Using Python on Windows 15 3.1 Installing Python........................................... 15 3.2 Alternative bundles.......................................... 15 3.3 Configuring Python......................................... 16 3.4 Python Launcher for Windows.................................... 18 3.5 Additional modules......................................... 21 3.6 Compiling Python on Windows................................... 21 3.7 Other resources............................................ 22 4 Using Python on a Macintosh 23 4.1 Getting and Installing MacPython.................................. 23 4.2 The IDE............................................... 24 4.3 Installing Additional Python Packages................................ 24 4.4 GUI Programming on the Mac.................................... 24 4.5 Distributing Python Applications
    [Show full text]
  • Mac OS X for Java™ Geeks by Will Iverson
    [ Team LiB ] • Table of Contents • Index • Reviews • Reader Reviews • Errata Mac OS X for Java™ Geeks By Will Iverson Publisher : O'Reilly Pub Date : April 2003 ISBN : 0-596-00400-1 Pages : 296 Mac OS X for Java Geeks delivers a complete and detailed look at the Mac OS X platform, geared specifically at Java developers. Programmers using the 10.2 (Jaguar) release of Mac OS X, and the new JDK 1.4, have unprecedented new functionality available to them. Whether you are a Java newbie, working your way through Java Swing and classpath issues, or you are a Java guru, comfortable with digital media, reflection, and J2EE, this book will teach you how to get around on Mac OS X. You'll also get the latest information on how to build applications that run seamlessly, and identically, on Windows, Linux, Unix, and the Mac. [ Team LiB ] [ Team LiB ] • Table of Contents • Index • Reviews • Reader Reviews • Errata Mac OS X for Java™ Geeks By Will Iverson Publisher : O'Reilly Pub Date : April 2003 ISBN : 0-596-00400-1 Pages : 296 Copyright Preface Organization Conventions Used in This Book Comments and Questions Acknowledgments Chapter 1. Getting Oriented Section 1.1. All Those Confusing Names Section 1.2. Why Now? Chapter 2. Apple's Java Platform Section 2.1. Apple JVM Basics Section 2.2. Apple's JVM Directory Layout Section 2.3. Additional APIs and Services Section 2.4. Going Forward Chapter 3. Java Tools Section 3.1. Terminal Section 3.2. Code Editors Section 3.3. Jakarta Ant Section 3.4.
    [Show full text]