Portlets are the most basic, most commonly used type of Liferay plugin you’ll develop. Think of your Liferay portal as a pizza crust (sit down, you can go order a real pizza later). Liferay comes with some basic toppings that make for a pretty good pizza out of the box (i.e., the core portlets and built-in functionality). Of course, your boss might demand anchovies, and Liferay definitely doesn’t come with anchovies. So what do you do? You take our tools, get some anchovies (your app’s source code), and integrate them with the pizza (Liferay). In these tutorials you’ll learn how to develop portlet projects to top your Liferay pizza in such a way that the end-user won’t be able to tell the difference between your custom portlet and Liferay’s core portlets.
In Liferay, you’re free to use any framework you prefer to develop your portlets, including Struts, Spring MVC, JSF, and Vaadin. Here you’ll use the Liferay MVC portlet framework, because it’s simple, lightweight, and easy to understand.