Here are more ways OSGi meets the developer experience goals mentioned earlier. These topics apply to both new and veteran Liferay developers, so you should become familiar with them. After reading each one, make sure to COME BACK HERE to continue with the next tutorial listed or, when you’ve finished reading all of them, continue this Learning Path.
Leveraging Dependencies: In Liferay DXP 7.1, you can both declare dependencies among modules and combine modules to create applications. Since leveraging dependencies provides huge benefits, there’s an entire tutorial for it.
OSGi Services and Dependency Injection: OSGi includes a powerful concept called OSGi Services (also known as microservices). OSGi’s Declarative Services standard provides a clean way to inject dependencies in a dynamic environment. It’s similar to Spring DI, except the changes happen while the system is running. It also offers an elegant extensibility model that Liferay DXP 7.1 leverages extensively.
Dynamic Deployment: Module deployment is managed by Liferay DXP 7.1 (not the application server). This section demonstrates how to use dynamic deployment for better control and efficiency.
Liferay’s developer tooling for Liferay DXP 7.1 compliments module development. It supports traditional plugin development and facilitates moving applications to modules. There are improvements for developing themes and using Maven and Gradle build systems, and there’s even a Upgrade Planner tool that adapts existing code to Liferay DXP 7.1’s API and automates much of the plugin upgrade process. Developer tooling improvements are next.