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

Apache Thrift

176
244
+ 1
0
Symfony

8K
6K
+ 1
1.1K
Add tool

Apache Thrift vs Symfony: What are the differences?

Apache Thrift: Software framework for scalable cross-language services development. The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages; 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.

Apache Thrift belongs to "Serialization Frameworks" category of the tech stack, while Symfony can be primarily classified under "Frameworks (Full Stack)".

Apache Thrift and Symfony are both open source tools. Symfony with 21.1K GitHub stars and 7.01K forks on GitHub appears to be more popular than Apache Thrift with 6.48K GitHub stars and 2.97K GitHub forks.

According to the StackShare community, Symfony has a broader approval, being mentioned in 375 company stacks & 278 developers stacks; compared to Apache Thrift, which is listed in 11 company stacks and 8 developer stacks.

Advice on Apache Thrift 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 · 195.9K 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
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Apache Thrift
Pros of Symfony
    Be the first to leave a pro
    • 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
    • 15
      LTS releases
    • 10
      Easy to Learn
    • 9
      Decoupled framework components
    • 9
      Robust
    • 8
      Service container
    • 8
      Bundle
    • 8
      Good practices guideline
    • 7
      Simple
    • 7
      Powerful
    • 6
      Flexible

    Sign up to add or upvote prosMake informed product decisions

    Cons of Apache Thrift
    Cons of Symfony
      Be the first to leave a con
      • 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 Stats

      What is Apache Thrift?

      The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages.

      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 Apache Thrift?
      What companies use Symfony?
      See which teams inside your own company are using Apache Thrift or Symfony.
      Sign up for StackShare EnterpriseLearn More

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

      What tools integrate with Apache Thrift?
      What tools integrate with Symfony?

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

      Blog Posts

      What are some alternatives to Apache Thrift and Symfony?
      gRPC
      gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking...
      Protobuf
      Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler.
      REST
      An architectural style for developing web services. A distributed system framework that uses Web protocols and technologies.
      Avro
      It is a row-oriented remote procedure call and data serialization framework developed within Apache's Hadoop project. It uses JSON for defining data types and protocols, and serializes data in a compact binary format.
      GraphQL
      GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012.
      See all alternatives