DEV Community

Discussion on: I need help

Collapse
 
astriskit profile image
H S • Edited

First, as it is said that there is no one tool to fit all the use-cases. So, it should never hurt to know more than one tool/programming language; Albeit master both/all, if possible.

Next, it comes to if it is possible to do the full-stack in one language - the javascript has made it to the day with that goal achieved. And using web-assembly python and other languages are trying to achieve that too. But, in case if you envision to work in web-world, I suggest you to learn javascript and master it.

But again questions like - what is the budget and dev-market looks like, what kind of app(s) could be built, how to achieve performance as users, code, coders, team(s) and business(s) scale, how to achieve a certain feature in the system, what it takes to adapt to the changing consumer/business needs, etc. provides a more holistic view to the software development. And this also makes a programming language just another tool which is being used to meet specific process-constraints.

Probably, one of the best approaches for beginners in software development would be to master one or more languages while making things, contributing to production code-base and start to move level-upwards, i.e. towards Software Engineering in general.

In process, picking up tools with various use-cases attended, well or not-well achieved, to sort specific problem-constraints and keeping an eye on various performance issues. Adding more to the belt - understandings about delivery, quality and maintenance of softwares.

For next query of django vs some-js framework - Django is a mature framework with "all batteries included" as they say;

It allows to develop a web-application such that the back-end is written in python. And optionally, front-end using the templating system included with django or just writing REST based apis with it.

Including db-layer - django provides ORM layer with nice abstraction having model, view and controller. All this could be touched without leaving python code. And on the top - active open-source development of the framework adds good community support too.

So, while the django can do full-stack development, it also allows for decoupling frontend and do that using SPA built with react-js or VueJS or server-rendered express powered app.

Your current application might not need so much to start with - but you may include the django for learning or maturity/opinions/stability that comes with it or simply for the love of python.

One specific place that might need you to decouple frontend from django-system would be developing SPAs - although, I believe that it could be implemented with django too, if not already done by some-one in the python community, because at the end of the day SPAs are also combination of JS, CSS and HTML.

But the libraries like react-js or frameworks like VueJS might add different advantages such as with react - it provides for client-end performance out-of-box using virtual-dom (not that you are left to not bother about performance any-more, but it offers a good baseline with react-layer responsible for writing DOM, but coder providing what to draw and when).

Conclusively, it won't hurt if you learn Js, Python, django and react and could feel over-whelming and confusing. But, keep learning and making something out of it. I think you'll be fine. Take a deep breath and leap of faith with some amount of risk. I'm trying to do the same.

All the best.

Collapse
 
dev_nirosh profile image
Nirosh kumar.R • Edited

Loved the way you said this and it's so formative. And I decided to take a breath and gonna leap forward with faith. Thank u so much🌟