April 2, 2002 Craig E. Ward, [email protected] 1 Java on Mac OS X Insanely Great or Just Insane? A...
-
Upload
jasmin-sullivan -
Category
Documents
-
view
215 -
download
0
Transcript of April 2, 2002 Craig E. Ward, [email protected] 1 Java on Mac OS X Insanely Great or Just Insane? A...
April 2, 2002 Craig E. Ward, [email protected] 1
Java on Mac OS XJava on Mac OS X
Insanely Great or Just Insanely Great or Just Insane?Insane?
A presentation to the Los Angeles Java Users Group
April 2, 2002 Craig E. Ward, [email protected] 2
IntroductionIntroduction
““I’m a back-end guy…”I’m a back-end guy…”
Adventures in GOO-EE programmingAdventures in GOO-EE programming
Looking for what’s cool with Java on Mac Looking for what’s cool with Java on Mac OS XOS X
April 2, 2002 Craig E. Ward, [email protected] 3
AgendaAgenda
Architecture of Mac OS XArchitecture of Mac OS X
Integration of Java 2Integration of Java 2
Development ToolsDevelopment Tools
Cocoa FrameworkCocoa Framework
Anatomy of a Cocoa ApplicationAnatomy of a Cocoa Application
Tool DemonstrationsTool Demonstrations
Sources for the talk and other ResourcesSources for the talk and other Resources
Conclusions by the presenterConclusions by the presenter
DiscussionDiscussion
April 2, 2002 Craig E. Ward, [email protected] 4
Architecture of Mac OS XArchitecture of Mac OS X
Core operating system is based on Mach 3.0 and FreeBSD 3.2 Unix
Darwin
April 2, 2002 Craig E. Ward, [email protected] 5
Architecture of Mac OS XArchitecture of Mac OS XUnixcommandline programs
Darwin
BSD
April 2, 2002 Craig E. Ward, [email protected] 6
Architecture of Mac OS XArchitecture of Mac OS X
QuartzOpenGLQuicktimeAudio
Darwin
Application Services
BSD
April 2, 2002 Craig E. Ward, [email protected] 7
Darwin
Application Services
Classic Carbon BSD
Architecture of Mac OS XArchitecture of Mac OS X
Legacy
LegacyMigration
April 2, 2002 Craig E. Ward, [email protected] 8
Darwin
Application Services
Classic Carbon Cocoa Java BSD
Architecture of Mac OS XArchitecture of Mac OS X
Native frameworks,Objective C
J2SE1.3.1
April 2, 2002 Craig E. Ward, [email protected] 9
Darwin
Application Services
Classic Carbon Cocoa Java
Aqua
BSD
Architecture of Mac OS XArchitecture of Mac OS X
User Interface Look & Feel
April 2, 2002 Craig E. Ward, [email protected] 10
Architecture of Mac OS XArchitecture of Mac OS X
April 2, 2002 Craig E. Ward, [email protected] 12
Integration of Java 2Integration of Java 2
Pre-installed on all new Macintosh Pre-installed on all new Macintosh computerscomputers
Peer core environment to Cocoa and CarbonPeer core environment to Cocoa and Carbon Mix Java code with Cocoa native codeMix Java code with Cocoa native code
Automatic Aqua PLAFAutomatic Aqua PLAF
Optimized HotSpot VMOptimized HotSpot VM
Almost latest releases (1.3.1)Almost latest releases (1.3.1)
April 2, 2002 Craig E. Ward, [email protected] 13
Development ToolsDevelopment Tools Standard J2SE command line toolsStandard J2SE command line tools
Many third-party toolsMany third-party tools JBuilderJBuilder
CodeWarriorCodeWarrior
JDEEJDEE
AppleApple MRJAppBuilderMRJAppBuilder
Project Builder and Interface BuilderProject Builder and Interface Builder
JavaBrowser, AppletLauncher, Java Web StartJavaBrowser, AppletLauncher, Java Web Start
April 2, 2002 Craig E. Ward, [email protected] 14
Cocoa FrameworksCocoa Frameworks
FoundationFoundation Low-level classes representing data types, Low-level classes representing data types,
files, threads, collections, etc.files, threads, collections, etc.
AppKitAppKit User interface componentsUser interface components
Java BridgeJava Bridge The wrapper classesThe wrapper classes
April 2, 2002 Craig E. Ward, [email protected] 15
Anatomy of a Cocoa ApplicationAnatomy of a Cocoa Application
Hidden file structureHidden file structure
Property Lists in XMLProperty Lists in XML
Other ResourcesOther Resources GraphicsGraphics
NIB filesNIB files
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd"><plist version="0.9"><dict>
<key>CFBundleDevelopmentRegion</key><string>English</string>
April 2, 2002 Craig E. Ward, [email protected] 16
NIB FilesNIB Files
Serialized instances of interface Serialized instances of interface objectsobjects
Important ConceptsImportant Concepts ActionAction OutletOutlet
April 2, 2002 Craig E. Ward, [email protected] 17
Tool DemonstrationsTool Demonstrations
MRJAppBuilderMRJAppBuilder
Project Builder and Interface BuilderProject Builder and Interface Builder
JavaBrowserJavaBrowser
April 2, 2002 Craig E. Ward, [email protected] 18
Sources & ResourcesSources & Resources
Apple Developer ConnectionApple Developer Connection Free web membershipFree web membership Inside Mac OS X: Java Development on Inside Mac OS X: Java Development on
Mac OS XMac OS X Inside Cocoa: Developing Cocoa Java Inside Cocoa: Developing Cocoa Java
Applications: A TutorialApplications: A Tutorial List [email protected] [email protected]
Early Adopter Mac OS X JavaEarly Adopter Mac OS X Java Mac OS X: The Complete ReferenceMac OS X: The Complete Reference
April 2, 2002 Craig E. Ward, [email protected] 19
ConclusionsConclusions
First class Java development First class Java development platformplatform
User-friendly runtimeUser-friendly runtime Cocoa applications have access to Cocoa applications have access to
Java 2 features and vise-versaJava 2 features and vise-versa More than just an educational toyMore than just an educational toy
April 2, 2002 Craig E. Ward, [email protected] 20
Discussion and More Discussion and More Questions?Questions?
What wasn’t coveredWhat wasn’t covered Questions and CommentsQuestions and Comments More?More?