Eclipse in Action 247
Eclipse in Action | |
author | Gallardo, Burnette and McGovern |
pages | 383 (15 page index) |
publisher | Manning |
rating | 8 |
reviewer | Simon P. Chappell |
ISBN | 1930110960 |
summary | A good book that lives up to its name. |
Overview
With a book like this it's difficult to know where to pitch the level. Do you aim for the lowest common denominator or do you assume some experience on the part of your reader? This book seems to have pitched itself well, not pandering to the absolute Java newbie, not afraid to get down into the code and yet gentle enough that newer Java developers can follow easily. The heavyweight chapter on writing plug-ins is at the back where it shouldn't frighten those of a sensitive nature.The book is divided into two sections. The first and largest section concerns actual use of Eclipse during Java application development. The second section is for those who wish to write plug-ins for Eclipse.
The book takes a very 'Test Driven Development' approach to Java development and this shows in the manner that Eclipse is presented and taught. Emphasis is given to the tools that come with Eclipse, especially Ant, Junit and the CVS client. For those already skilled in these tools, this might seem like filler, but remember that there are still pitifully few Java developers using even these simple and free tools. My hat is off to the authors for their TDD evangelism, skillfully disguised as Eclipse usage instruction.
What's To Like
I liked the progression followed in the book, first teaching the basic operation of Eclipse and then moving on to the tools that come with the base install.What's To Consider
Some may consider that the material on Ant, Junit and CVS is filler. The 'Test Driven Development' theme may be a little too much evangelism for some.I use Eclipse on a Mac OS X box and I felt that there was very little discussion concerning the cross-platform attributes of the tool. All of the screenshots were from a Microsoft Windows build of the software; a Linux or OS X screenshot would have been helpful.
One more niggle and then I'm done. There is no information on using Eclipse with other programming languages (a couple of paragraphs in the introduction chapter doesn't really count). I've recently started tinkering with Ruby and have used a Ruby plug-in to allow me to work within Eclipse as I learn the language. This is a wonderful testament to the power and extensibility of Eclipse.
Summary
This is a good book. You know it's a good book when you already use the tool (both pure Eclipse and IBM's WSAD) regularly and you find yourself learning things that you had not previously been aware of. If you are working with Java and want a good free IDE that's going to grow with you, then Eclipse is a tool you should try -- and consider this book the User's Guide that would have been in the box if Eclipse came shrink-wrapped.
Table Of Contents
- Using Eclipse
- Overview
- Getting started with the Eclipse Workbench
- The Java development cycle: test, code, repeat
- Working with source code in eclipse
- Building with Ant
- Source control with CVS
- Web development tools
- Extending Eclipse
- Introduction to Eclipse plug-ins
- Working with plug-ins in Eclipse
You can purchase Eclipse in Action from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
best ide ? (Score:5, Informative)
JBuilder/Netbeans/ Visual Age for Java. IMO, it is also the most easiest one to get familiar with. I have used IBM tools like Visual Age For java & Visual Age for CPP and boy, where they a pain to get started on.
This page [eclipse.org] has all the shortcuts in the IDE- valuable time savers
Re:best ide ? (Score:5, Interesting)
1) No drag/drop editing. This really is a must, and I can't think of why they haven't bothered with it.
2) No visual GUI editor. This is available for a price, though. I just wish it were free.
Re:best ide ? (Score:3, Interesting)
if you need a gui editor, then use netbeans. it has an excellent gui editor and is free. if eclipse is the hammer, then gui editing is not a nail...
Re:best ide ? (Score:2)
on GUI editors, am yet to see any Java GUI editor that is as good as the one Microsoft has in Visual Studio - drag, drop & get stuff done.
It has one clean interface where anything related to GUI element can be dealt with.
Jbuilder came close, but even on that using a basic elements such as table required getting into the generated code and doing many of the necessary modification manually. I eventually settled for writing a
Re:best ide ? (Score:2)
But its not for Java, a language which I have no experience in. I'll probably be taking a Java course this year, so that'll be interesting.
Re:best ide ? (Score:4, Interesting)
It's not free...but I don't think I could go back to Eclipse.
IDEA definatlly is the best Java IDE out there.
Re:best ide ? (Score:3, Interesting)
Re:best ide ? (Score:4, Interesting)
One of my biggest complaints with Eclipse was the inability to open a file or compile to a directory outside of the project workspace. Additionally, i found the refactoring to be slow when compared to IDEA.
Why... (Score:2)
I have no baseline to compare refactoring to, since I have only used that feature to rename a method in Eclipse, and I haven't use refactoring in any other editor.
I haven'
Re:best ide ? (Score:3, Interesting)
Since I first used IntelliJ IDEA, I cannot go back to any other editor. And with each version, it keeps getting better and better. (I'm on the Early Access Program for the next version... just wait to you see what it has in store! Wow!)
Re:best ide ? (Score:2)
What does it have in store that makes you go "Wow!"?
GUI editor (Score:5, Interesting)
It could be that for a general experienced java programmer, GUI editors just don't work as well for Java. What with layouts, different ways to do things, etc., designing powerful UI code for Java is different than say for Win32 (and yes, I've done both). Personally, I'm faster just writing straight code from a logical standpoint instead of dragging in code from a physical one. It's a fairly common sentiment on comp.lang.java.* also.
Re:GUI editor (Score:2, Informative)
Granted, its not a full feature editor. But it allows you to quickly lay out all of the components and generate the SWT. I use it and it saves quite a bit of time.
Re:GUI editor (Score:5, Interesting)
BTW, Idea's next version will feature a GUI editor. It promises to be very clean. I don't know if it will catch on because it uses non-standard ideas such as byte code manipulation to keep the code clean. All layout is in XML (generated by the WYSIWYG editor) and the code only contains listeners and component references (even the references are optional if you don't have listeners on those components)
Re:GUI editor (Score:2)
Actually, that's a perfect example of where code is stronger! In those cases where you start to get a complex interface, a more data driven
Re:best ide ? (Score:5, Informative)
Expand a java element in the Package Explorer View. Drag and drop it to where you want (eg another class). Eclipse does all the needed refactoring for you.
2) No visual GUI editor. This is available for a price, though. I just wish it were free.
I'll agree this is lacking, but take a look at some of the plugins:
Eclipse GUI plugins [2y.net]
And specifically: Assisi [assisiplugins.com]
Scott
Re:best ide ? (Score:2)
Er... I meant Drag and Drop *text* editing; sorry if that was vague. There's lots of stuff I can drag and drop, but I can't hilite some text, drag it to another portion of the window/view I'm in (or even another view), and drop it there. Nor can I control-drop it to copy it there. Nearly every other text editor on the planet (except MS Notepad ;)) has t
Re:best ide ? (Score:2)
To move a section of text using DND one makes the following actions:
Hilite text (using any method, count it as a single action). Click
To do the equivalent using cut/paste, I do the following:
Hilite text. Cut text. Move cursor. Paste text.
It's two actions vs four actions.
Re:best ide ? (Score:2)
It seems that they have so many of them now. Why can't all of the devo's just work on one? They could label it "Eclipse GUI plugin" or something. It seems to me that there's a lot of energy going into a lot of projects in parallel, when one of the projects getting done faster would be more desireable.
Possible reason for no Drag and Drop (Score:4, Informative)
If you head over to the SWT development page [eclipse.org] you will notice that Linux/gtk, MacOS and QNX all still need Drag and drop to be implemented. I know for MacOS, Drag and drop will be in Eclipse/SWT 3.0
Re:best ide ? (Score:2)
Re:best ide ? (Score:2, Informative)
Everyday for the last 6 months I am on eclipse + one [xored.com] of the few [sourceforge.net] PHP plugins along with the ftp plugin from eclipse.org for developing websites. Theres even a few SQL plugins if you're that way inclined (plug a shedload more [2y.net]). Lots of time saved and I can share projects between my work winxp system and linux at home since both run eclipse.
The only things that can match all these features (last time I looked anyway) cost
Not Bloatware? (Score:4, Informative)
I've been a regular user of VA-Java/Smalltalk for years, and Eclipse uses a lot more resources and is missing many features the Envy-based repositories have.
Re:best ide ? (Score:2, Interesting)
Having said that, Eclipse is pretty good, and much more pleasant to use than NetBeans.
Re:best ide ? (Score:2)
Eclipse is the best IDE for its price.
If the company is floating the bill, then JBuilder or IntelliJ are better IDEs (though they cost a fortune).
Not a dis against Eclipse. Its a fine IDE, but JBuilder and IntelliJ just have more features to really speed up production (especially in the EJB department).
Re:best ide ? (Score:2)
Re:best ide ? ...Nah (Score:2)
Re:best ide ? (Score:2, Insightful)
Re:best ide ? (Score:2)
Depends on your point of view. I too really liked VAJ. BUT, VAJ was several months behind on every new Java version release. It had to do with JIT compiling and allowing editing from within a debugger window.
Eclipse runs on different Java versions, and so does not need to be re-written when a new version comes out. And (since 1.4) you can edit fom within the debugger.
It cost IBM a LOT to adapt VAJ to a new Java version.
Re:best ide ? (Score:2)
The website (Score:2, Insightful)
Are they reinventing the wheel ? (Score:5, Funny)
Welcome to eclipse.org
Eclipse is a kind of universal tool platform - an open extensible IDE for anything and nothing in particular.
It's an EMACS clone then ?
Re:Are they reinventing the wheel ? (Score:5, Funny)
"No, it's an extension of vi!"
WARNING: The above message was intended to be humorous, the humor impaired should press the little X button in the top right hand corner to prevent confusion.
Re:Are they reinventing the wheel ? (Score:2)
Oh man. Now you're going to get flamed by all the rabid lynx/links users...
Re:Are they reinventing the wheel ? (Score:2)
Not to mention the OS X users. Flame on!
Re:Are they reinventing the wheel ? (Score:2, Funny)
Not to mention the OS X users
Yeah, both of them
Bye bye Karma.
Re:Are they reinventing the wheel ? (Score:3, Funny)
"The greatest thing about vi is that you can find some version of it that runs on literally any OS that you can think of. Any OS, including EMACS."
Re:Are they reinventing the wheel ? (Score:2)
I think you mean "the humor impaired should type 'Ctrl-x, k'".
Emacs clone ? (Score:2)
Yes. :-)
Well, at a higher level it seems to be. Just based on Java instead of lisp. It seems that they've taken a similar approach for similar reasons (including 'by programmers, for programmers'). And now I currently jump between both for doing Java work (Eclipse and Emacs+JDEE)
Re:Are they reinventing the wheel ? (Score:5, Informative)
But wait, there's more! With eclipse the EMACS work style that I use is even better than in EMACS because dabrevs (alt-/) work much better. In eclipse dabrevs are not just a textual expansion as in EMACS, rather it is context sensitive based on the jars you have in your class path as it should be in an Jave IDE. Say what you want about Visual Basic, but M$FT got this right a long time ago.
Of course we had all of this in ZMACS on the Symbolics back in the 80's, but what goes around comes around ...
-- Jack
Re:Are they reinventing the wheel ? (Score:5, Informative)
There is a combination of an eclipse plugin and an emacs mode that allows you so used emacs as an external editor. It isn't perfect, particularly in that it crashes emacs sometimes, but it really improves my dev env, since I can use the editor I'm most comfortable in while still being able to take advantage of eclipse.
jde-eclipse/RemoteEclipse [raffael.ch]
Re:Are they reinventing the wheel ? (Score:2)
-- Jack
Re:Are they reinventing the wheel ? (Score:2)
I'm using WSAD 5.0, which is based on Eclipse 2.0.2, and I can say that for me, the Emacs bindings are just close enough to get me going for a couple seconds before I slam into a wall of incompatibility. So far, I like Eclipse 2 as an IDE,
Re:Are they reinventing the wheel ? (Score:2)
Well, if you want that in Emacs, just install JDEE [sunsite.dk]. That gives you Code Completion with a default binding of C-c C-v C-. (and, yes, you can easily change that if you want) Screenshot [sunsite.dk]. Of course,
Just remember (Score:5, Funny)
Re:Just remember (Score:2)
get down to the nitty gritty. (Score:5, Informative)
the netbeans was an overall easy read and got the user quickly familiar with the parts of the ide they needed to use.
i'm a heavy eclipse user during my day job mainly b/c i think it's slightly nicer on win32, and i like the debugger more than netbeans. eclipse also seems to require slightly memory footprint and since i haven't yet convinced my manager that having more than 384MB of memory for a java development ide and running a local wl server is absolutely necessarry for maintaining some level of sanity, i'm using what works best for me. at home on a linux platform, i prefer netbeans just because it looks and feels nicer. the gtk+ on linux isn't as nice as the native java look and feel. just my personal preferance.
Re:get down to the nitty gritty. (Score:2, Insightful)
Not enough pictures? (Score:2, Funny)
I'd like to weigh in ... (Score:3, Informative)
I work on multiple projects at once, sometimes projects have sub-projects, and none of them are located on my local machine. The way Eclipse handles them is
What I really like about Eclipse is the PHP addon, with its function/class outline view. I just wish that, if projects were properly implemented, that the addon would be able to outline all of the functions in the entire project. Now THAT would be cool.
Re:I'd like to weigh in ... (Score:2, Insightful)
Re:I'd like to weigh in ... (Score:3, Interesting)
HomeSite creates a project file (projectname.apf) in the top folder of the project. It contains a complete list of all the files in the project, and can organize it either by physical folders, or by having virtual folders (sort of like symbolic links, I suppose). All of these
Re:I'd like to weigh in ... (Score:3, Informative)
This is analogous to how Eclipse does things. Each project is a separate entity. A project can link to different parts of the file system ("virtual" folders), potentially allowing files to be shared between multiple projects. And you can define filters (working sets in Eclipse terminology) that determine what's show
Re:I'd like to weigh in ... (Score:2)
Re:I'd like to weigh in ... (Score:2)
I cannot create "beryllium.ca" and "confuzzled" projects in Eclipse. Why? "C:\Internet\www\confuzzled and C:\Internet\www\ overlap".
HomeSite doesn't have that problem.
No, working sets don't help, as I cannot create a working set without first having defined a project. Therefore, catch-22.
Re:I'd like to weigh in ... (Score:2)
A more appropriate candidate for nested projects, imho, is API/implementation/test separation, and other subset/layer dependency issues.
For example, let's say your framework project has an interface package and
Re:I'd like to weigh in ... (Score:5, Insightful)
Then let the team know.
They're currently working on the 3.0 release for Eclipse - one of the topics discussed on the development mailing lists a while back was properly supporting sub-projects. The primary Eclipse team was asking users to submit information on how they would like to see Eclipse support nested projects. If you look through their bug database, you should be able to find the relevant bugzilla entries along with the attached discussions.
Re:I'd like to weigh in ... (Score:2)
Eclipse 3.0 new features (Score:5, Informative)
Got these links off blogdex [blogdex.net] this morning.
Milestone 1: http://download.eclipse.org/downloads/drops/S-M1-
Milestone 2: http://download2.eclipse.org/downloads/drops/S-3.
I use WSAD and Eclipse 2.0 regularly. WSAD's (Based on Eclipse 1.0) java editor is weak, but the editor in Eclipse 2.0 is among the best I have ever used.
Fabulous! (Score:5, Funny)
Development Use (Score:5, Interesting)
Back on track, check out this plugin: PMD [sourceforge.net]. It scans your classes for unused variables and a few other things. Some code our company paid for had literally hundred of unused strings in a class!
Re:Development Use (Score:2)
And for a sample of what unused and duplicated code PMD has found in various SourceForge apps, check out the PMD scoreboard [sourceforge.net].
Re:Development Use (Score:2, Interesting)
Screenshots? (Score:2)
Re:Screenshots? (Score:2)
You can just browse the 2.1 docs [eclipse.org]
How about JFACE? (Score:3, Interesting)
Eclipse plugins are indeed cool. But what is lacking is good docs for developing stand alone JFace (equivalant of javax.swing) applications. SWT is much talked about being an alternative to Swing. but still, I don't see much documentation on developing stand alone applications.
For example, I have a small Swing GUI program, size of my program jar is ~1M. I'd love to convert it to SWT/JFace. But I don't want to convert it into a plugin. Because then I'd have to distribute Eclipse work bench with it. The 'minimal' eclipse is around ~12M. So my distribution file size increased 10 fold!
any pointers appreciated.
thanks
This article tell you how (Score:4, Interesting)
FWIW, I've actually done this and the results are great.
For those like me... (Score:3, Informative)
screenshot 1 [ometer.com], screenshot 2 [ometer.com], screenshot 3 [ometer.com]. (They're kinda old, so undoubtedly this thing has evolved quite a bit further since then.)
IBM uses Eclipse as a basis (Score:3, Informative)
..for what I believe is their current flagship Java development tool, WebSphere Studio Application Developer. [ibm.com]
WSAD is a lot bulkier than Eclipse, and integrates strongly with WebSphere for debugging. It also includes a lot more project types than Eclipse, although there are some Eclipse plugins that add similar functionality.
Re:IBM uses Eclipse as a basis (Score:4, Informative)
Just one opinion though, YMMV. We currently have a few tickets open with IBM that they can't seem to resolve - that work fine in WebLogic and SilverStream and JBoss environments.
This is all under windows, I have no experience with WSAD under linux.
Re:IBM uses Eclipse as a basis (Score:2)
He said that speed is the #1 complaint (it takes us 45 minutes to refresh/rebuild and another 45 to generate deploy/RMIC code).
To anyone looking at WSAD - make sure to try it with large code sets if you can... And be aware that the WSAD User Interface is BULKY, Confusing, and takes a good amount of adjustment too.
the other book met my needs much better (Score:5, Informative)
If you've ever used Eclipse, I'd recommend the other book. If you're completely new to Eclipse, check out the included tutorials. They're surprisingly well-done.
Try Eclipse for CVS (Score:5, Interesting)
Even if you aren't a Java programmer, it may be worth having a look at Eclipse as a CVS client. Most graphical CVS clients rub me the wrong way. WinCVS is difficult to use and not intuitive. Try Eclipse - it actually lets you look at the projects on the repository and lets you view the resource history to compare any two files. The branching and mergeing features are very nice as well.
Slightly (or very) off topic about Eclipse.exe (Score:2)
Does anyone here know how to create exe files that'll start a Java application? Starting an application with an exe file is slightly more sexy than with a bat file (this may be a personal preference of mine, but still...).
Some Java apps I've used, such as LimeWire, seems to be a binary exe file and perhap
SWT and GCG (Score:2, Informative)
Re:Slightly (or very) off topic about Eclipse.exe (Score:2)
Syntax checking as you write the code (Score:3, Informative)
To me, this feature seems revolutionary. I after discovering it, I had a hard time going back to coding C++ where no such tools exist (to my knowledge). I am always surprised that not many Java programmers seem to know or care about this kind of on-the-fly syntax checking. Coding is much more fun when you can be aware of your mistakes the moment you make them, rather than having to go back and fix them all after you've already forgotten what you were thinking.
Re:Syntax checking as you write the code (Score:2)
http://www.wholetomato.com/
its been a while since I used it, so I don't know if it oes all that you want...
agree (Score:3, Interesting)
JBuilder is the only one (Score:2)
Don't get me wrong, if Eclipse is free, I can envisage one day switching. But as
Re:JBuilder is the only one (Score:2)
Re:What's The Point? (Score:2, Interesting)
The point... (Score:5, Insightful)
JBuilder is not free software (or even OSS). Borland can restrict the use of the Personal edition in whatever ways they want. Borland can simply discontinue the free edition at any time and leave the users without any option short of buying the paid edition or switching development platform (and this is a major problem for any serious development effort).
You also can't assume Borland will update the product in a timely manner. They can for instance delay the support for a new JDK version for whatever reason and you can do nothing.
In the end, having control over its development platform is strategic for most companies in this business. Im my shop we are moving fast towards completely open enviroment. In most cases only Windows itself is the last piece that must go but the market still requires us to have it around.
Re:The point... (Score:2)
Re:Grammar... (Score:2)
Ah, the beauty of linguistics [uni-dortmund.de].
Re:Grammar... (Score:2)
Ah, the beauty of linguistics.
Re:Grammar... (Score:2)
And mock me all you want, but I wasn't kidding, I really do think it's interesting! =)
Re:Grammar... (Score:2)
Re:Web Development? (Score:2, Informative)
JBoss has JBossIDE [jboss.org], a set of plugins for running JBoss and related stuff in Eclipse.
MyEclipseIDE [myeclipseide.com] looks like it offers a plugin that supports several app servers, if you join for $30/year.
Plus, WSAD [ibm.com] (WebSpere Studio Application Developer) is basically just Eclipse with plugins to run WebSphere.
Re:Web Development? (Score:2, Informative)
I've been using MyEclipseIDE for the last few weeks, and it's a great plugin. The best feature is the automagic JSP debugging with servers that support JSR-045 like Tomcat 5. I'm eagerly awaiting the new version that is supposed to ship tomorrow, because there are lots of new features like XDoclet support. I think they're adding some EJB tools too, but I'm just doing JSPs, Servlets, Struts, etc, so I haven't looked too closely
Re:My experiences with Eclipse. (Score:3, Funny)
Re:GOD FUCKING DAMN YOU DAVID (Score:2)
Re:non-Java (Score:5, Informative)
Yes. C/C++ IDE [eclipse.org]
Cobol [eclipse.org]
Thos are just a couple of the official ones off hand. There are others floating around out there, including some commercial solutions.( XML/JSP/HTML support [sourceforge.net], XMLBuddy [xmlbuddy.com] ... )
Re:Python??? (Score:3, Informative)
A quick Google search [google.com] came up with Eclipse-plugins.2y.net [2y.net] which in turn gives us language plugins for Eclipse [2y.net].
Down under 'p' is.... PyEclipse [sourceforge.net]
Re:cross-platform? (Score:2, Interesting)
This article [ibm.com] shows a screenshot of Eclipse on generic Windows and on Linux...
Some Screenshots [xesoft.com]... I think on (Skinned?) Windows XP.
Re:netbeans vs eclipse (Score:2, Informative)
I have only used NetBeans briefly at JavaONE, but from what I saw, Eclipse's feature seems similar.
Re:netbeans vs eclipse (Score:2)
Re:Before raving too much about Eclipse... (Score:2)
I think the better question is... (Score:2)
Have you ever sat back and thought that maybe the problem isn't that we are racist, but that not enough minorities decide to take up programming, and even less OSS programming?
You're just stereotyping nerds the same way racists stereotype you. Go... play basketball or perfect Ebonics. If you want to write a free program, just shut up and do it like we do.
Seriously, the best way to be treated like just another person regardless
Re:Eclipse works because IBM put $40 million into (Score:2)