Choosing the best tool for the job
The Java ecosystem is well know for providing a wide variety of options for almost any developer work that must be done. This is a great advantage because you can find the tool that fits best your needs and the way you work. For that reason once you have found a tool that you are confortable with and have learned to use it you want to keep using it.
On the other hand, the wide variety of tools is often intimidating for newcomers, because they need to choose when they still don't have the experience to decide which option is better.
In Liferay we have taken a pragmatic approach to make sure Liferay developers can benefit from the variety of options while still provide a learning curve that is as soft as possible. To do that we have chosen two Open Source technologies that you can use if you don't have another favorites:
Apache Ant and the Plugins SDK: Liferay provides a development environment called the Plugins SDK that will allow you to develop all types of plugins by executing a set of predefined commands (also known as targets sin Ant's nomenclature). You can use the Plugins SDK directly from the command line, using editors like Emacs, Vi EditPlus or even the Notepad. You can also integrate it with your favorite IDE, since almost all of them provide support for Apache ant. The next chapter describes how to use the Plugins SDK in detail.
Eclipse and the Liferay IDE: Eclipse is the most popular and well known Java IDE and provides a wide variety of features. Liferay IDE is a plugin for Eclipse that extend its functionalities to make development of all types of Liferay plugins much easier. Liferay IDE uses the Plugins SDK underneath, but you don't even need to know unless you are trying to perform an advanced operation not directly supported by the IDE.
This guide will show how to develop for Liferay using the Plugins SDK. We have done so to make sure that it was useful for as many developers as possible even if they don't like IDEs or if they don't use Eclipse.
The guide also has a full chapter on the Liferay IDE. If you are an IDE person and specially if you are an Eclipse user, you may start by reading that chapter first and then go back to reading from the second chapter. It won't be hard to repeat the steps described in the guide using the Liferay IDE.
What about if I don't like Apache Ant and I prefer to use Maven? Many developers prefer one of the alternatives to Apache Ant. The most popular of these alternatives is Maven. To support developers that want to use Maven we have mavenized Liferay artifacts so that they can easily be referred from your pom.xml. We are in the process of writing a chapter about using Maven for Liferay development and will be added to this guide in the future. Meanwhile check the following blog entry from Thiago Moreira for more information:
What if I don't like Eclipse and prefer to use Netbeans, IntelliJ IDEA or other IDE? There are many IDEs out there and everyone has its strong aspects. We decided to build Liferay IDE on top of Eclipse because it is the most popular Open Source option. But we also want to make sure developers can use their IDE of choice. In fact quite a few core developers use Netbeans and Intellij IDEA (who has gracefully provided an Open Source license to Liferay's core developers). Both of these IDEs have support for integration with Apache Ant, so you can use the Plugins SDK with them. Additionally, Sun Microsystems developed an extension to Netbeans called the Portal Pack that is explicitly designed to develop plugins for Liferay (and their Liferay flavour called WebSpace). You can find more about the Portal Pack in the following URL:
That's it for the introduction. Let's get started with real development work!