Is Express.js necessary in learning Node.js? - node.js

Most books on Node.js have Express.js sections. Most Node tutorials I've seen are about web development with Node and Express. So, is the knowledge of Express required for a deep understanding of Node?

No, It isn't,
ExpressJs is framework build on top of nodejs, as they are many framework in different programming language it is the same for Javascript in the backend side.
Here is some of example of Framework
Loopback
Sails.js
Koa
Express
In the nodejs world ExpressJS is the popular one, so in many books it's normal to talk about It, as Javascript was firstly build for the web.
But NodeJS can be use for so many kind of application like
Data Streaming Apps
Server-Side Proxy
Big Data Analytics
Wireless Connectivity
System Monitoring Dashboard
Chatbots
And other many sort of application.
In the web world ExpressJS is the popular one.
So you don't have to learn ExpressJS to deep undestand nodejs. And you don't have to learn it if you would not build web application or API. You can also rely packages shiped with nodejs to build any sort of application even web application but it will take you more time than using existing package.]
You can search for any sort of package at NPM

no, a framework is never necessary to learn the language but the opposite, Learning the language is absolutely necessary to learn the framework.
According to express.js: "Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications." thats all.

Related

How should I go about creating a web app using node.js

I was using flask with python, but I want to develope with node.js because of the libraries, and syntax of javascript, but I am having trouble with finding any good resources for my level
I found Vuejs to be a good framework with plenty of tutorials and a good learning curve. This is good to build a web app.
If you want a simple server to respond to http requests, I'd suggest expressjs
A mix of the two is good for a micro service architecture.

Django vs Node(Express) vs Flask for RESTful API with high security and real-time

I have a few questions regarding some popular web frameworks. I can find pros and cons about all the frameworks, but which fits best regarding theese criteria:
The website needs to be as secure as possible. It will need a lot of real-time feautures, an own mobile app (native or hybrid, with notifications) and the application will also run a lot of background processes.
Django has some nice security features included, but suits bad for mobile development. The solution is then probably making a completely RESTful API tougheter with Angular and Ionic, but doesn't you loose most of Django's built in security solutions? Will it then be just as safe using a Node framework like Express, and manually escape user input, and manually prevent database injection? Will a good user authentication system then be equal as much work?
In addition, will it be painful to mix synchronous and asynchronous programing using Django channels to implement websockets and real-time features. I don't have any experience using Django channels, but I really likes the simplicity of Socket IO together with Express. Even if it can be challenging to program asynchronous in a Node environment, will it be just as hard using Django channels at the end? And since Django is a full framework, will you after a while have to rewrite a lot of the inbuilt classes and functions? Is it still easier than using Flask with Flask SocketIo? Will it be a good idea to use Python for background jobs beside the Node environment?
I know there already exists enough framework vs framework questions, but i would appreciate any advice and experiences.
Just go ahead and use the socketio in node or flask it is much more adviceable than using the socketio libary in Django.

What Is the most popular combination of technologies used to building Reactjs web apps

I'm mid PHP/Laravel developer with some exp in jQuery and Vue.js
I want to start self-learning in reactive JS frameworks (for example ReactJS), because I see is the near future in web development.
I checked the [React + redux] is the most popular technology working on browser side, but what about back-end ?
Secured API to PHP/MySQL? or maybe run apps directly on NodeJS server ? if nodejs env. then where will be storing the data ? SQL? NoSQL?
Tell me please what back-end stack is the most popular? or what stack is the near future ?
What about PWA with ReactJS ?
Thank You!
In my experience node.js is more popular for startups and makes it easy to work with since its all javascript.
Java and C# tend to be popular in large enterprise companies
SQL systems, such as MYSQL and PSQL are by and far the most popular options for both small and large companies.
SQL systems such as, Oracle and Microsoft SQL server, are the most popular in extremely large companies.
MongoDB is the most popular NoSQL db but its not used as often in production.
PHP as a server side language is used in about 80% of websites, but that is mostly because of wordpress, I have personally never seen a React frontend being implemented with a PHP backend.
Django and flask are popular python server frameworks but I find them to be popular with AngularJS( the original angular not angular 2+) not React.
The most common stack Ive seen is React, Redux, Express, PSQL, AWS.
https://w3techs.com/technologies/overview/programming_language/all
https://db-engines.com/en/ranking
Hi with my previous experience
ReactJs + Redux + fire base
this is very good technical combination you can use
reactJs , redux , meterilaUI,Sementic UI,ant design for front end.
and fire base can easily connected with your application.
advantage of this architecture the app will real time data application , no end point integration , quickly development , easy to authenticate
sample project
ReactJs + Redux + REST + Spring-boot in this project back end service developed using java spring-boot and it possible for connect any relational data bases such as Oracle , MYSql, NoSql , even any kind of Data bases using Spting-Data-JPA or Hibernate , JPA.
But authentication and state management not much easy. need to implement JWT to any state management method because REST is stateless.
advantage is good for micro services architecture , easy to build react app inside spring boot (packaging as .jar .war) and deployee j2EE server.
sample project
i have already developed project based on these 2 technologies stacks both are worked as my different requirements.

Which NodeJS frameworks are suitable to build a complete backend for a Nativescript app (JS-based)?

I am now building a native mobile application in Nativescript, leveraging my JS knowledge.
So, I though to switch to some other Nodejs framework.
My app's backend requirements will be:
pure JS
complete backend logic (i.e. controller)
connect to a MongoDB database
RESTful
non-frontend-dependent
non-DOM-dependent
easy-yet-complete to use: should be a framework which gives strong foundations to make a solid and efficient backend for a (relatively) inexperienced backend developer (except for Java basics and experience with pure PHP)
I was considering using my existing knowledge of Meteor but I can't implement any existing experiment of using ddp and websockets in it.
Some of the possibilities I was considering to give a try to:
Loopback
Total.js
Hapi.js
Sail.js
I am fine with any JS-based framework, whether it's NodeJS based or not
I am also open to a REST API solution which exposes Meteor backend, as long as is doesn't require ddp to be usable (it's not very clear to me what are the limits of non using DDP when using Meteor)
Any concrete advice, which would eventually avoid me trying all of them, before discovering they don't work with Nativescript or don't satisfy my requirements?
SailsJs is a wrapper around express.js with many add-ons and shortcuts that eases your life and shortens the code required to write, and it's very much suitable to write RESTful apps.
HAPI and Total, I didn't use them myself, but there are very good reviews about them, but when it comes to Sails, it's the highest in popularity, hence, better tested and used, which leads to a more mature framework over the time.
Loopback is good, but it requires payment at some point of usage, and still Sails is more popular.
Meteor.js is great, but it's not the right tool for that job, and it might take you more effort to make it as an easy to use RESTful framework, not to mention the un-needed memory and processing overhead, which has it's uses, but not in RESTful case. I tried to use it to write RESTful apps but didn't feel the ease and the low memory footprint as I experienced with express and Sails.
Update
Sails has clear and easy to use MVC style, with a command line to generate apis, configure-and-fine-tune-later APIs style, which is very much needed in prototyping and PoC applications, as well as short time to market.
Update 2
Sails ORM supports both SQL and NoSQL DBs, with dozen of supported drivers out there

Can expressjs be learnt without learning nodejs

I've background in java swing programming with basic working knowledge of spring, javascript, angularjs, http.
I want to learn web server side programming using express js. Will i need to first learn nodejs and then be able to use expressjs or starting express js directly will be possible?
I'm planning on creating rest apis using express and then consuming them with angular js.
I will like to answer this question based on your past experience. Can you learn Java Swing framework without learning Java? No you can't. because you should understand concepts of Java to best use the Swing package. Similarly, you should understand the concepts of Javascript and Node.js to best understand Express Framework.
I would suggest you to start with a small project of setting up a server using express and node.js. And dig deep into node concepts whereever you face problems.

Resources