I finished a full-stack web development course on MEBN stack:
- Mongo, ExpressJS, BootStrap, Node.js
I learned how to create a simple blog and styling and I also figured that you can use the same techniques methods for creating other things as well such as:
But I’m a little concerned because there billions of things out there in Web Development and to be honest I’m a fanatic of Python, I don’t know why, I just like the simplicity of that scripting language.
And also I have understood that all frameworks and libraries work exactly the same,
only the syntax is different
I’m aiming to become a Full Stack Web Cross-Platform Developer and I’m thinking about this Full Stack Web Developer route:
- ReactJS, ReactJS Native, BootStrap 4, Python Django
But still I have my doubts because I also know that AngularJS and VueJS are also very good to learn and I do not know the differences and there also billions of solutions for Cross Platform
What should I do?
Because it seems when you are going somewhere, there are many times that you can get lost.
A wise person once told me that you should view each programming language/framework as a hammer and each problem as a nail.
Frameworks and languages are just tools that are part of our arsenal of tool kits. It does not matter which tool you use but how you use them to make the end product. The big chunk of what people are paying you is being able to solve problems using the knowledge of tools you process, not how it’s done.
If you want to stand out start building things and implementing ideas, maybe join a hackathon and see what kind of business problems are out there you can learn to solve. It’s better to stick to one thing to show how you are able to solve problems with code then knowing the syntax of 100 different tools but not knowing how to apply them.
Normally the process is identifying what needs to be done , then deciding how is going to be done.
What you seem to be feeling is a pretty common sentiment among developers. How do I know I’m learning/using the right languages/frameworks/libraries/tools? Is this one better or that one? There are so many choices, and they seem to rise and fall in popularity.
First of all, good job actually taking the time to learn a certain stack. One of the least productive things you can do is bounce from learning one technology to another on a weekly/daily/hourly basis based on what catches your interest.
Secondly, if web development is going to be your focus, you should know vanilla HTML, CSS, and JS. Period. Even if you want to focus on the back end more you should have at least a basic understanding of these three. The reason is two-fold:
- These are the only three languages that will actually run in a browser (not counting web assembly which is still relatively new and unused).
- These languages aren’t going to go out of style or become unmaintained. They’re development is highly standardized and supported by groups of experts from different major tech companies and other organizations.
Basically these three will be here for the long run, and they’re at the foundation of web development.
Beyond that, what is a “good” stack to learn is going to vary a lot on what you want to focus on and what’s in demand in your area.
Here’s my two cents on the specific technologies you’ve listed. A lot of people seem to like node because they can use the same language for the front and back end, and because it’s async nature is helpful when running on a server. Bootstrap is also pretty popular, though I personally am not a big fan of it. Haven’t used express, though it seems to be the default framework people talk about when referring to a node server. I have hesitations about Mongo’s NoSql nature as in my experience most companies/people use sql driven databases. That being said, Mongo has generated a lot of hype the last couple years.
I really like what you said “hammers and nails”.
Yes it’s true everything is used for different things.
You want to program a mechanism? Learn C or Assembly.
You want to develop a software that will be cross platform in all OSes? Learn C++/Java
I guess I’ll have to do my own research and make my own conclusions.
I am also concerned about Mongo but still it has its own uses as well such as it can use and connect to JSON APIs very easily and they use them for big data as well.
On the other hand I prefer to have Relationships in DBs instead of Nested Routes.
SQL makes things much more simpler like for example with a simple query you can combine tables or instantly see the activity of a user as long as the SQL structure is correct.
In the end I have to do my own research.
About the core languages: HTML5, CSS3, JS6
Yes it’s true without them, I cannot do anything, also php is a huge plus for CMS.
My only concern is Browser Backwards compatibility. I’ll have to stop thinking about and be concerned about old machines using Internet Explorer. There are many things that old browsers don’t use.
Can someone please tell me some advantages of both Python Django and Node.js?
I’ve never heard of the MEBN stack before, but the MEAN (Angular) and MERN (React) stack are fairly common.
To be honest, the choice of CSS framework is fairly trivial. They all work in a fairly similiar way, and if you learn one, you can use any of them. That said, its is much more valuable to develop your native CSS or Sass skills.
As for the backend, if you are doing web development then Node is everywhere. Python is very little used for web development, in my experience, although it is heavily used in other areas of software development.
I highly recommend taking a look at the Stack Overflow map of correlated technologies. This should help you to keep your studying focused: