Appendix A. More Development Tools

I discuss Xcode and several other development tools in this book. Most of the applications reviewed are free (as in food). Some are open source. In this book, I definitely shy away from commercial development tools.

Some commercial tools for Java development are worth a special mention. I have chosen the following tools for mention because of their utility and popularity.

Oh, and they work great on OS X, too!

Exploring Design Tools

Two types of people create computer programs: programmers and developers.

Programmers sit down at a computer and pound out code until something is finished. Programs written this way usually work but are filled with spaghetti code and poor or no modularity. Often, adding desired features to the resulting programs gets harder and harder until finally the code base is thrown away and the process starts over from scratch.

Developers design first and then write clean modular code. It takes longer at the beginning to design and write good code. The plus side is that with proper planning and refactoring, the code base lasts without complete rewrites. Also, adding features to well-designed programs is much easier. In the long run, developers cost less than programmers.

Many developers use the Unified Modeling Language (UML) for designing applications. UML is a design language that expresses itself as diagrams. Diagram types include class diagrams, sequence diagrams, use case diagrams, activity diagrams, and many more.

While full round-trip design and development is possible with many UML tools, most developers use UML only to visualize difficult tasks or complex concepts. You can create UML diagrams as detailed or sparse as needed.

There are several UML design tools for Java code. Two favorites that run well on OS X are MagicDraw and Poseidon for UML. I discuss both in this appendix.

Examining MagicDraw

MagicDraw, shown in Figure A.1, is a UML-based software architecture modeling tool. As is inherently the case with UML tools, it works for business process modeling and general process modeling also. MagicDraw is owned by No Magic, Inc. No Magic's Web site is:

http://www.magicdraw.com
MagicDraw

Figure A.1. MagicDraw

MagicDraw is well organized with icons for all commonly used diagram types across the top of the main window. Common components of diagrams are arranged just to the left of the main diagram window. All diagrams, classes, and packages arranged in a project tree also are visible during design.

Further detailed properties are available for manipulation simply by double-clicking elements in the main diagram display. The properties dialog box, shown in Figure A.2, allows access to a great number of settings by means of a navigation tree. Attributes, operations, relations, documentation, and much more are available for each diagram element through the properties dialog box.

MagicDraw properties dialog box for a class named Control

Figure A.2. MagicDraw properties dialog box for a class named Control

MagicDraw comes in several editions targeting everyone from open-source and student developers with the community edition to high-end professional software architects. MagicDraw Reader is a nice addition, allowing free reading and previewing of MagicDraw diagrams (for instance, by your clients).

Investigating Poseidon for UML

MagicDraw is not the only software modeling tool available on OS X. Poseidon for UML by Gentleware AG, shown in Figure A.3, is another wonderful UML diagramming tool for OS X. Their Web site is:

http://www.gentleware.com

Poseidon for UML features include Java code generation and reverse engineering for full round-trip design and development. It supports UML documentation creation, as shown in Figure A.4, in HTML or Word. Also, Poseidon for UML allows class diagrams to be automatically arranged onscreen.

Poseidon for UML

Figure A.3. Poseidon for UML

UMLdoc generation dialog box

Figure A.4. UMLdoc generation dialog box

Poseidon for UML comes in several editions, including Community Edition, Standard Edition, and Professional Edition.

Exploring Additional Java Tools

I want to mention two additional tools for Java development: JFormDesigner and IntelliJ IDEA. JFormDesigner is a user interface design tool targeting Swing interfaces. IntelliJ IDEA is a commercial IDE that is very popular among Java developers. Of course, both applications work well on OS X.

Reviewing JFormDesigner

I briefly mentioned JFormDesigner in Chapter 1. JFormDesigner, shown in Figure A.5, is a favorite in the world of Java GUI development. JFormDesigner is maintained by FormDev Software GmbH. Their Web site is:

http://www.jformdesigner.com
JFormDesigner

Figure A.5. JFormDesigner

JFormDesigner integrates nicely with OS X, using the top menu bar and command keys as you would expect them. It is so easy to use that you probably won't need to look at the documentation before creating your first layout. Don't be fooled by the excellent interface; JFormDesigner has lots of advanced GUI design features hidden inside.

Design GUIs with JFormDesigner by dragging and dropping widgets from a component palette. The component palette supports customization, even the addition of new beans, shown in Figure A.6. Anytime during design of a GUI, you can test it with the convenient play icon at the top of the window.

Add bean dialog box

Figure A.6. Add bean dialog box

JFormDesigner handles creation and management of events for GUI components. Properties of selected component are in panel to the right of the design panel, for easy access. Assign widget custom code generation for creation or initialization by accessing one of the custom code dialog boxes, as shown in Figure A.7.

JFormDesigner is an extremely powerful Swing layout tool that still manages ease of use.

Custom widget code creation dialog box

Figure A.7. Custom widget code creation dialog box

Examining IntelliJ IDEA

IntelliJ IDEA is a popular alternative to the common free Java-friendly IDEs. IntelliJ IDEA, shown in Figure A.8, is maintained by JetBrains s.r.o. Their Web address is:

http://www.jetbrains.com
Display of IntelliJ Project XML data in the Project view of IntelliJ IDEA

Figure A.8. Display of IntelliJ Project XML data in the Project view of IntelliJ IDEA

IntelliJ IDEA provides quick code generation. This includes getter and setter creation and generation of override methods. Other shortcuts built into IntelliJ IDEA include code block enclosing for try/catch and if/else blocks.

IntelliJ IDEA contains a GUI design tool, shown in Figure A.9. The GUI tool supports Java layouts, JGoodies Forms, and IntelliJ GridLayoutManager. IntelliJ IDEA migrates hand-coded GUIs and GUIs built with other design tools to IntelliJ IDEA.

GUI Designer

Figure A.9. GUI Designer

IntelliJ IDEA supports UML class diagramming, shown in Figure A.10. IntelliJ can create class diagrams automatically from existing Java code. As mentioned above, UML is a popular tool for examining object-oriented programs written in languages such as Java.

IntelliJ IDEA has tough competition from several good free IDEs. It remains popular because it has a good set of features. Overall, IntelliJ IDEA is a solid tool for serious developers.

UML class diagram

Figure A.10. UML class diagram

Summary

In this appendix, I discuss four additional commercial tools for Java development on OS X. They are MagicDraw, Poeidon for UML, JFormDesigner, and IntelliJ IDEA.

MagicDraw and Poseidon for UML both come in several editions. As with many commercial products, Poseidon for UML is available as a 30-day evaluation copy. (Inquire with MagicDraw's sales department for any comparable offers.) Both companies offer limited Community editions not only to help out open-source projects, but also to get you interested in buying their other editions. Whether you simply want a good design tool for visualization of difficult chunks of code or you want full round-trip design and development, both products supply targeted editions for you.

JFormDesigner is a GUI design tool targeting Swing development. Simply drag and drop GUI components onto a WYSIWYG layout window to create intricate graphic user interfaces. JFormDesigner integrates as a plug-in with several popular Java IDEs, such as NetBeans, Eclipse, and IntelliJ IDEA.

IntelliJ IDEA is a popular commercial alternative to the various free Java IDEs. It currently comes with a 30-day free trial so you can take it for a test drive. IntelliJ IDEA supports JEE and standard Java development. IntelliJ IDEA comes with a GUI design tool, as well as class diagramming capabilities.

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

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