Eclipse Help System


Eclipse provides an HTML-based help system that is completely searchable. Eclipse also comes bundled with help for the Workbench, JDT, JEE, and more. In fact, if you have been following along the examples in this chapter, you will see documentation on Spring (as shown in Figure 8.44), Hibernate, web tools, and more.

Figure 8.44. Eclipse help.


In addition, Eclipse provides Cheat Sheets, which walk you through an entire process. For example, Figure 8.45 shows how to build a Simple Java Application, end to end.

Figure 8.45. Eclipse cheat sheets.


You can also use Eclipse to provide context-sensitive Javadocs, as shown in Figure 8.46. You obtain this help by hovering over a method to see the Javadoc for that given method. Subsequently, we can press F2 if we want to set focus to this window, perhaps to scroll through this mini help pop-up window. To activate this feature, you might have to attach to the API's source code (as I explain under Tips and Tricks later in this chapter).

Figure 8.46. Context-specific Javadocs.


Personal Opinion: The GUI Development Tools Battle Has, Only Now, Begun!

Bear with me while I begin with a bit about my background, so you don't disregard this sidebar as unin-formed babble talk.

In May of 2001, I wrote an article for JavaWorld.com titled "Does Sun Understand GUI Design?" This article was primarily referring to Java Swing's complexity, overengineered API, and slow performance (some of which are no longer true). However, I was also commenting on Sun Microsystem's Unix roots which, in my opinion, reflects on the state of Java tools prior to Eclipse SDK, NetBeans, and commercial products such as JetBrain's IntelliJ IDEA.

Before I offend Unix users, let me say that since 1990, I have worked on more than six flavors of Unix/Linux operating systems (Solaris, AIX, Irix, AT&T System V, SCO Unix, Red Hat, and others). In fact, I can safely say that almost 100% of the projects I have personally worked on have involved Unix servers (primarily Solaris) in some form. I've also been using Unix tools on Windows all along (MKS Tools or Cygwin, for example). Some of my colleagues occasionally comment about some of the regular expressions I like to use in the Vi editor and Unix shell scripts, which makes their head hurt when they try to decipher these. In other words, I love the flexibility and power of the Unix command-line tools, complex regular expressions, shell scripts, and other things that Unix offers (particularly for repetitive tasks that should be scripted so that they are reproducible). However, I have also been working with GUI platforms such as Microsoft Windows since version 2.1 (also known as Windows/286 and Windows/386) from the late 80s, Mac OS X, and X-Windows. So, I'm equally fond of GUI tools because when used properly, these can save enormous amounts of time by providing a consolidated environment; Eclipse is a perfect example of this. GUI tools also have their limitations at times, which is why all the earlier chapters in this book were based on the command line.

Given my mixed command-line and GUI background, I've always felt that Sun just does not understand GUI, or GUI tools for that matter, even though the Swing team was supposedly formed with some Apple and Nextstep engineers. Microsoft, on the other hand, always seems to be one step ahead when it comes to GUI tools, possibly because they literally invest billions of dollars in GUI-related R and D efforts being a GUI based operating system and applications company (versus Unix/Linux-based companies that have their roots in command-line interface-based operating systems).

I want to give you one more perspective on why I think Sun doesn't understand GUI, so bear with me a little longer. A few years ago, I had the distinct pleasure of having a brief, five-minute conversation with James Gosling at a JavaOne conference. He sat in a chair next to mine in a press room to check his email (we had a series of computers available for everyone to check email). So, naturally I had to say something to him (anything) given this rare opportunity of sitting right next to him. I suggested to him that Sun Microsystems should consider writing GUI (wrapper) tools around the most widely used Unix utilities on Solaris such as ls, cron, find, grep, and many others. I mentioned that GUI tools were one key reason Microsoft Windows NT (pre-Windows 200x days) was gaining so much ground. His response was that Sun's customers "prefer the command line" (Hmmm... how do you respond to such a comment coming from the father of Java, nonetheless).

Before Java came along, I was used to working on Unix, but also wrote quite a bit of code under Microsoft Windows using Microsoft Visual C++ and prior to that Borland C++. I could not understand why we had more stable products then and better debuggers, and not now with a better technology such as Java. Anyway, to end this long story, this is no longer true. Products such as Eclipse, NetBeans, and IntelliJ have come a long, long way.

To end a very long story (sorry), this is precisely why I'm glad to see the Eclipse Foundation focused on GUI tools. Finally, an Apache-like foundation focused on GUI tools and a community to write plug-ins, just imagine the possibilities!

The Eclipse phenomenon is something I haven't seen for a long time, and it comes somewhat close to the excitement I felt when I discovered Java and web programming more than a decade ago. The Eclipse platform levels the playing field by providing a consistent GUI platform with a variety of robust services, thereby enabling tools vendors to focus on providing advanced features. The possibilities are endless.

Also, rumor has it that the name Eclipse has a hidden agenda behind it, as in "the Eclipse of the Sun," so is this an attack on Sun Microsystems? Or is Eclipse competing with Microsoft Visual Studio? To make things more interesting, it has been a long time coming, but Swing and NetBeans finally look and perform great now!

Of course, JetBrain's IntelliJ is also a factor here...

In short, the battle of the IDEs has just begun!




Agile Java Development with Spring, Hibernate and Eclipse
Agile Java Development with Spring, Hibernate and Eclipse
ISBN: 0672328968
EAN: 2147483647
Year: 2006
Pages: 219

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net