OSGi vs Spring: What are the differences?
OSGi: The Dynamic Module System for Java. It is a Java framework for developing and deploying modular software programs and libraries. It provides a vendor-independent, standards-based approach to modularizing Java software applications and infrastructure; Spring: Provides a comprehensive programming and configuration model for modern Java-based enterprise applications. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.
OSGi and Spring belong to "Frameworks (Full Stack)" category of the tech stack.
Spring is an open source tool with 31.2K GitHub stars and 20.1K GitHub forks. Here's a link to Spring's open source repository on GitHub.
MIT, Zillow, and Intuit are some of the popular companies that use Spring, whereas OSGi is used by Liferay, Netcentric, and Enonic AS. Spring has a broader approval, being mentioned in 441 company stacks & 1263 developers stacks; compared to OSGi, which is listed in 7 company stacks and 9 developer stacks.
Pros of Spring
- Java215
- Open source153
- Enterprise110
- Standard37
- MVC6
- Easy6