Practical
Embedded Java

Tools:
Eclipse IDE


A practical engineering approach to using embedded Java in real-world applications.


This book is a work in progress...



Eclipse is a multi-platform (eight popular platforms are currently supported), open source, Java-aware Integrated Development Environment. Eclipse is not "Java-centric", and there are active projects which use Eclipse to develop C/C++ code.

Also see these Eclipse Plugins and Tips.

Why Eclipse? Can I use {fill in the blank} Java IDE? Can I use command line tools (no IDE) with Ant?

Short answer: sure! Use whatever tools you prefer. We're not trying to start a religious war over the current "best" IDE here. But some time ago we decided to standardize on Eclipse so that's the one we will suport.

One benefit of "real Java" embedded systems is that they accept standard Java class files. Any Java development toolset which includes a Java compiler from the last two years or so should work OK. All the Java IDEs are based on the underlying Java tools licensed from Sun, and all will generate compatible Java class files. They must do this in order to legally call themselves "Java". Any vendor who is using a customized subset which does not accept standard class files is not "real Java" and cannot legally claim to be Java. It's somewhat like money - it's either real or counterfeit and there is no gray area in between. There are many "clean room" Java clones which do not use code licensed from Sun but which do work with standard class files -- for example the GNU classpath at the Free Software Foundation http://www.gnu.org/directory/GNUClasspath.html.

In any case you will need a set of Java tools normally grouped together into a "JDK" or Java Development Kit. These include the java compiler (javac), the java JVM to execute java programs (java), the Java document tool (javadoc), the Java archive tool (jar), and so forth.

You can use your favorite IDE such as JBuilder (my first Java IDE, and still one of my favorites), JEdit (my favorite until Eclipse came along in late 2002), RealJ, and there are many others. Or just use the command line tools. Or write batch or script files to help automate your builds. Or use any ext editor, command line Java tools, and Ant to help automate your builds. More on all those options later.

The main benefit of Eclipse (or another good IDE) is the saving of time. You could frame a wood house using a framing hammer and nails exclusively or you can make judicious use of a power nail gun. A good carpenter knows when to do things by hand and when to use power tools. A good programmer also knows when to develop by hand and when to use power tools.

Eclipse is a free, open source tool which you are free to use personally or commercially. So is JEdit. JBuilder and other commercial IDEs are not free for commercial use and must be purchased. Check the license agreement of the tools you plan to use and be sure you are in compliance with the terms of use.


NetBeans 6.X
Netbeans 6 has some compelling new features currently not matched by Eclipse - the Matisse GUI builder, for one. You can add Matisse to Eclipse with the MyEclipse plugin which I tried and didn't like (requires annual renewal, greatly slows Eclipse startup, and other gripes), but your opinion may differ.

Current Version, reviews, tutorials, etc
Eclipse 3.1 has recently been released and has many changes relative to 3.0, and 3.0 was a big step up from 2.X. Eclipse has been evolving rapidly. too quickly to try to maintain links here to the latest tutorials, review, etc. If you want these, try Googling for them.

Eclipse, IBM, and Sun (2004 Feb 04)
Will Sun and IBM ever work together on Eclipse? Here's an open letter sent from Sun on 30 Jan 2004: http://www.sun.com/aboutsun/media/features/eclipse.html and here is IBM's response: http://www.javalobby.org/thread.jspa?forumID=61&threadID=11035 and some related news at the Eclipse web site: http://eclipse.org/org/press-release/feb2004foundationpr.html




 


 
Systronix® 939 Edison St, Salt Lake City, Utah, USA 84111
Tel +1-801-534-1017, Fax +1-801-534-1019
contact us     Time Zone: MDT (UTC-6)
 

Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
Systronix is independent of Sun Microsystems, Inc.
TStik, JStik, JCX, JStamp, JSimm, JDroid, and JRealTime are trademarks of Systronix, Inc.
1-Wire, iButton and TINI are trademarks of Dallas Semiconductor
Simmstick is a trademark of Dontronics
LEGO® is a trademark of Lego A/S, Denmark