Need advice about which tool to choose?Ask the StackShare community!

OSGi

79
118
+ 1
10
Symfony

8.4K
6.2K
+ 1
1.1K
Add tool

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.

Advice on OSGi and Symfony
Needs advice
on
GolangGolangNode.jsNode.js
and
SymfonySymfony

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.

See more
Replies (1)
Max Musing
Founder & CEO at BaseDash · | 6 upvotes · 220.7K views
Recommends
on
Node.jsNode.js
at

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.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of OSGi
Pros of Symfony
  • 2
    Componentization of software modules
  • 2
    Open source
  • 2
    Component-based platform
  • 1
    pre-built
  • 1
    Easier to modify
  • 1
    Remote management
  • 1
    Dynamically deploy your code at anytime w/o downtime
  • 177
    Open source
  • 149
    Php
  • 130
    Community
  • 129
    Dependency injection
  • 122
    Professional
  • 80
    Doctrine
  • 75
    Organized
  • 71
    Modular architecture
  • 47
    Smart programming
  • 45
    Solid
  • 20
    Documentation
  • 16
    LTS releases
  • 10
    Robust
  • 10
    Decoupled framework components
  • 10
    Easy to Learn
  • 8
    Good practices guideline
  • 8
    Service container
  • 8
    Bundle
  • 7
    Simple
  • 7
    Powerful
  • 6
    Flexible
  • 1
    Enterprise Ready

Sign up to add or upvote prosMake informed product decisions

Cons of OSGi
Cons of Symfony
  • 1
    Bound to eclipse
  • 10
    Too many dependency
  • 8
    Lot of config files
  • 4
    YMAL
  • 3
    Feature creep
  • 1
    Bloated

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is OSGi?

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.

What is Symfony?

It is written with speed and flexibility in mind. It allows developers to build better and easy to maintain websites with PHP..

Need advice about which tool to choose?Ask the StackShare community!

What companies use OSGi?
What companies use Symfony?
Manage your open source components, licenses, and vulnerabilities
Learn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with OSGi?
What tools integrate with Symfony?
    No integrations found

    Sign up to get full access to all the tool integrationsMake informed product decisions

    What are some alternatives to OSGi and Symfony?
    Spring Boot
    Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.
    Spring
    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.
    Docker
    The Docker Platform is the industry-leading container platform for continuous, high-velocity innovation, enabling organizations to seamlessly build and share any application — from legacy to what comes next — and securely run them anywhere
    Apache Maven
    Maven allows a project to build using its project object model (POM) and a set of plugins that are shared by all projects using Maven, providing a uniform build system. Once you familiarize yourself with how one Maven project builds you automatically know how all Maven projects build saving you immense amounts of time when trying to navigate many projects.
    JavaScript
    JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
    See all alternatives