Need advice about which tool to choose?Ask the StackShare community!
OSGi vs Symfony: 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; Symfony: A PHP full-stack web framework. Symfony is written with speed and flexibility in mind. It allows developers to build better and easy to maintain websites with PHP. Symfony can be used to develop all kind of websites, from your personal blog to high traffic ones like Dailymotion or Yahoo! Answers.
OSGi and Symfony can be categorized as "Frameworks (Full Stack)" tools.
Symfony is an open source tool with 21.3K GitHub stars and 7.09K GitHub forks. Here's a link to Symfony's open source repository on GitHub.
According to the StackShare community, Symfony has a broader approval, being mentioned in 508 company stacks & 1504 developers stacks; compared to OSGi, which is listed in 7 company stacks and 9 developer stacks.
I'm about to begin working on an API, for which I plan to add GraphQL connectivity for processing data. The data processed will mainly be audio files being downloaded/uploaded with some user messaging & authentication.
I don't mind the difficulty in any service since I've used C++ (for data structures & algorithms at least) and would also say I am patient and can learn fairly quickly. My main concerns would be their performance, libraries/community, and job marketability.
Why I'm stuck between these three...
Symfony: I've programmed in PHP for back-end in a previous internship and may do so again in a few months.
Node.js: It's newer than PHP, and it's JavaScript where my front-end stack will be React and (likely) React Native.
Go: It's newer than PHP, I've heard of its good performance, and it would be nice to learn a new (growing) language.
Go with Node.js. There's something really satisfying about being able to use a single language across your entire tech stack. Especially once you integrate GraphQL, which is effectively JSON.
Your second best option is Go, but the ecosystem around Node.js is quite a bit stronger. This will play a big factor when you start building functionality like file management, messaging (especially in real-time), and authentication. The libraries and documentation are just stronger for Node.
Pros of OSGi
- Componentization of software modules2
- Open source2
- Component-based platform2
- pre-built1
- Easier to modify1
- Remote management1
- Dynamically deploy your code at anytime w/o downtime1
Pros of Symfony
- Open source177
- Php149
- Community130
- Dependency injection129
- Professional122
- Doctrine80
- Organized75
- Modular architecture71
- Smart programming47
- Solid45
- Documentation20
- LTS releases16
- Robust10
- Decoupled framework components10
- Easy to Learn10
- Good practices guideline8
- Service container8
- Bundle8
- Simple7
- Powerful7
- Flexible6
- Enterprise Ready1
Sign up to add or upvote prosMake informed product decisions
Cons of OSGi
- Bound to eclipse1
Cons of Symfony
- Too many dependency10
- Lot of config files8
- YMAL4
- Feature creep3
- Bloated1