Glossary

About Box

A window designed to display the application name, copyright holder, software version number, and a link to the creator's Web site. On OS X, the About Box is accessed from the Application Menu.

Address Book

An OS X application designed to track contact information for friends, family, and business associates. Applications that need access to contact information or need to retain contact information on OS X should always interface with this application.

admin (administrator)

A user who is all-powerful on a particular computer. The administrator has all permissions to do anything on the computer.

Adobe Systems, Inc.

Adobe Systems is known for their graphics and Web design software. Adobe owns Photoshop, Illustrator, Flash, Acrobat, and Dreamweaver. Find Adobe at www.adobe.com.

alpha channel

Indicates the transparency of a given image.

alpha release

A software release for testing purposes. Alpha releases typically do not have a stable feature set, meaning features may be added or removed before the software application reaches beta.

Ant

Target-based build tool. Ant builds consist of one or more files organized into a project containing targets and targets containing individual tasks.

Apache

The Apache Software Foundation responsible for organizing many popular open-source, business-friendly projects. Apache also refers to their most popular project, an HTTP server.

API (Application Programming Interface)

A collection of libraries for use in software development.

app

Short for software application.

Apple Menu

The menu at the top left hand corner of an OS X Desktop. The Apple Menu contains System-related menu items and is visible from all applications. The Apple Menu takes its name from the prominent apple-shaped icon on the menu bar.

AppleScript

Natural-language-based scripting language for cross-process scripting on OS X. AppleScript allows properly written applications (including Java applications) to act together for common task resolution.

Applet

Bundled AppleScript applications or Java Applications embedded in Web pages. These two meanings have nothing to do with each other and can lead to confusion in certain discussions.

Applet Launcher

GUI application for testing Java Applets without a Web browser.

appletviewer

A command-line application provided for quick display of Java Applets without the need of a Web browser.

Application Menu

Found just right of the Apple Menu. The Application Menu contains an application's About, Preferences..., and Quit menu items.

architecture

The hardware of a computer. OS X tends to be mostly architecture agnostic.

Archive.zip

The default name of a Finder compressed ZIP file. Change this name to prevent name collisions.

arguments

Parameters passed to a program on startup or passed to a function/method while running.

ASCII (American Standard Code for Information Interchange)

Pronounced "as key." This is a text-based format limited in utility to Roman-based languages. Superseded by Unicode-8.

asynchronous

Happening independently. For instance, methods are asynchronous when their return value is sent by a different thread, often after the original method has returned.

AWT (Abstract Window Toolkit)

Also jokingly referred to as Another Window Toolkit. This is the original Java windowing toolkit, later expanded by Swing.

badging

Placing a small version of an application icon on an alert or information icon. A badge appears in the lower-right corner of an alert or information icon in a dialog box. Badging acts as a visual queue to users, indicating the application to which a dialog box belongs.

base directory

The directory that holds an application's folders, data, and executable files. The base directory of OS X also is called the root directory.

Bash

The default Unix shell used in Terminal on OS X.

batch

A script that processes data, repeating the same changes to multiple pieces of data.

BBEdit

Bare Bones Software's text editor. The Bare Bones Software Web site is located at www.barebones.com.

beta

Feature-complete test release of software. The beta release comes after an alpha release and before a Golden Master release. Beta releases should contain a fixed set of features that will not change before final release of the software. Beta releases often contain features that do not yet work. Beta releases give developers a chance to test software for bugs with real users before declaring the software finished.

Bezier curve

A curved path defined by two points and two control points. These curves may be chained to define complex curving paths.

Bezier path

See Bezier curve.

binary

Base 2 number system.

bitmap

A file format defining images.

bleed

An area of printed material designed to be cut off, producing the illusion that printing went to the edge of the paper. Using bleeds instead of actually printing to the edge of paper prevents ink build up on press rollers and reduces the likelihood of ghost images appearing on printed material.

block

A chunk of code surrounded by curly braces. Also, a mechanism for stopping a threads execution until some event occurs.

bookmark

A quick link to section of code in Xcode. Also, bookmarks are used in Web browsers, such as Safari, providing quick access to Web pages.

boot

Starting of an application, especially the starting of OS X.

bootstrap

A situation involving two events depending on the other event happening first. The prototypical example of a bootstrap problem is, "which came first, the chicken or the egg?" In programming, this kind of problem usually occurs when a program (or OS) cannot be built until it has first been run (indicating it was already built).

breakpoint

A point in code where execution is paused for debugging.

bridge

Mechanism allowing two disparate technologies to communicate. For example, a bridge allows Java and Objective-C to communicate and act as one program.

BSD (Berkeley Software Distribution)

Berkeley Unix. This is a Unix, but not a Linux.

build.xml

Default project file for Ant builds.

bundle

A folder containing a collection of related files on OS X.

callbacks

Allows a function to call back to the executing code. Usually associated with passing of function pointers.

Carbon

Along with Java and Cocoa, represents one of the main programming frameworks available on OS X.

cc

An alias for gcc on OS X.

Charva

Terminal-based User Interface framework. Charva is designed to work as a replacement for Swing and AWT in environments that demand a text-based interface. This is common with terminal- and server-based applications.

clean

Refers to the process of deleting compiled classes and assembled products in preparation for building from scratch.

CLI (Command Line Interface)

Text-based interfaces such as Terminal for controlling Operating Systems. Many Unix programmers prefer CLIs for their simplicity and speed.

CMYK

Four-color process common in printing. C is cyan. M is magenta. Y is Yellow. K is black.

Cocoa

Along with Java and Carbon, represents one of the main programming frameworks available on OS X.

Console

On OS X, Console is an application for tracking System logs. Often, Unix gurus refer to applications such as Terminal as a console (with a lowercase "c").

Controller

Manages the View and Model in a Model-View-Controller environment. Controllers are the brains of applications.

CORBA (Common Object Request Broker Architecture)

A cross-language, cross-platform standard for inter-process communication.

cron job

A task that repeats at specified intervals, such as nightly or weekly. The cron daemon is responsible for the execution of the tasks.

CSI (Control Sequence Introducer)

Indicates the beginning of ASCII-based control sequences for changing the display preferences of text output in Terminal windows.

curses

Common Unix library for controlling terminal output.

CVS (Concurrent Versioning System)

GNU GPL software for versioning software. Similar to SVN in capabilities.

Darwin

OS X is built on top of Darwin. Darwin is a POSIX-compliant operating system. Several operating systems are derived from Darwin.

data store

Any mechanism for data storage, including databases, flat files, and directory services.

DMG

Disk image file format used for distribution of applications for OS X.

DPI (Dots Per Inch)

OS X monitors in Cocoa and Carbon are represented programmatically as 72 dots per inch, but likely have more actual pixels per inch. Carbon and Cocoa drawing is resolution-independent.

Eclipse

A popular free open-source IDE for development of Java, C, PHP, and other languages. Eclipse is written in Java and is very popular for Java development on OS X.

emacs

Popular Terminal-based text editor for OS X.

enterprise

Applications that run companies. If an application is multi-tiered, networked, database-driven, capable of scaling, and integral to a business's success, it is often referred to as an enterprise application.

EPS (Encapsulated PostScript)

File format designed for storing vector-based graphics.

Finder

GUI application responsible for user interaction with the OS. Similar in function to the text-based Terminal application.

flatten

Process of composing one image raster image from multiple layers of images. This is a common task in Photoshop and other image-processing programs.

folding

Collapsing the view of code or comments in an IDE. Eclipse, Xcode, and other common IDEs provide folding to make program source code more legible.

fork

Creating a duplicate process to run the same program. Similar in function to spawning threads, but much more resource intensive.

framework

Code libraries that are related and possibly bundled together.

FreeBSD

A variant of BSD. See BSD.

freeware

Software that is provided for use free of charge. Freeware is often open-source, but not always open-source.

FTP (File Transfer Protocol)

Protocol for transferring files over network connections.

gcc (GNU Compiler Collection)

GNU's command-line compiler used for compiling Objective-C, C, and C++ on OS X. Xcode uses gcc for compiling many project templates.

Gentleware AG

Creator of Poseidon for UML, a round-trip UML architecting tool for Java.

GIF (Graphics Interchange Format)

A raster art image format popular on the Web. Very useful for storing images with a limited number of colors.

GM

See Golden Master.

GNU (GNU's Not Unix)

Free open-source POSIX operating system. Not to be confused with BSD.

GNU-Darwin

A variant of BSD based on Darwin. See BSD.

Gold Master

A production-quality release. This is usually the final build of a software product before it is sold to customers.

GUI (Graphical User Interface)

A mouse and picture driven interface for users. Contrasts sharply with TUIs that are normally text and keyboard driven.

Help Viewer

Displays application-specific help files. Help Viewer is available to all properly constructed GUI programs on OS X, including Java applications.

home

See home directory.

home directory

Location of user's personal files and directories, including Desktop and Library. Usually, this directory is located at /Users/<username>.

HSQLDB

Free, open-source, business friendly embeddable database with an extremely small footprint. HSQLDB is also a pure Java application.

HTML (HyperText Markup Language)

The language in which Web pages are written. In syntax, HTML is very similar to XML.

Human Interface Guidelines

Apple's recommendations for creating user-friendly applications that fit the look and feel of standard OS X applications.

ICNS

File format for OS X icons.

Illustrator

Vector art program produced by Adobe.

Info.plist

XML file found in application bundles describing the bundle, resource locations, and the other properties of the bundle. Opens with Property List Editor for convenient editing.

Intellij IDEA

A popular commercial IDE for Java development. It is sold by JetBrains at www.jetbrains.com.

IzPack

Java-based packaging and deployment software. IzPack is open-source software and distributed under a business-friendly Apache License. It is found at izpack.org (without "www".)

Java

Never heard of it.

JAVA_HOME

The home directory of the Java installation currently in use. Java home is available by issuing the command /usr/libexec/java_home from the Terminal.

javah

Command-line tool for generating C header files. Used when implementing native Java methods.

javap

Class disassembler for Java. Useful when looking for method signatures needed in native C-based JNI code.

JetBrains

Creators of Intellij IDEA. Their Web site is www.jetbrains.com.

JGoodies

Producers of Java UI libraries and tools.

JNA

A wrapper intended to make writing JNI simpler.

JNAerator

A GUI-based JNA automation tool.

JNI (Java Native Interface)

Provides Java integration with C and C++. Apple provides JNI support as the main integration technique between Java, C, and Objective-C frameworks on OS X.

JSP (JavaServer Pages)

Java Web site design language. JSP compiles to Servlets that extend the server they run on.

JUnit

The most popular Java-based testing framework.

kernel

The software responsible for direct communication between the OS and the hardware. OS X uses the Mach microkernel.

ksh (KornShell)

Command-line shell used in Terminal.

legacy

Any OS, framework, application, or utility that was replaced with newer software.

Leopard

OS X version 1.5 released in October 2007.

LGPL (Lesser GNU Public License)

Less-restrictive GNU license designed to allow linking to commercial software.

lifecycle

The cycle of creation, maintenance, and decommissioning of software. Usually extended through good design and maintenance practices.

localhost

The local computer. Also known as Internet Protocol address 127.0.0.1.

Mach

The microkernel used by Darwin. See also kernel.

MagicDraw

UML design tool by No Magic, Inc.

make

A GNU build tool. Make was the inspiration for Ant.

man

Command-line tool for displaying of utility manuals in Terminal.

Maven

An alternative Java-based build tool. Maven is roughly equivalent to Ant using Ivy.

Metrowerks

The original developer of the CodeWarrior development tools popular on Macs before the release of OS X.

mnemonic

Keyboard commands that trigger GUI events such as the selection of a Java MenuItem.

modal

Blocking. For instance, modal dialog boxes block the application from accepting input until the dialog box is dismissed.

MPW (Macintosh Programmer's Workshop)

Development environment for Macintosh computers predating OS X.

MRJ (Mac OS Runtime for Java)

The Java runtime for Mac systems predating OS X.

MVC (Model-View-Controller)

A design paradigm that separates data, display, and management into modules call the Model, the View, and the Controller, respectively.

Nano

Command-line text editor. Replaces Pico.

ncurses

Builds on the curses library.

NetBeans

A popular Java IDE sponsored by Sun Microsystems. NetBeans works well on OS X.

NS (NextStep)

The predecessor to OS X. OS X is derived from NextStep. The tag of NS is still found on many of the classes and methods used in developing OS X applications.

Objective-C

Apple's answer to C++. Objective-C advocates say Objective-C is the Object-Oriented Programming language that C++ was meant to become but failed at becoming.

Objective-C++

Objective-C-based language integrated to work with C++.

OpenStep

An API specification released to the public by Next and Sun Microsystems. Closely related to NextStep.

Operating System

The application in charge of hiding low-level activities of the computer, such as booting and starting user applications.

package

A bundle that behaves as though it is one file rather than a folder. Applications on OS X are bundles that are packages.

Perl (Practical Extraction and Report Language)

Also known jokingly as the Pathologically Eclectic Rubbish Lister. Perl is the most-influential scripting language in the history of computers and the Internet. Larry Wall developed Perl in the late 1980s.

Photoshop

Raster art creation program sold by Adobe Systems, Inc.

PHP

A Web application development scripting language occupying a similar feature space as JSP.

pixel

One colored dot displayed on a monitor.

PKG

Application distribution format used by the Installer application.

plug-in

A module used to extend an application or service.

PNG (Portable Network Graphics)

A raster-based graphics file format.

Poseidon for UML

A round trip UML design and development tool for Java. It is developed by Gentleware AG, located at www.gentleware.com.

POSIX (Portable Operating System Interface for Unix)

IEEE Unix Operating System definition.

PowerPC

PC architecture used by Macs before the transition to Intel-based architectures.

pthread

The underlying thread system on OS X. All threads on OS X at some level are pthreads.

Python

A popular open-source dynamic language.

Quartz

The underlying image processor for OS X.

RAID (Redundant Array of Inexpensive Disks)

Configures multiple disks to operate one large disk or multiple disks to act as backups for each other.

raster

Representation of images as bitmaps.

refactor

The process of fixing and updating code in small chunks while adding new features, thus extending the overall life expectancy of the software.

regex (regular expressions)

Pattern-matching languages for matching text patterns. Most modern regular expression syntaxes (including Java's) are based on Larry Wall's Perl regular expression syntax.

RGB (Red Green Blue)

Three-color representation of images for display on computer monitors.

root

Refers to root access and sometimes the root directory.

root access

Complete administrative access. See admin.

root directory

The base directory of the operating system. Usually indicated by '/'.

Round Trip Design and Development

Many UML design tools offer the feature of creating diagrams from code and generating code from diagrams. Using this feature is Round Trip Design and Development.

RSS (Really Simple Syndication)

Formats for frequently updating information over the Web.

Ruby

An interpreted open-source programming language.

SAVER

Bundle format used for OS X screen savers.

scp

Command-line tools for copying files over ssh.

seed

Prerelease software intended to help developers prepare for upcoming software releases.

Servlet

Java classes designed as extensions to Java servers. One of the most common Java servers using Servlets is Tomcat.

shareware

Software released for distribution in an attempt to increase sales. Most shareware lacks features available to the purchasers of the same product. Most shareware is not open-source or completely free.

shell

A text-based environment designed to run in applications like Terminal. Shells provide text-based interfaces with Operating Systems.

Snow Leopard

OS X Version 10.6. Released in September 2009.

ssh

Text-based remote login client. Frequently used to admin remote servers.

Sun Microsystems, Inc.

Creators and maintainers of Java.

svn

Command-line utility for running Subversion client. Subversion is a software version control system.

synchronous

Synchronous methods return normally in the same thread that called them. This differs from their multi-threaded asynchronous counterparts.

tcsh

A shell for use in Terminal.

Terminal

Text-based application responsible for user interaction with the OS. Similar in function to the GUI-based Finder application.

terminate

Exit a program or shell script. Accomplished in Java with System.exit(0);.

TextEdit

Apple's basic text editor shipped with OS X.

thread

Similar to a fork, but remains in a single process; not as resource intensive. Threads execute code from the same program simultaneously.

toggle

The act of selecting or deselecting a check box.

Tomcat

A popular Java-based Web server produced by the creators of Apache. The Web site is tomcat.apache.org.

TUI

In this book, refers to Terminal User Interfaces, but more commonly refers to Text User Interfaces.

UI (User Interface)

A description including both GUIs and TUIs. User Interfaces define application users' interaction with applications. UIs include buttons, windows, text fields, menus, and so on.

UML (Unified Modeling Language)

Diagram-based software description language. UML is useful for quick overviews of software architecture, but is also used for full round-trip design and development.

vi

Popular Terminal-based text editor. The vi application is available on most Unix Operating Systems, and some non-Unix Operating Systems.

VirtualBox

A virtual machine designed to run Windows, Linux, BSD, and other operating systems on OS X computers.

VM (Virtual Machine)

Software that allows running of virtual computers on your computer. Java runs on a Virtual Machine called the JVM. Other popular VMs for OS X often run entire operating systems, such as VirtualBox and VMware Fusion.

VMware Fusion

A virtual machine designed to run and integrate windows on OS X computers.

wrapper

A class or library designed to hide implementation details of another class or library.

WWDC (Worldwide Developer Conference)

Apple's annual developer conference featuring Apple technologies.

WYSIWYG (What You See Is What You Get)

Computer monitor display that exactly resembles the final printed output. Apple developed a strong relationship with the printing industry based on this popular feature.

X

X Window System for local and remote access to computers. X is another option in addition to the Finder and Terminal for controlling your OS. X ships with OS X, Linux, and various Unix-like operating systems.

X11

See X.

Xcode

The Objective-C-based development IDE that ships with OS X. This IDE works with many languages including Java.

XML (Extensible Markup Language)

Language used for defining other markup languages. XML is used to define views, property files, Ant build projects, and a host of other applications.

ZIP

Compression application and format. OS X ships with a command-line zip utility.

zsh

The Z shell. Used in Terminal for executing scripts and control of the command line.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.141.38.121