Need advice about which tool to choose?Ask the StackShare community!
.NET vs Symfony: What are the differences?
.NET: A free, cross-platform, open source developer platform for building many different types of applications. .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; 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.
.NET and Symfony can be primarily classified as "Frameworks (Full Stack)" tools.
"Tight integration with visual studio", "Stable code" and "Great community" are the key factors why developers consider .NET; whereas "Open source", "Php" and "Community" are the primary reasons why Symfony is favored.
.NET and Symfony are both open source tools. It seems that Symfony with 21.1K GitHub stars and 7.01K forks on GitHub has more adoption than .NET with 11.1K GitHub stars and 2.4K GitHub forks.
According to the StackShare community, .NET has a broader approval, being mentioned in 1566 company stacks & 239 developers stacks; compared to Symfony, which is listed in 374 company stacks and 277 developer stacks.
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?
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
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.
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.

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.

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.
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?
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.
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
I have to write an application for a Windows Server that either runs on a scheduled task or can run on a Windows server and triggered by a webhook. What other .NET project types or methods within a project can I do this with?
I know I could probably host an API on IIS on the Windows server and do it that way, but all my APIs are in Azure App service, and this has to integrate with the Windows desktop application.

What you mean integrate on "all my APIs are in Azure App service and this has to integrate with Windows desktop application.". Try to explain a little bit what's your requirements.
If you want to Read/Write a SQL DB on premises, you can use a Azure Gateway without deploy anything in your server, another choice with SQL Server is to move the DB to Azure (if supported). You can use the triggers on Azure Functions to write/read something on Azure Storage, from your Server you can read the storage and perform some tasks. As you can see there are multiple choice without writing much code on premises, try to clarify your requirements.
It all depends on your use case. You mentioning "scheduled task" appears you want to use a Worker Service
If you want to trigger your actions you can host a webapi, too.
Bottomline: Both use cases suffice your needs so your course depends on where you want to "control" your app ( set delay, maybe sometimes start the action manually ). WorkerService -> Config file on the host Api -> Configure from client
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.
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.
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.
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!
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.
Pros of .NET
- Tight integration with visual studio265
- Stable code253
- Great community181
- Reliable and strongly typed server side language.174
- Microsoft135
- Fantastic documentation111
- Great 3rd party libraries84
- Speedy74
- Great azure integration66
- Great support59
- Highly productive27
- Linq27
- C#26
- High Performance25
- Great programming languages (C#, VB)23
- Open source21
- Powerful Web application framework (ASP.NET MVC)16
- Clean markup with razor14
- Powerful ORM (EntityFramework)13
- Fast12
- Dependency injection10
- Constantly improving to keep up with new trends9
- Visual studio + Resharper = <39
- TFS7
- Job opportunities6
- Security6
- Integrated and Reliable6
- High-Performance6
- Huge ecosystem and communities5
- Light-weight5
- Variations4
- Lovely4
- Asynchrony3
- Concurrent3
- Useful IoC3
- {get; set;}3
- Entity framework3
- Scaffolding3
- Support and SImplicity3
- Default Debuging tools2
- Blazor1
- Nuget package manager1
Pros of Symfony
- Open source173
- Php146
- Dependency injection127
- Community127
- Professional120
- Doctrine78
- Organized72
- Modular architecture68
- Smart programming45
- Solid42
- Documentation18
- LTS releases14
- Easy to Learn9
- Robust9
- Decoupled framework components9
- Bundle8
- Good practices guideline8
- Service container8
- Simple7
- Powerful6
- Flexible4
Sign up to add or upvote prosMake informed product decisions
Cons of .NET
- C#11
- Too expensive to deploy and maintain11
- Microsoft dependable systems7
- Microsoft itself7
- Hard learning curve4
- Tight integration with visual studio2
- Not have a full fledged visual studio for linux1
Cons of Symfony
- Too many dependency9
- Lot of config files7
- YMAL4
- Feature creep2
- Bloated1