2013-05-06

Sources of Eclipse Related Information


Eclipse can sometimes seem to be a very big and difficult animal to master or just understand. Most of all when you want to implement your first new functionality in Eclipse.

One of the question I have tried to answer on many occasions, is where you can find good and relevant sources of information on Eclipse technologies. As it happens there are many sources of information on Eclipse technology and below I have tried to list those I use or would recommend. If you feel any important sources are left out, please feel free to comment below and I'll try to update this post...

Books

There are many good books around about the more important Eclipse technologies, and I will not even try to make a comprehensive list. Right now, my personal favorites are
  • "OSGi and Equinox: Creating Highly Modular Java Systems" by Jeff McAffer, Paul VanderLei and Simon Archer (Amazon) ISBN-13: 978-0321585714
  • "Eclipse Rich Client Platform (2nd Edition)" by Jeff McAffer, Jean-Michel Lemieux, and Chris Aniszczyk (Amazon) ISBN-13: 978-0321603784
  • "Eclipse Plug-ins (3rd Edition)" by Eric Clayberg and Dan Rubel (Amazon) ISBN-13: 978-0321553461
  • "EMF: Eclipse Modeling Framework (2nd Edition)" by Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks (Amazon) ISBN-13: 978-0321331885
If you're serious about your use of Eclipse, then these books will save you many hours.

Tutorials

Most of the established projects in Eclipse have one or two good tutorials. The idea with the tutorials is to show how you can use the project to perform something very basic and get you started without too many problems - e.g. creating your first GMF editor or compile your product using Tycho. Often the tutorials are written by the developers of the project, so the tutorials often also illustrate the best practices for the project.

These tutorials are not necessarily up-to-date. The work needed to update the tutorials is just not factored into the subsequent releases...

One notable exception to this is the many tutorials created and maintained by Lars Vogel. You find these on vogella.com.

You can also find other tutorials from various consultancy companies - e.g. from RCP Vision and EclipseSource.

If you have the chance, then you can also attend the many tutorials that are part of EclipseCon (see below). The first day of EclipseCon usually includes a number of tutorials each 3-4 hours long. The subjects have varied a lot, but some of the more popular have been on Eclipse 4, Tycho and Git - all subjects there a good tutorial can ease you into the new subject!

SO - Stack Overflow



Stack Overflow and its many sister sites are very different from most other information sources for Eclipse. First of all, these are not in any way affiliated with the Eclipse Foundation, but also because SO in effect is a peer-reviewed knowledge base of a considerable size.

Stack Overflow organize questions and answers using tags and there are a very large number of tags that are refer to Eclipse related technologies. Some examples are [swt] - all SWT related questions, [tycho] - all Tycho related questions and [eclipse-pde] - all Plugin Development Environment related questions...

There is some overlap between the Eclipse Forum (see below) and SO, but also two very important differences:
  • On SO most of the answers are voted and commented upon by your peers. Thus the better answers usually have higher votes, which can give you some confidence before you try to apply the answer yourself.
  • And on SO answers are of more general nature than what you typically see in the news groups. The hole nature of SO (and its sister sites) promotes the general answers to the specific answers!
SO does have its fair share of stupid questions and answers, but you can very often find good solutions to your problems if you know what to search for... If you want to search for a specific topic, I would normally recommend using Google directly as everything in SO is properly indexed there, but SO also have some very fancy search features if you want more control over what you find.

EclipseCon

If you want to know what is brewing in the Eclipse ecosystem or if you would like to meet the people that is responsible for the various technologies, then EclipseCon is the place to be. Or more accurately the places to be, because there are several editions of EclipseCon every year.



If you want to hear about the future plans or even want to influence the plans, then EclipseCon Europe in Ludwingsburg, Germany in late October is a good venue. Or if you want to get a preview of the stuff to expect next summer, then EclipseCon US is a good venue. I have attended both numerous times and can only recommend them to everybody. EclipseCon France is the newest addition to the family, and might also be the right venue for you...

For all EclipseCon venues you can attend many interesting tutorials and presentations for the current hot Eclipse subjects... and then some returning presentations that are repeated for some years...

Eclipse Resources, Eclipse Live and YouTube


The Eclipse web site includes Eclipse Resources - a section with many articles and webcasts on Eclipse. In recent years the number of new articles seems to have gone down a bit, but that is probably because there are so many other ways to publish the same information.

Some articles are a bit dated, but even some of the oldest are still very relevant - e.g. How to Correctly and Uniformly Use Progress Monitors (from 2006) and Creating Your Own Widgets using SWT (the very first article from 2001).

Eclipse Live is another section of the Eclipse web site that includes a larger number of podcasts and videos on Eclipse. This section is now migrated to a special Eclipse channel on YouTube. The new channel also includes a number of recordings from EclipseCon. Many of the videos you find here, are very close to tutorials, and it can be a good idea to look here for examples and best practices when in doubt.

Project Home Pages and Eclipse Wiki

Every Eclipse project has a home page with links to the relevant information about the project, such as  documentation, access to sources, issues, plans, developers and how to get involved in the project. This is a good starting place to get to understand the current state of a specific project.

Many of the Eclipse projects also have some very authoritative wiki pages. For some projects, this is even the main source of information for the project - e.g. Tycho and p2.

Snippets

There are a number of snippets repositories in the Eclipse world with examples that you can use for inspiration in your own applications. When you want to know how to make an SWT tree-state button (here), how to use JFace/SWT StyleRanges (here) or how to generate source features in Tycho (here), then these snippet repositories are your friends...

To use a Java based specific snippet, select the source for the snippet and just paste it into the Project Explorer. You can then test the result directly via "Run As" -> "Java Application". Very simple and very useful!

I regularly use the repositories for SWT, JFace and Tycho, but others exists as well on the various Eclipse project wikis.

Blogs and Planet Eclipse

There are many interesting blogs that focus on Eclipse and Eclipse related technologies. Apart from the obvious company centric blogs, you can also find many project specific blogs and quites a few blog from people like me that "just" have a very deep interest in Eclipse, its very diverse ecosystem and its many interesting technologies.

Most of the active blogs have been federated in Planet Eclipse, so this can be you one-stop site for everything Eclipse related.

Eclipse Forum - News Groups

The Eclipse Foundation also maintains a set of Usenet News Groups or Forums. These still have a fair amount of traffic but I think a lot of the more technical questions that was previously asked here, now have moved to Stack Overflow. There are still a lot of interesting project related information here, that you will not necessarily find anywhere else, so the news groups are worth knowing about.

Also note that the Foundation itself publish information here and that there is a specific Jobs and employment group.

Developers

Eclipse would not be what it is today without the many developers that implement all the interesting technology and features. And of cause these developers are the ultimate source of information about a specific subject in Eclipse.

But, please don't misuse this information resource. Many developers answer questions in their spare time, so always first try to find your answers via all the other means first, before sending a mail directly to a developer!

I believe the going rate for questions is a beer per question at the next available opportunity - e.g. EclipseCon - which can explain some of the late nights at the bars...

Local User Groups

As can be expected for a successful product like Eclipse, there are a rather large number of national and regional user groups. Many of these are organised by local companies and have regular meetings. You can find a list of the known groups on the Wiki.

(Our local Danish user group is "a little" dormant at the moment... may be this is good opportunity to get the group restarted?)

Democamp, Stammtisch and Eclipse Days

Every now and then the Eclipse Foundation or a local user group organize a democamp or a stammtisch. The idea is almost the same: a number of projects are presented and discussed informally. Sometimes beer is involved, sometimes not. If you to know how people are using Eclipse locally, this is often a very place to start.

There are also some special arrangements - so called Eclipse Days - typically arranged by the Foundation. These often have a specific tema - like banking, insurance or testing - though some like the upcoming Eclipse Day Florence really can be considered a one-day EclipseCon.

Bugzilla

The Eclipse ecosystem is a very open ecosystem, and one of the major corner stones in the ecosystem is Bugzilla. Bugzilla is used exclusively for almost all communication and planning in Eclipse. If you find a bug, wish for an enhancement, plan the next major release of Eclipse or just wish to get your blog added to Planet Eclipse, then Bugzilla is your friend.

But that also means Bugzilla is endless source of information about the choices made in the Eclipse ecosystem when new features is added or bugs fixed.

Figuring out the correct product and component for a new issue can be a little difficult, but usually the issue will end up in the correct bin very fast.

And if you fell you know something about a subject, you are always more than welcome to comment on issues or even... fix some bugs...

Google Code and Github

There are many Eclipse based projects that are not hosted on the infrastructure of the Eclipse Foundation. Some of these are rather interesting and as you have access to the full sources, it can be a good source for inspiration for your own projects and products. (Of cause, you should always check the license first before you copy code... but that goes without saying, right?)

Most of these projected are hosted on Google Code and Github but you can also find projects on SourceForge, CollabNet and other source/project sharing services.

Training and Consultancy

When you start to develop your first application based on Eclipse technology, you have very likely tried to use some of the sources listed above. And what then if you want to get deeper into the technologies?

The good news are that there are a large number of companies from all over the world that provides training, consultancy, mentoring, and bespoke development. You can find most of these on the Eclipse Marketplace.


And of cause.. The Eclipse Foundation itself

There are many questions in more non-technical areas, that can be difficult to answer using any of the sources listed above. And this is where you might want to talk with the Eclipse Foundation directly. The staff of the foundation are extremely helpful and can give you very valuable information about the markets, the licensing, possible customers, industrial groups, etc, etc...

No comments: