I've been a Java/J2EE Consultant for over 8 years now and I've been
a MyEclipse subscriber since approximately 1993. I am always
impressed in how fast MyEclipse kept up with the version of Eclipse
and Eclipse plugins being released. New technologies emerge all the
time and before you could think about it, the tools you love to use
is already integrated on their next beta and eventually GA release.
When pair-programming with other developers I noticed that they are
always in awe when they observe how I can modify my code on-the-spot
without re-starting the web or application server. Of course the
hot-code replace feature was never a surprise to me because I've
been a MyEclipse user for quite a while now and previously a
WebSphere/Rational Application Developer (WSAD) user as well which
had similar set of tools for development (only WSAD is more
expensive).
WebSphere/Rational Application Developer is a very similar IDE that
comes with it's own suite of tools that will aid developers in
whatever aspect of programming they are tasked to do. The big
difference is that MyEclipseIDE uses mostly open source plugins and
IBM develop its own. I think this price difference is worth noting.
I have had the priviledge to read a couple of email responses to
MyEclipseIDE lately and these emails were shaming MyEclipseIDE for
"stealing" opensource tools. The responses really
surprised me since on the other side IBM Develops it's own suite of
tools and a single license cost $2220 while MyEclipseIDE uses
opensource tools and their lowest subscription cost $31.75. Why are
these people slamming MyEclipseIDE for delivering quality low-cost
development tools?
I have also been in several projects where WebSphere was used and
compared to MyEclipseIDE, WSAD was so bloated that normal day-to-day
tasks would take longer than expected. Not to mention that it takes
literally a day or two to install WSAD. I honestly am not sh*tting
you. I hated installing WSAD. Take a look at the
pricing
for
IBM
Rational Application Developer (formerly known as WebSphere
Application Developer) and try not to freak out. WSAD is a very nice
tool but the price-to-performance ratio for WSAD just doesn't
compare to MyEclipseIDE.
Cost Justification
For every consulting company that I have been in I have always used
MyEclipse. Most of a consultants effort on the first week is getting
setup with the company's development environment and most will have a
base eclipse and numerous plug-ins to install. At an average, it will
take at least 2 to 4 to set someone up on a new machine.
-
Install plug-ins
(Struts, Spring Framework, Subversion, a plug-in to run an
application server)
-
Install Database tools
So to do a calculation for 2 people at an average cost of
$40/hr.
2 people x $40 x 4 hours = $320.
This applies for all new employees or consultant that needs to
be setup. I want to note that as of now, here are the different
types of MyEclipse subscriptions:
-
Standard Edition (SE) $31.75
-
Professional Edition $52.95
I have also witnessed a setup time of one hour but then later on
the users of these inferior plugins continue to have day-to-day
issues and it does get costly when your IDE is crashing all the
time and in addition you experience code synchronization issues
between the source in your IDE and the application server (just
to note some examples).
So I hope that this is a no-brainer for all managers out there.
Got MyEclipseIDE?
MyEclipseIDE Features That Stand Out
Web Deployment Tools
This feature has been around since day one and it's got to be one of
my favorite. This particular feature handles how a web project
deploys it's sources and reference libraries. If your web
application refers to dependent projects, they can either be placed
in the specified web classes output directory or be deployed as a
[project].jar files. What typically happens in a non-MyEclipseIDE
environment is that if you have a situation where a project refers
to another project. When the child project changes, a ant build task
is manually launched and jar the dependent project and gets placed
in the WEB-INF/lib web project directory. Now, try and imagine if
you are working on the child project. You would have to do this
every time you make a code change and then restart your application
server. How annoying is that? MyEclipseIDE updates the code every
time you save so even when running Tomcat the hot-code-replace is
awesome. Which developer do you think will be more productive?
Asynchronous JavaScript (AJAX) Tools
If you've already jumped in the AJAX bandwagon you might be dreading
it right now because it's hard to debug javascript code. But thank
goodness that MyEclipseIDE comes with it's own suite of AJAX tools
and the most useful tool to me is the AJAX debugger.
The debugger is so neat you can debug any live web address and then
put a bookmark on any of its javascript code (this is possible since
javascript is a public html resource). I urge you to watch this
MyEclipseIDE
Features Overview (also mentioned above).
Database Tools
I love this feature and is compatible with any JDBC-compliant
database servers. What I find handy for this is the generation of
the database entity relationship diagram (or ERD). I may have a task
to implement a feature and as a consultant I am what you call a
"business-rule" blind and I need to see the big picture. This allows
you to generate the entire ERD or selectively. It prints out really
nice as well. This is a cool feature to show to other
non-MyEclipseIDE users because it is a developer productivity aid. I
wanted to also note that it supports typical JDBC queries, table
creates, etc..
Other Features Worth Noting
There are several others worth noting like the hot-code-replace for
launching application servers; Framework integration plug-ins for
Spring, Hibernate, Java Server Faces, Struts, JSTL, Tapestry, etc...
Upgrading
When new features come up, the freebie developer (a developer using
Eclipse with manually installed plug-ins), will get the word somehow
that a new upgrade for a particular plug-in has been released. That
developer then downloads and installs the plug-in to find out later
one that the plug-in is not compatible with the current version of
Eclipse they are using. What I usually see happen is that other
developers download and install the plug-ins as well, so now you
have N developers that are *screwed* because no one has tested this
plug-in. And if someone has tested them it's only for a particular
version of Eclipse and not everyone is running the same version of
it. So what ends up happening is that developers refrain from
downloading a plug-in until someone else can guarantee that this
will not break their current install. This could end up costing the
company some amount of money as well for the time spent trying to
resolve this issue, not to mention it will hinder developer
productivity and lowers the developer tool confidence level as well.
So here I am at my workstation LMAO because I never have those
issues being a MyEclipseIDE user. When I upgrade to the newest GA
version the plug-ins in MyEclipseIDE are guaranteed to work. I never
have to question whether this will break my development environment.
It is always guaranteed that the integrated plug-ins are tested. And
if a bug arises there's a place that I can go to for support and
this rarely happens for me. For as long as I can remember I have
never rolled back a GA version of MyEclipseIDE.
The MyEclipseIDE Influence
I don't usually convince or sell MyEclipseIDE to people and I think most
of them will find that there a lot of benefits using this tool and I
myself demonstrating developer productivity first hand is enough for
companies to start buying several subscriptions themselves.
MyEclipseIDE: A Killer App?
I don't believe MyEclipseIDE is a killer app but I believe it's overall
the best Java Development IDE out there that focuses on (1) low cost,
(2) minimal bugs and (3) fast support turn-around at a very low price
per seat. Every now and then when new features come out some of them may
be quirky (like the Hibernate support tools) but they usually get better
on future versions.
Reference: