+ 16

What are pros and cons of using Node.js?

Hello, I am in love with JavaScript but I struggle at CSS making me hate front end development, I was wondering if I become a back end developer in JavaScript (node.js mongodb express etc) instead of django(python) or ruby,phpetc will it be fine I mean is node JS good for back end? People say it's faster than Python but it is not recommended for large amount of data...just I need to know if I become expert in JS backend will I have job opportunities?

22nd Jan 2019, 8:21 AM
Minggan
28 Answers
+ 24
Yes you will have a job perhaps a good job. JavaScript is a trendy language and it will make you marketable. My suggestions as follow, as a programmer, you must be prepared to learn plenty things, new things. The world is gradually moving towards fullstack development meaning backend and frontend except in large organizations. No matter who you are or what you do, it is good to have basic idea of html and css to be able to lay basic pages, design simple pages even if you are not expert but the basic idea. It is good to learn NodeJS of course it powerful, easy and fast owing to it non blocking input/output model, but you can't have one skill and call yourself expert. Look into other things as well but master one or two. I hope this helps...
22nd Jan 2019, 9:21 AM
africana
africana - avatar
+ 19
When people say learn JS or when you say I am a JS developer, it doesn't mean pure/vanilla JS is all you have to worry about, or basics of JS. It means learn JS and everything in-between. It means learn. 1. JS basics 2. JS intermediate 3. Objected oriented JS 4. ES6 or JS2015 5. Functional JS 6. Popular framework: Angular, Vue, React 7. Possibly mobile framework as well. 8. You also want to look into TypeScript which is a superset of JS. 9. Read anything JS. 10. On the backend learn and master how to connect to database both SQL & NoSQL using both SQL and ORM. 11. Build real life projects. 12. Practice, practise && practice.
22nd Jan 2019, 1:23 PM
africana
africana - avatar
+ 10
No I don't mind and I will be more than willing to help. Let me begin by saying this. JS is a probably simple language to learn but difficult to master, if you think you are good at JS you might need to consider higher order functions and many things related. I will write out all you need in that regard in the next post. JS is the last language I want to pride expert in even though I know it. To become a fullstack developer takes more than imagined on the surface.
22nd Jan 2019, 4:28 PM
africana
africana - avatar
+ 8
From your first question you said you are struggling with CSS which makes you hate front end development, although css technically is not included in development aspect of the front end but the design aspect except in few cases but either way you should not hate it, give time to learn it and be patient with it VERY patient, after a while of learning and using, you will find it become natural and easy. Let me tell you this, I also don't like laying pages, writing markup (html), but I forced myself to it, you know what users of your application don't know anything about how well or poor your code is written at first they want to see a beautiful page, beautiful application before looking at it functionality, you could write an entire application in html and JS which will work just fine, but it will be bad and ugly. So please begin to love CSS like your computer you need it, it also needs you...
22nd Jan 2019, 5:04 PM
africana
africana - avatar
+ 8
Here are other things to master in JS, when you have known and understood this, you can bill yourself safe. 1. Scope - global scope function scope no block level scope es6 let and const keywords 2. Hoisting - variable and function declarations moved to the top variable initialisation function expressions 3 this keyword rules to determine this call() apply() bind () new keyword 4 closure and IIFE immediately invoked function expressions module patterns 5. New operator and constructor functions user defined types A function called with the new keyword object without classes constructor function assigned to a variable 6. Prototypes and inheritance no class based in heritance inheritance is through prototype chain __proto__ of an object Prototype of a function Object.create Object.assign Objects linked to other objects 7. Functional programming pure functions function composition Function currying higher-order functions map, filter and reduce
22nd Jan 2019, 5:37 PM
africana
africana - avatar
+ 8
8 Asynchronous JavaScript event loop asynchronous single threaded callbacks promises and async- await I know all of these things could be scary but don't be, within a good period of time you could have them all covered. I hope this helps...
22nd Jan 2019, 5:40 PM
africana
africana - avatar
+ 7
Without doubt but with certainty, you can make a full perhaps lifetime living on JS only either frontend or backend or both which is also called fullstack, but beyond that, mobile development equally goes well with web tech. Html, css and JS. What more JS is also beginning to trend in machine learning with libraries like TensorFlow and others. I will only say know basic, html and css to enhance yourself. For Jobs, don't worry you will get enough you only need to be good and I believe you will be...
22nd Jan 2019, 1:17 PM
africana
africana - avatar
+ 7
To answer your question do you need to be an expert in html and css to be a fullstack developer. Let me explain like this. The Backend: The backend is pretty straightforward it has to do with client side code and business or application logic, connection to database, storing, retrieving and updating data and of course deleting data if need be. Front end consists of two things the web design and web development. It is the web design aspect that determines the aesthetics of your page how beautiful and intuitive it is, let me say the empty website template with no functionality whatsoever maybe little JS at the most. The web development aspect is the real front-end matter which has to do with using JS either vanilla JS or via framework to connect with with the server using http request and to build all client side logic and manipulation Now in answering in full, as a full stack developer you don't need to be an expert web designer but a basic knowledge of html and css will be more than necessary.
22nd Jan 2019, 4:40 PM
africana
africana - avatar
+ 7
Full stack developer means you did everything yourself front to back, if you are creating line of business applications then you don't need the most modern web template design, I am not saying it is bad but it is not the most important. Using any of these frontend frameworks like Bootstrap which you already mentioned will make your work faster after all that is what they are meant for, materialize or materialCSS is another one, there is Bulma and foundation as well. But Bootstrap and Materialize seem to be the present front runner. So these can help you. As a full stack developer you must have basic design knowledge understanding basic html tags and how they are styled by css. Someone with zero knowledge of basic html and css, won't qualify for a full stack developer.
22nd Jan 2019, 4:47 PM
africana
africana - avatar
+ 7
You are not an idiot, and you are certainly not wrong. Only that you don't understand and you need clarification am not tired of explaining either. And yes all that you said is right but not only frontend developers but also backend developers needs to have basic idea of html and css, but the frontend developer needs it more. I have seen the Udemy course and I will say it is more than perfect. If you can learn and master everything there then you are good to go. You said it was free but I didn't see it so, its actually paid. Either way its nice, complete and perfect if you can follow along and do everything in it. After which you can create something distinct and unique of your own pure idea after this my friend with your knowledge of JS you can call yourself a frontend developer...
22nd Jan 2019, 8:27 PM
africana
africana - avatar
+ 6
The one thing which I have a different opinion from is the text editor in the course it said Bracket Text editor. Bracket Text editor is fine, but Visual Studio Code in my opinion is better, though this is just my opinion use what works best for you, however majority of the developers community have moved to VS Code. You can check and try it, you will love it. Feel free to contact me for further things. Regards...
22nd Jan 2019, 8:42 PM
africana
africana - avatar
+ 5
every single website mobile apps like instagram popular ui base website you can see on internet is all because of javascript there was time javascript is confine for web devlopmnt only but its now powerful for cross platform mobile app developmnt thanks to react native from facebook start learning js and react js library build your dream apps šŸ‘
22nd Jan 2019, 12:41 PM
Danielov
Danielov - avatar
+ 4
Sorry I have changed the answer the link you sent me is complete and comprehensive enough as regards html and css that course is perfect ok.
22nd Jan 2019, 8:39 PM
africana
africana - avatar
+ 4
You are welcome...
22nd Jan 2019, 9:00 PM
africana
africana - avatar
+ 3
thnx Anjum and evy šŸ‘šŸ»
25th Jan 2019, 12:18 PM
Minggan
+ 3
Node.JS, just like PHP provides a bridge between client and Server in order to communicate with the Website. With 20 years of experience, I am also experienced in Web Development as well too.
27th Jan 2019, 5:38 PM
Apple Blossom
Apple Blossom - avatar
+ 2
Thank you very much u are the nicest and most helpful person ever god bless u, and if u wont mind i have this " https://www.udemy.com/in-depth-html-css-course-build-responsive-websites/ "its a udemy course i took it and learnt through it (for free :v) and i am curious that is it enough or not for Css and html basic(if u can look through it). and about javascript thank you very much i took another course of this guy that had all of these javascript covered so basically i am ready for it :P.(learnt js before css and html) also, this means that front end developer should know basics of them(including Sass and bootstrap) but just fluent be in JS, react/angular etc right? i mean this much that this guy explained is enough? if i am wrong, please dont mind me i am kinda idiot :), and sorry in advance. once again thank you very much ur the best !
22nd Jan 2019, 8:03 PM
Minggan
+ 2
If you are looking for a one particular language to mastering into it then surely you will get but always remember every language and technology has some pros and cons and the most important statement. "technology doesn't build a great app but it is the developers who takes the technology and build a great app." Good luck
25th Jan 2019, 11:37 AM
Saud Anjum
+ 2
not every programmer are bad coder or dumb or lazy or uninteresting in specific language its the instructor and the knowledge you consume try to go throught many source you can will gain different way of coding style and way that explain easy grab your prefered style and learn from what they explain beacuz every instructor has thier own way of explaining its becuz they do thier own research of language and explain in simple and understanding way they can you also do the same more you code more you solve more you get interested to the language and solving problem is the best joyful thing about coding happy coding!
27th Jan 2019, 1:29 AM
Danielov
Danielov - avatar
+ 2
odk why i give the advice but hope you guys motivated if dont pls dont mind
27th Jan 2019, 1:30 AM
Danielov
Danielov - avatar