What are pros and cons of using Node.js?
1/22/2019 8:21:58 AMMinggan
29 AnswersNew Answer
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.
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.
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...
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
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...
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.
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.
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...
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...
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.
You are welcome...
thnx Anjum and evy 👍🏻
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.
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
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!