Java Development on Mac OS X
1 Scenario
To develop an open source, graphical database front-end for Mac OS X using Java
2 Main Soft Goal
To select a powerful, easy to use and to learn, free IDE tool to improve our productivity
3 Minimal Requirements
‣ Support the Java 2 SE platform ‣ Run on Mac OS X Tiger ‣ Run on Intel-based Macs ‣ English user interface and documentation ‣ Free and generally available
4 Evaluation Criteria
• Interface Builder • Code Formatting • Version Control • Code Completion • Debugging • Code Generation • Unit Testing • Code Refactoring • Documentation • Package Mgt.
5 Borland Turbo Pascal
&
Microsoft QuickBASIC
7 Eclipse
“An open source, platform-independent, development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across its entire lifecycle.”
Much more than a Java IDE
8 Xcode
“All the tools you need to create, debug, and optimize your application: a graphical workbench with integrated syntax- highlighting text editor, a debugger, and the powerful GCC compiler.”
The ease of Mac OS, the power of UNIX
9 Side-by-Side
10 Eclipse Xcode
Developer Community Apple, Inc.
License Open Proprietary
Price Free (as in Speech) Free (as in Beer)
Mac OS X, Linux, Platforms Mac OS X Solaris, Windows...
Main Language Java Objective-C
Other Supported C, C++, Perl, PHP, Java, C, C++, Languages Python, Ruby... AppleScript
11 Eclipse Xcode
Fulfill Minimal Requirements ✔ Yes ✔ Yes
Interface Builder ✔ Yes * ✔ Yes
Version Control CVS, SVN * CVS, SVN, Perforce
Debugger ✔ Yes ✔ Yes
Unit Testing ✔ Yes ✔ Yes
Eats Its Own Dog Food ✔ Yes ✔ Yes
* via plug-in
12 The Good The Bad The Ugly
13 Sample Simple Interface
Xcode: Interface Builder Eclipse: Visual Editor
14 Code Folding
15 Split View
16 Code Formatting Profiles
17 Method Navigator
18 Warnings & Errors
19 The Bad
20 Platform-independence
Write once
Debug everywhere
21 The Ugly
22 Spell Checking
23 Conclusions and Recommendation
24 No single tool is perfect
One is more integrated with the operating system
The other offers better support for the language
25 Which one is most powerful, easy to use and to learn?
Which one would improve our productivity the most?
26 ?
27 Eclipse is a better tool for doing Java programming in general
It really eclipses Xcode
28 But...
29 Xcode Interface Builder is much better than Eclipse Visual Editor
(way better...)
30 So...
31 Our recommendation:
Use Xcode Interface Builder to sketch the user interface
Do all other development tasks using Eclipse
32 References
http://java.sun.com Java http://developer.apple.com/java http://www.apple.com/macosx Mac OS X http://developer.apple.com/macosx http://www.apple.com/macosx/features/xcode Xcode http://developer.apple.com/tools/xcode http://www.eclipse.org Eclipse http://developer.apple.com/tools/eclipse.html
Borland Turbo Pascal http://dn.codegear.com/museum
Microsoft QuickBASIC http://support.microsoft.com/kb/q39730
33 Questions
34 Thank you
for not having questions
35