Summary
We learned various performance-specific UI and portlet development best practices. We learned how to use Liferay Portal's JavaScript bundle mechanism to reduce the number of JavaScript requests. We learned how to reduce the number of image requests using CSS image sprites. We learned how to use Liferay Portal's cache API to cache objects in custom portlets. We also learned about automated code analysis and web page analysis tools to point out performance issues. With this knowledge, we can ensure we develop the best performing code during the development phase.
Now let's gear up to learn about load testing and tuning Liferay-based systems.