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

.NET

10.1K
5.8K
+ 1
1.9K
Symfony

8.3K
6.1K
+ 1
1.1K
Add tool

.NET vs Symfony: What are the differences?

Key Differences between .NET and Symfony

1. Framework and Language:

  • Symfony is a PHP web application framework that follows the Model-View-Controller (MVC) architectural pattern. It is specifically designed for PHP developers to build robust web applications efficiently.
  • On the other hand, .NET is a multi-language framework developed by Microsoft. It supports various programming languages such as C#, VB.NET, and F# and provides a powerful platform for building applications across different platforms.

2. Ecosystem and Community:

  • Symfony has a rich ecosystem and an active community of developers contributing to the framework's growth. It offers numerous plugins and bundles that extend its functionalities, making it easier to integrate with other libraries and frameworks.
  • .NET also has a large ecosystem, supported by Microsoft and a vibrant community. It provides a wide range of tools, libraries, and frameworks for different development scenarios, such as ASP.NET for web development and Xamarin for mobile app development.

3. Development Approach:

  • Symfony follows an open-source philosophy, allowing developers to contribute to its core and build reusable components. It emphasizes convention over configuration, providing standardized practices for development, which helps in maintaining code readability and consistency.
  • .NET primarily relies on the Microsoft ecosystem and follows a more opinionated approach. It provides a unified development environment and promotes the use of Visual Studio as the primary IDE. It offers extensive tooling support for developers, making it easier to work with the framework.

4. Cross-Platform Compatibility:

  • Symfony is a PHP-based framework that runs on various web servers and supports multiple operating systems. It can be used on Windows, Linux, and macOS, making it highly versatile and accessible for developers across different platforms.
  • .NET is a versatile framework that supports cross-platform development through its .NET Core runtime. It allows developers to build applications that run on Windows, Linux, and macOS. Additionally, it provides seamless integration with cloud platforms like Microsoft Azure.

5. Performance and Scalability:

  • Symfony leverages PHP's performance enhancements and optimizations to ensure efficient execution of web applications. However, due to the nature of PHP, it may face scalability challenges for high-traffic applications compared to other compiled languages.
  • .NET, being a compiled language, offers better performance and scalability compared to PHP-based frameworks like Symfony. It utilizes Just-In-Time (JIT) compilation and provides a rich set of performance optimization tools, enabling developers to build highly scalable applications.

6. Learning Curve and Skillset:

  • Symfony requires knowledge of PHP and the understanding of Symfony's conventions, components, and best practices to develop applications effectively. It may have a steeper learning curve for beginners who are new to PHP and its related ecosystem.
  • .NET provides a more structured and guided learning experience for developers. It offers comprehensive documentation, tutorials, and a vast knowledge base, making it easier for developers to get started with the framework. Additionally, as it supports multiple languages, developers with prior experience in C# or other .NET languages can leverage their existing skills when working with .NET.

In summary, while Symfony is a PHP-based web application framework known for its flexibility and community-driven ecosystem, .NET is a multi-language framework supported by Microsoft, offering a unified development environment with better performance and scalability. The choice between the two frameworks depends on the specific requirements, skillset of the development team, and the target platform.

Advice on .NET and Symfony
Bogdan Pop
Needs advice
on
.NET.NETNode.jsNode.js
and
SpringSpring

Hello, I am trying to learn a backend framework besides Node.js. I am not sure what to pick between ASP.NET Core (C#) and Spring Boot (Java). Any advice, any suggestion is highly appreciated. I am planning to build only Web APIs (no desktop applications or something like that). One thing to mention is that I have no experience in Java or C#. I am trying to learn one of those 2 and stick to it.

UPDATE: The project I am trying to build is a SaaS using microservices that supports multi tenancy.

See more
Replies (3)
Dominik Liebler
Lead Software Engineer · | 9 upvotes · 62.6K views
Recommends

I'd recommend to learn Spring as it is very widespread in the industry and provides a lot of easy integration into most of the common backend tech stacks. Rather than learning Java you could look into Kotlin. It's a very consistent, stable and well-thought language in my opinion and not as verbose as Java. Many problems can be solved with Kotlin in a clear and elegant way while also always having the option to use data structures and libs in JVM. It is also has a very good support in Spring.

See more
Recommends

Why not pick Django or Flask (both Python)

See more
Lionel Cawood
Technical Team Lead at inTime Agile Logistics · | 3 upvotes · 32.7K views
Recommends

I have worked in a Spring environment for many years and I still love working with it. Super quick to get a base application running and get coding, thanks to Spring Boot's easy and straight forward integration with Tomcat. However, I will try and answer this question from another perspective: look at topics such as popularity of the language, average statistics on community contribution to their repositories and hiring availability from companies. If you are going down the API route for backend, leverege on your experience in the Node world by looking into ExpressJS (or even NestJS). The JavaScript world is really excellerating at a lightning speed, and I could recommend exploring those worlds a bit more, should it be a comfort level for you. However, my biased answer is tryout Java, followed by Spring afterwards. No disrespect to any .NET developers out there, as there are a few topics in there which are fantastically implemented.

See more
Quade Claxton
Needs advice
on
DjangoDjango
and
SymfonySymfony

Hi everyone! I'm starting a personal project that I've been postponing for a little while and I need a bit of advice. I thought that it will be a bit of a challenge but I figure the best way to learn is by doing!

The plan is to build an app with loads of automation build in for reporting which would make it very easy to perform tasks, The plan is to build something similar to an HR app using microservice architecture, separating services e.g. employee data, payroll (including calculations based on easily entered info like tax %), employee services (vacation, sick day allowance booking and tabulation) and automated reporting on a pre-defined schedule (bi-weekly, monthly).

I am considering Django (as I currently know a bit of Python) and Symfony (as a friend who is a developer recommended it) but I am well aware there are other (and probably better) tools out there for the job (like maybe ExpressJS/Node.js for the backend and React/Vue.js for the front).

Background:

I have got knowledge as a DevOps, Site Reliability and Cloud engineer so once the app is built I'm very comfortable taking it to deployment.

Thank you all for your help and responses.

See more
Replies (1)
Ibrahim Gunduz
Software Developer at PayU · | 2 upvotes · 51.4K views
Recommends

Hi. I guess it all depends on what your goal is. If you wanna make fast prototyping Django or ExpressJNodeJS might be really good candidates. You can write your services quickly and easily by using anyone of them. Maybe we can also put Laravel in the same category.

Symfony is also another application framework that comes with many reusable components. It provides great flexibility with the configuration and dependency management solutions. So that you can inject or override anything, anytime without doing something hack-ish. You don't have to depend on any components that come with the framework and, replace them with whatever you prefer unless encounter any integration issues. I can say that Laravel also provides most of the Symfony futures as it uses its components under the hood. However, my personal experience with Laravel was not so good because it made me feel like I use a modernized version of Codeigniter. But anyway. :) So if I have to choose one of them, I would choose Symfony.

From the backend perspective, all of those have some pros and cons. For example, If strict type declaration is important for you and you don't like code magics like monkey patching etc., maybe Python and NodeJS might not be good candidates and maybe you could choose Symfony/php. However, in this case, you'll be missed out on the most powerful future of NodeJS which is non-blocking io. if you plan to do IO-intensive works, I think it would be a big loss.

So, maybe I can recommend you to have a look at typescript + NestJS also. https://nestjs.com/ The futures that NestJS provides might be a good balance between the strengths of Symfony and NodeJS.

As I'm backend dev., I haven't work too many frontend projects but from my personal experience, I loved ReactJS more than Vue although Vue was simpler. Maybe a front-end developer can give us more helpful details about those.

Hope it helps.

See more
Abhi ram
Needs advice
on
.NET.NET
and
.NET Core.NET Core

Hey everyone, I am a backend developer who specializes in Java and Spring Boot having an experience of 4 years. And due to my shift in the project, now I need to deal with the .NET Core technology, as a Java developer before I need to know where to start in order to support the project and build REST API.

Can I get advice on how to move on to the new backend stack and what to learn and how to get hands-on with the .NET?

See more
Replies (3)
Aghogho Bernard
Lead Software Developer/Eng. at VOYD AB · | 7 upvotes · 33.8K views
Recommends
on
.NET.NET.NET Core.NET Core

IMHO I think it is the best framework to build software on. Since you are coming from Java, It should not be too difficult to adjust to C#. NET Core has come a long way. NET6 is just amazing. With the minimal API, https://docs.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-6.0 REST API should be very easy work for starters. When you settle in, you can go more advanced.

Although this is dated - https://download.microsoft.com/download/D/E/E/DEE91FC0-7AA9-4F6E-9FFA-8658AA0FA080/CSharp%20for%20Java%20Developers%20-%20Cheat%20Sheet.pdf it provides you side by side comparison of syntax. Another cool read is - https://betterprogramming.pub/java-to-c-c-to-java-f766c9f659c4

Feel free to reach out if you need any assistance.

Welcome aboard

See more
Jason Starr
.NET Developer at Performance Systems Development · | 4 upvotes · 30.4K views
Recommends
on
.NET.NET.NET Core.NET Core

You will find that the transition from Java to C# is pretty smooth. Working with .NET has become much more intuitive and has a lot to offer. I highly recommend using Visual Studio as your IDE. It makes things much easier and is not too different than other IDEs like IntelliJ. There are also Visual Studio templates for web APIs that make it really easy to get up and running. Microsoft has good documentation and tutorials to help you get familiar with the technology. I would start there.

See more
Recommends
on
.NET Core.NET Core

I would recommend that you become familiar with the C# language. J. Albahari's reference book is suitable for this. To learn rest api development, read Andrew Lock's book "Asp Net Core in Action"

See more
Aleyna ARSLAN
Entrepreneur at Oblong Digital Marketing & Ads · | 5 upvotes · 97.4K views
Needs advice
on
DjangoDjango
and
.NET.NET
in

Hi everyone, I have a new venture project, we do frontend development mainly with Tailwind CSS, JavaScript, CSS, HTML, and React. This project will run on a cloud platform and it will be a web platform with data analysis. At Backend, we can't decide which technology to continue with. We will necessarily use Python for data analysis and algorithms, but should the backend be written with Django or C# .NET, can I get your suggestions within the cloud platform? Price performance is our priority.

See more
Replies (2)
Miles Fawcett
Recommends
on
DjangoDjango

If you are already committed to Python for the data analysis then it would make sense to use Django for the framework and stick with Python throughout. In general the fewer technologies you use (unless there is real justification) will improve process and long term costs.

All things being equal the fact you would not have less (likely no) licensing costs with a Python based solution will overall reduce your long term costs.

See more
Recommends
on
DjangoDjango

If you will be doing data analysis and complex algorithms Django is best suited for this because of it' maturity and the huge communities providing lots of Python libraries for data analysis and more.

See more
Needs advice
on
DjangoDjango
and
.NET.NET

I'm working in a university in the IT department where they are developing web Apps with a .NET framework, and I'm starting a master course with python (python programming, ML, AI, NLP, and Django). My manager doesn't mind using any technology. Please guide me. Should I go to learn .NET with Django or stick with Django? What is the best for the future?

See more
Replies (2)
Lukas Batteau
Recommends
on
FastAPIFastAPIFlaskFlask
at

Since the course is in Python, a Python web framework seems like a logical choice. Django is a good option, but Flask and FastAPI are far more lightweight than Django, and great for quickly adding an API on top of your ML/NLP code. Django has its merits, especially the generated admin interface, but requires a lot of boilerplate code.

See more
Alvin Mites
Recommends

The one thing I wouldn't do is mix the two, different structures and ideas for how to do things

Taking a class in python already? I'd lean to Django Want to learn a language that will carry forward to a good paying job .net

Python is an excellent language, though it's often being replaced with things like go which uses a similar syntax

Over time you're going to learn many languages if you want to be a great programmer spend your time with one and dive deep, learn what makes it shine and what the draw backs are grow proficient with it and then consider learning something different so you can compare

Early on learning a single language at depth is more important than tinkering with several or learning any specific language

Good luck

See more
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 · 210.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
Decisions about .NET and Symfony
Danilo Polani
Senior Software Engineer at WeRoad · | 7 upvotes · 99.9K views

For a full-stack app or just simple APIs I'd go 100% with Laravel. You get a clean architecture, beautiful documentation and friendly and always growing community: the project is yours, from A to Z. With their docs and resources like Laracast you can start from zero and build what you want, when you want. The learning curve is definitely smaller when compared to Symfony and, with the help of a bit of "magic" (Facades etc.) you get the same results in the half of the time with cleaner code.

See more
Noe Osorio

Node Js have worked incredible great for me on every project I had. It is fast enough to support big and small apps, you do not have to worry about performance, because it is very capable of building a big REST API.

One advantage is that the learning curve is lower when you have used javascript on web browser as frontend, so, it is easy to migrate from Frontend to Backend with node.

Node Package Manager (NPM) has an incredible amount of packages from many developers, so you can use them on your project as you need them.

Code is easy to support, way different than Java Legacy code.

See more
Ing. Alvaro Rodríguez Scelza
Software Systems Engineer at Ripio · | 12 upvotes · 383.3K views

I was considering focusing on learning RoR and looking for a work that uses those techs.

After some investigation, I decided to stay with C# .NET:

  • It is more requested on job positions (7 to 1 in my personal searches average).

  • It's been around for longer.

  • it has better documentation and community.

  • One of Ruby advantages (its amazing community gems, that allows to quickly build parts of your systems by merely putting together third party components) gets quite complicated to use and maintain in huge applications, where building and reusing your own components may become a better approach.

  • Rail's front end support is starting to waver.

  • C# .NET code is far easier to understand, debug and maintain. Although certainly not easier to learn from scratch.

  • Though Rails has an excellent programming speed, C# tends to get the upper hand in long term projects.

I would avise to stick to rails when building small projects, and switching to C# for more long term ones.

Opinions are welcome!

See more
Ing. Alvaro Rodríguez Scelza
Software Systems Engineer at Ripio · | 9 upvotes · 507.1K views

Decided to change all my stack to microsoft technologies for they behave just great together. It is very easy to set up and deploy projects using visual studio and azure. Visual studio is also an amazing IDE, if not the best, when used for C#, it allows you to work in every aspect of your software.

Visual studio templates for ASP.NET MVC are the best I've found compared to django, rails, laravel, and others.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of .NET
Pros of Symfony
  • 272
    Tight integration with visual studio
  • 261
    Stable code
  • 190
    Great community
  • 182
    Reliable and strongly typed server side language.
  • 140
    Microsoft
  • 119
    Fantastic documentation
  • 89
    Great 3rd party libraries
  • 80
    Speedy
  • 71
    Great azure integration
  • 63
    Great support
  • 34
    Highly productive
  • 34
    Linq
  • 34
    C#
  • 31
    High Performance
  • 28
    Great programming languages (C#, VB)
  • 26
    Open source
  • 19
    Powerful Web application framework (ASP.NET MVC)
  • 16
    Fast
  • 16
    Clean markup with razor
  • 15
    Powerful ORM (EntityFramework)
  • 14
    Dependency injection
  • 10
    Visual studio + Resharper = <3
  • 10
    Constantly improving to keep up with new trends
  • 9
    High-Performance
  • 8
    TFS
  • 8
    Security
  • 7
    Job opportunities
  • 7
    Integrated and Reliable
  • 7
    Huge ecosystem and communities
  • 6
    Light-weight
  • 6
    Lovely
  • 5
    {get; set;}
  • 5
    Variations
  • 5
    Asynchrony
  • 4
    Scaffolding
  • 4
    Support and SImplicity
  • 4
    Default Debuging tools
  • 4
    Concurrent
  • 4
    Useful IoC
  • 4
    Entity framework
  • 3
    Nuget package manager
  • 3
    Blazor
  • 2
    F♯
  • 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
    Decoupled framework components
  • 10
    Robust
  • 10
    Easy to Learn
  • 8
    Good practices guideline
  • 8
    Service container
  • 8
    Bundle
  • 7
    Powerful
  • 7
    Simple
  • 6
    Flexible

Sign up to add or upvote prosMake informed product decisions

Cons of .NET
Cons of Symfony
  • 13
    C#
  • 12
    Too expensive to deploy and maintain
  • 8
    Microsoft dependable systems
  • 8
    Microsoft itself
  • 5
    Hard learning curve
  • 3
    Tight integration with visual studio
  • 3
    Not have a full fledged visual studio for linux
  • 1
    Microsoft itself 🤡🥲
  • 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

What is .NET?

.NET is a general purpose development platform. With .NET, you can use multiple languages, editors, and libraries to build native applications for web, mobile, desktop, gaming, and IoT for Windows, macOS, Linux, Android, and more.

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 .NET?
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 .NET?
What tools integrate with Symfony?

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

Blog Posts

Git.NETCloudBees+3
7
1115
What are some alternatives to .NET and Symfony?
ASP.NET
.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.
Java
Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
PHP
Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
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