[Mozcreator] XUL IDE and Eclipse
Robert O'Callahan
robert at ocallahan.org
Thu Aug 19 23:55:11 EDT 2004
Hi. Brendan told me you've had some discussions about whether to use
Eclipse as the basis of a XUL IDE. Let me mention a few things --- apart
from being a major Gecko layout hacker in my spare time, my day job is
working on tools and languages at IBM Research, some of which involves
Eclipse.
Apart from the Web Tools Project which Dominique mentioned, Eclipse has
a lot of stuff that's useful for IDE building. One of the big chunks is
a framework for managing project resources like files, JARs, etc. You
can have different types of editors for each resource, you can store
metadata (like build preferences) anywhere in the resource tree, there's
a compare framework to do diffs of resources, export and import them,
etc. Eclipse offers very nice integration with version control systems
such as CVS and others.
Another piece that's very powerful is the editor framework. It makes it
pretty easy to do syntax highlighting, fancy margin annotations,
autocomplete, hooks for incremental builds when you change a small part
of a text file, code templates, and much more. Mozilla's editor
framework is great for WYSIWYG XML/HTML documents but it doesn't provide
any help with editing structured text such as source code. You could
burn weeks just trying to get Mozilla Composer to do on the fly syntax
highlighting.
There is also an Eclipse subproject, the Visual Editor Project, that is
building a GUI builder toolset. Parts of that project could probably be
adopted for a XUL GUI builder.
Apart from the Gecko SWT widget which you already know about, Javier
Pedemonte at IBM is working on making all XPCOM interfaces accessible
from Java, so we'll have pretty deep integration between Eclipse and Gecko.
Of course, if you want to connect up to other languages and tools then
Eclipse is a great platform for that.
Lastly, a meta-comment: I know I'm always tempted to build new
frameworks myself from scratch, because it feels like you have more
control and it's more fun to write code than to learn someone else's big
framework. When I start fresh it's also easy to imagine that I'll do a
better job of avoiding mistakes and bloat that the last project. But
building on something like Eclipse has its advantages. You get the
benefits of someone else's ongoing investment; in this case, a team
continually developing and improving the Eclipse core. Eclipse also has
mindshare advantages; lots of users, and IBM's investing a lot of money
in getting universities to use Eclipse for both teaching and research
and development. And I don't think Eclipse is that hard to learn; there
are a huge number of plugins out there for all kinds of things, with
source code. Lastly, even if you end up not using Eclipse, I urge you to
study it. The guys who built it have a long history of building IDEs and
know more about that subject than you or I. You'd learn a lot from them,
and whatever you do build will be better for it.
If you have any other questions about Eclipse I can answer them for you
or find someone who can.
Rob
--
Robert O'Callahan <robert at ocallahan.org>
"Here is a trustworthy saying that deserves full acceptance: Christ
Jesus came into the world to save sinners-of whom I am the worst.
(1 Timothy 1:14-16)
More information about the Mozcreator
mailing list