Django Channels vs Symfony

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

Django Channels

81
109
+ 1
1
Symfony

5.7K
4.4K
+ 1
1.1K
Add tool

Django Channels vs Symfony: What are the differences?

Developers describe Django Channels as "It extends Django's abilities beyond HTTP - to handle WebSockets, chat protocols, IoT protocols". It does this by taking the core of Django and adding a fully asynchronous layer underneath, running Django itself in a synchronous mode but handling connections and sockets asynchronously, and giving you the choice to write in either style. On the other hand, Symfony is detailed as "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.

Django Channels and Symfony can be categorized as "Frameworks (Full Stack)" tools.

Django Channels and Symfony are both open source tools. Symfony with 21.3K GitHub stars and 7.09K forks on GitHub appears to be more popular than Django Channels with 3.94K GitHub stars and 542 GitHub forks.

Typeform, Docplanner, and 99designs are some of the popular companies that use Symfony, whereas Django Channels is used by Webscope.io, NUU, and Deepomatic. Symfony has a broader approval, being mentioned in 508 company stacks & 1504 developers stacks; compared to Django Channels, which is listed in 10 company stacks and 6 developer stacks.

Advice on Django Channels and Symfony
Needs advice
on
SymfonySymfonyNode.jsNode.js
and
GoGo

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 · 62.6K views
Recommends
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 Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Django Channels
Pros of Symfony
  • 1
    Open source
  • 172
    Open source
  • 145
    Php
  • 126
    Dependency injection
  • 126
    Community
  • 119
    Professional
  • 77
    Doctrine
  • 71
    Organized
  • 67
    Modular architecture
  • 44
    Smart programming
  • 41
    Solid
  • 17
    Documentation
  • 13
    LTS releases
  • 8
    Decoupled framework components
  • 8
    Robust
  • 8
    Easy to Learn
  • 7
    Bundle
  • 7
    Good practices guideline
  • 7
    Service container
  • 6
    Simple
  • 5
    Powerful
  • 3
    Flexible

Sign up to add or upvote prosMake informed product decisions

Cons of Django Channels
Cons of Symfony
    Be the first to leave a con
    • 9
      Too many dependency
    • 7
      Lot of config files
    • 3
      YMAL
    • 2
      Feature creep
    • 1
      Bloated

    Sign up to add or upvote consMake informed product decisions

    What is Django Channels?

    It does this by taking the core of Django and adding a fully asynchronous layer underneath, running Django itself in a synchronous mode but handling connections and sockets asynchronously, and giving you the choice to write in either style.

    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 Django Channels?
    What companies use Symfony?
    See which teams inside your own company are using Django Channels or Symfony.
    Sign up for Private StackShareLearn More

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

    What tools integrate with Django Channels?
    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 Django Channels and Symfony?
      Twisted
      Twisted is an event-driven networking engine written in Python and licensed under the open source ​MIT license. Twisted runs on Python 2 and an ever growing subset also works with Python 3. Twisted also supports many common network protocols, including SMTP, POP3, IMAP, SSHv2, and DNS.
      Tornado
      By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user.
      Celery
      Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.
      Pushpin
      Pushpin is a reverse proxy server that makes it easy to build realtime web services. The project is unique among realtime push solutions in that it is designed to address the needs of API creators.
      asyncio
      This module provides infrastructure for writing single-threaded concurrent code using coroutines, multiplexing I/O access over sockets and other resources, running network clients and servers, and other related primitives.
      See all alternatives