Needs advice

As a medium level .Net programmer trying to implementing a website, I decided to go through the Asp.Net Core. I found some tutorials on the web and started learning; however, I faced a problem. Even though I have been working with .Net and C# (mostly with unity game engine, which led to a quite amazing mobile game, published on a Persian app store) for two years or even more, by start learning Asp.Net Core, I found out that I do not know .Net as much as I expected. There were some things I should have learned before.

I searched for other frameworks, and Django was a popular one. Besides, I have planned to learn Python for machine learning. The website I want to make (with a small team) is nearly similar to Khan Academy. (We are going to use React for front-end)

So, What should I do? Continue working on .Net core with its amazing new features, or start getting into the Python and Django?

Your advice accompanied by reasons will be greatly appreciated!

9 upvotes·398.3K views
Replies (6)

I recommend you use a framework such as Firebase instead of implementing your own backend server for the website.

I found that Firebase enables me to build websites more quickly since it takes care of the backend for me so most of my development time is building the front-end (using React in your case).

3 upvotes·380.6K views

Having worked with many J2EE database applications in the past, I now turn to Django if I can and the project allows it as it is so quick to get up and running. It has a logical workflow and organized structure and it comes with a high level of security (if you import the appropriate backends). If you are wanting to incorporate python-based data processing (or cython), it is relatively easy to write a backend plugin. I have found it more stable with updates than other frameworks (particularly compared to the NPM world such as React which so often descends into dependency hell when a version of something is updated). One hassle worth mentioning is the database migrations support which can sometimes mess up during development but there are workarounds. With a React frontend, you would be using the Django REST Framework ( so you may find that you have to overwrite a lot of the methods here as the defaults are fairly basic CRUD operations which don't really support nested relationships very well. I don't have any experience with .Net so I can't give a comparison except of course, the obvious one, portability, as Python is platform-independent. PS, I would recommend Vue over React also for a well organized front-end.

10 upvotes·384.4K views
View all (6)
Avatar of Richard Barella